サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大そうじへの備え
smellman.hatenablog.com
クソが! というわけで、Mapbox GL JSが2.0よりオープンソース・ソフトウェアではなくなりました。 github.com Mapbox SDK for iOSで起きたことがJavascriptでも発生したという感じです。 何が変わるの? mapbox.accessToken にアクセストークン(public access token)を埋め込まないといけなくなります。 以下のようなコードを試してみましょう。 <script> mapboxgl.accessToken = undefined var map = new mapboxgl.Map({ container: 'map', style: 'https://tile.openstreetmap.jp/styles/osm-bright-ja/style.json', center: [140, 35], zoom: 8 }
静岡県が公開している点群データの中で掛川城のデータを3D TilesにしてCesiumで表示できるようにしてみました。 Kakegawa Castle on Cesium 今回は実際に行った処理について解説してみます。 利用するツール lastools entwine ept-tools CesiumJS 点群データのマージ まずは掛川城オープンデータ化プロジェクト(執筆時に何故か静岡県のサイトから反応がないためG空間情報センターの方にリンクを貼っています)をすべてファイルをダウンロードします。 点群データ(lasファイル)のタイル化自体はentwine及びept-toolsで行いますが、entwineで複数ファイルを読んだ場合と一つのファイルにしてから読んだ場合では後者の方がまともなデータになるので、ひと手間加えて24個のファイルを一つのデータにまとめます。 lasファイルをまとめるには
昨日づけで自分で持っていたいろんなタスクが終わり、一段落してザ・ノンフィクションを見たらタイトル画面がphaとkumagaiさんのツーショットで爆笑しました。 まぁ、ちょっと振り返りをしてみたいと思います。 FOSS4G 2019 Niigata (2019/9/13-14) こちらはスタッフ参加及び国連ベクトルタイルツールキットのハンズオンの手伝いをしにいきました。 1日目の国連ベクトルタイルツールキットハンズオンでは主に止まってしまった参加者のサポートを行うという感じでした。 国連ベクトルタイルツールキット自身はdockerを使って各種地理情報の変換やベクトルタイル化をamd64やarm/v7をプラットフォームとして使えるようにしたもの(unvt/rasv)で、さらに FOSS4G 2019 Niigata では ango という名前でハンズオンに使えるデータやホスティングプログラムを
このたび、「React Native+Expoではじめるスマホアプリ開発 ~JavaScriptによるアプリ構築の実際~」という本をマイナビ出版から出版することになりました。 React Native+Expoではじめるスマホアプリ開発 ~JavaScriptによるアプリ構築の実際~ 作者: 松澤太郎出版社/メーカー: マイナビ出版発売日: 2018/08/29メディア: 単行本(ソフトカバー)この商品を含むブログを見る いままで2冊ほどFirefoxに関する本を共著でオライリー・ジャパンさんから出版させていただいてますが、今回は初の単著となります。 単著です...まじで大変でした。 事の発端は今年のOSC2018 Tokyo/Spring にてOpenStreetMapのブースで出店していたのですが、そこにひさびさにマイナビ出版の西田さんと会いました。 西田さんとは長い付き合いで、もとも
schemaspyを使ってRailsのDBの資料が簡単に作れたのでネタにしてみます。 github.com 用意するもの docker-compose 環境なんですが、これは Mac上で Graphviz が落ちるというのを回避するためにやっています。 まず docker-compose.yml を用意 version: '3' volumes: pgdata: services: db: image: "mdillon/postgis:9.6" volumes: - pgdata:/var/lib/postgresql/data - .:/mydata ports: - "5432:5432" schemaspy: image: "schemaspy/schemaspy:snapshot" volumes: - ./schemaspy:/output depends_on: - db 自
本記事はOpenStreetMap Advent Calendar 2017の12月10日付けの記事となります。 昨年からosm2vectortilesを検証しだし、今年はOpenMapTilesによる検証及び実運用を進めていたので、とりあえずこの界隈をまとめようと思います。 ただ、主な内容はOpenStreetMapのMapbox Vector Tileを作ってみた その2 、あとスタイルの編集とかフォントとかからあまり変わっては居ません。 まず、今回取り扱うプログラムの簡単な説明をしたいと思います。 OpenMapTiles OpenStreetMapのデータからMapbox Vector Tileを生成するためのプログラム群 Tileserver-GL Mapbox Vector Tileの配信用サーバ兼レンダリングサーバ Maputnik Mapbox-GL Styleのエディタ
仕事で一人プロジェクト(開発/コンサルティング)の時にはMarkdownとpandocでお客さん向けのPDFを作っていたんですが、デフォルトのテンプレートだとプログラムやシェルの動作などを記載したときにPDFではtext wrapが動かなくて特にシェルなんかは複数行に改行したり工夫していました。ただ、これをやっていくと精神がガリガリ削られてしまいます。 また、出力したPDFもちょっと格好悪いので使えそうなテーマを探してみました。 User contributed templates · jgm/pandoc Wiki · GitHub 今回は次のテンプレートが良さそうなので使ってみたというお話です。 GitHub - Wandmalfarbe/pandoc-latex-template: A pandoc LaTeX template to convert markdown files t
地図エンジニア歴がバイトを除いてそろそろ五年になるので、地図エンジニア死亡かるたを考えてみる。 なお、かるたってよくわからないので適当にあいうえお順で書いてみる。 あ: ArcGISは触ったことがないのに質問される い: 伊能忠敬をそんなに知らない う: 海の上に出て来るマーカー え: 絵心がなくビジュアライゼーションを諦める お: OpenLayers2 か: 漢字が読めない地名 き: 汚い図面 く: 苦しい修正仕様 け: 険しい3Dへの道 こ: 小受けが逃亡 さ: 殺意を覚える仕様書とスケジュール し: 4月に案件がない す: スケジュールがなぞの前倒し(お客さん都合) せ: Sal◯sf◯rceに案件を持ってかれる そ: SOAP た: だいたいデータ量が多い ち: 地図がそもそも読めない つ: ツイッターで質問しても誰もわからない て: 転送量の計算ミスで死ぬ と: トイレのマッピ
昨年12月にOpenStreetMapのMapbox Vector Tileを作ってみたというタイトルの記事を書きましたが、その時扱っていたosm2vectortilesが終了*1となり、現在はopenmaptilesという存在になりました。 openmaptiles自体はosm2vectortilesと同様にDockerを使ったタイルのビルド方法の提供などをしていますが、openmaptiles.comの方では非商用向けにフリーのタイル配信(githubなどからアクセストークンの取得が必要)や、月40ドルでのタイル配信サービスの提供していたり、iOS/Androidアプリのソースコードの販売などを行っています。 今回はopenmaptilesを使ってMapbox Vector Tileの作成と、Maputnikを使ったスタイルの編集や、既存のスタイルにM+とIPAの合成フォントを使ってみ
smellman.hatenablog.com この記事にあるosm2vectortilesは古いため、Dockerのインストール方法以外は新しい記事を参考にしてください。 OpenStreetMap Advent Calendar 2016 3日目の記事です。 今回はOpenStreetMapのデータを使ってMapbox Vector Tileを自分で作ってみることに挑戦してみました。 対象となる環境はUbuntu 16.10をインストールしているThinkpad X220です。スペックは以下の通りです。 CPU Intel(R) Core(TM) i5-2540M CPU @ 2.60GHz (物理2コア/論理4コア) Memory 16GB Storage SSD 240GB なお、このマシンは本体と換装パーツ込で33000円ぐらいで揃えたものです*1 さて、余談はよいとして、Map
さっきiCloudカレンダーにspamの予定が大量に突っ込まれた。 内容はこんな感じ。 たぶん怪しいサイトへのリンクと、参加通知をすることで相手のアドレスを調べるのを目的としてると思われる。 とりあえずそのまま削除をしようとするとこのようになって削除できない。 どうやら通知自体が必須となってしまっている模様。 なので、とりあえず通知無しで削除する方法を調べていたら以下のサイトに方法が書いてあった。 https://discussions.apple.com/thread/7637683?start=0&tstart=0 I've been getting spam invites as well. It's a workaround, but I got rid of it by creating a new iCloud calendar, moved the invite to tha
タイトルとおりです。 Electron + sqlite3 for windows これは、配布されているnode.jsとElectronに入ってるnodeが違うので、Electron用にビルドをし直す必要があるんだけど、本来なら electron-rebuild で動くと思ったんだけど、 node_modules/sqlite3/lib/bindings/electron-0.36.4-win32-ia32 とかいうディレクトリになってしまって not found になってしまうので、自力でビルドしてみたのをバッチファイルにしてみた。 バッチファイルはnodeのバージョンとかアーキテクチャが決め打ちなので、47とかいう数字は各自の環境に置き換えてほしい。たぶんnode-sqlite3入れた時と同じディレクトリになるようにすればいいかと思う。ia32の環境でx64でビルドしたいとかいうパタ
どうも、生きてます。 今回はFOSS4G Advent Calendar 2015 (1個目)の最後となる記事です。 今回書く内容はタイトルどおり、いまさらだけど地図タイルについていろいろ解説して実際に実装をしてみようというものになっています。 地図エンジニアで無い人でも興味を持っていただき、沼感を感じていただけたらと思います。 なお、先に書いておくと精度とかそういう話はほっておいてるので非常に雑です。 地図タイルって何? まずは基本となる地図タイルについてご紹介します。 そもそも地図を使ったクライアントソフトウェアとしては古くからGIS(Geographic Information System)という種類のソフトが多く開発されていました。 私も大学生の時に留年して半年間休学していた間だけとある地図会社でアルバイトで実際にVisual BasicでGISの開発をしていました。 2002年
本日の仕事が終わりまして、営業日的には次が6/1なので、丁度本日で入社まる三年が経ったことになりました。 昨日今日の仕事は20万件ぐらいのエクセルファイルを目でチェックしたり、ansibleのソースコードを探求したり、相変わらず「お前何やってるの」状態でありました。 先日、記憶がなくなるぐらい泥酔して気づいたら 最近の話 - smellman's Broken Diary とかいうタイトルで記事を書いてしまったのでまぁ最近の事は書いてあるわけですが、とりあえずこの三年の活動を振り返ってみようと思います。 一年目、まだ入社ばかりのころは「これから地理空間情報系をやっていくんだ」という気持ちを高めていたのですが、最初の仕事はなぜかお客さんがその手の実装をやってしまっていて、APIにアクセスするだけのiOSアプリの開発という微妙な仕事を担当しました。正直バックエンド俺に書かせろと思っていましたが
東京の鉄道路線図SVGを作りました&パブリックドメインで配布します - Liner Note このような面白い記事がありましたので、さっそく鉄道路線図SVGを利用してタイル化してみました。 Tokyo Rail Map (Phantomjs 利用版) Tokyo Rail Map (Ruby+rsvg2+ImageMagick版) やっている事自体は僕が前回書いたゲームタイルの話の延長だったりします。 ソースなどは以下の所にあります。 smellman/railstilemap · GitHub 簡単に言うと、Phantomjs版はzoomFactorを変えつつ256x256のスクリーンショットをずらして取っていて、Ruby+rsvg2+ImageMagick版はrsvg2で拡大縮小した画像を生成して、256x256のサイズに切り取れるようなサイズの空っぽの画像を作ってそこにぺたって貼り付
FOSS4G Advent Calendar 2014 の5日目です。 今回は、ゲームタイルと呼ばれる何かについて話そうと思います。 ソーシャルストーキングが得意なみなさんなら僕が先月イベントで話したネタだとわかるはずです。 はい。 そうです。 使い回しです。 さて、ゲームタイルという何かですが、別に名前があるわけではないです。 平たく言うと L.CRS.Simple の話です。 Leafletの CRS.Simple.js の先頭にこんなのがあります。 /* * A simple CRS that can be used for flat non-Earth maps like panoramas or game maps. */ここにゲームマップって書いてあるよね。以上。 というわけで早速ゲームマップを動かしてみましょう。 とりあえず画像を拾ってきます。「ドラクエ 地図 画像」とかで検
この話、どっかで文字にした気がするんだけど、探しても見当たらなかったので文字に起こしてみる。 ちょっと酒入ってるので雑だけどね。 この話は僕がコンピュータの仕事をちゃんと目指す間接的なきっかけとなった話です。 僕は高校入学当時は薬剤師を目指していた。元々医療系の家系というのもあったんだけど、血を見るのが嫌いというのがあって、まだちょっとできる科学の知識が使えるかもしれないというところから医療系なら薬剤師しかできないだろうと思ってた。 でも、高校時代に生物の先生が本当にやばくて、生物には近づきたくないというのもあって、完全にやりたいことが数学or物理という方向になってしまった。 ちなみに英語も国語も留年ギリギリみたいな状態で、数学系以外はまったくだめだった。 そんなこんながあって、高校二年の頃には得意な分野を活用するには物理演算などの活用できる3Dゲームの分野と思い、ゲームプログラマになりた
手元でベクタタイル動かせたら面白いなぁというよくわからない欲求を持っていたんですが、ついうっかりやってしまいました。 今回使うのは以下のプログラム。 TileStache 軽量なタイルサーバ兼キャッシュサーバ OSM.us-vector-datasource http://openstreetmap.us/%7Emigurski/vector-datasource/ でつかわれてるTileStacheの設定 なお、今回はOSM.us-vector-datasourceにmacports向けの設定を書きつつ、PostGIS2に対応したものを用意しました。 前提条件として、前回の記事で書いた内容にあるデータを突っ込んでいる状態からスタートです。 MacPorts環境にosm2pgsql入れてOpenStreetMap CartoをTilemillで動かしたって話 - smellman's Br
ネタ元: 「エンジニアをつくる」という理念掲げていたら、エンジニアが社内からいなくなった件 | 新田章太の「エンジニアをつくる」ブログ 話の発端は、 俺がDMTCについて知ってること,またそれに対する所感 - 職質アンチパターン がFacebookで話題になっていて、やばいなぁと思っていたら主催者もやばかったみたいな話。 内容自体ただヤバイんだけど、その中でも明確にツッコミを入れておきたい部分があった。 僕らの強みはDMTCを通じて、沢山のお客様とのつながりがあること このつながりを活かして、 国内外のIT企業で働くエンジニアのスキルを定量化しよう というひとつのテーマにいきつきました。 http://maximum80.me/archives/821 この部分についてFacebookで俺はエンジニアをバカにしてるって書いたけど、もうちょっと具体的に落としこもうと思った次第です。 ものさし
今日、某クラウディアさんの中の人*1からいつから組長ってなったのって聞かれた。 たぶん2002年ぐらいからだと思うんだけど、その説明をする中で重要だと思われる昔話がある。 そこをひっくるめたら重要な話があるかもしれないので、僕が関わってきたものを中心に記録として残そうと思う。 あくまで、僕の記憶と経験に基づくので平行して行われたものはまったくノータッチです。 90年代の話 僕がパソコンを始めて自宅に導入したのは97年(正確にはその前に姉がビジネススクール用の持っていたんだけど、ぷよぷよとBio100%のゲームしかやってなかった)で、実際自宅にUnix環境を整えたのは98年にHDDを増設して自宅マシンにTurbo Linux 2Jを導入したぐらいである。 まぁ、Windows環境からゴニョゴニョしたことはあったけど、僕が本格的にUnix環境について知識をつけたが当時同級生から借りたFreeB
ImageMagickがバージョンアップしたりしてrmagickの入れなおしをしないといけない罰がよく発生しますが、bundlerの環境内でやったのは初めてだったので対処法をメモ。 やることは以下の内容。 $ bundle exec gem uninstall rmagick $ bundle install 実際に動かすと以下のようになる。エラーが出るけど正常に動作してるくさい。 $ bundle exec gem uninstall rmagick Successfully uninstalled rmagick-2.13.1 ERROR: While executing gem ... (NoMethodError) undefined method `delete' for #<Bundler::SpecSet:0x007f951d219698> $ bundle install
ありがとうE4X さようならE4X 今日、E4X 追悼会 (仮) というイベントに行って来た。 このイベントに参加できてすごくたのしかった。 こんなに思い出にふけるイベントはなかった。 僕は1999年、大学1年の時にXMLとXSLTにこじらせた。 僕は自分の日記をXMLで書いてXSLTで変換してそれをgeocitiesにアップしていた。 僕は2000年、大学2年の時にXULと出会った。 でもそれ以上にSOAPがやばかった。 当時、英語の部活に所属してたのだけど、たまたま先輩がAmazonを日本で立ち上げるために来日していて、周りの人が留学について聞いてるのに僕はAmazonでSOAPやXSLTがどのように使われているのかって聞いた。ぶっちゃけそんな使ってないっていうのと同時にドン引きされた。 僕はずっとXMLをこじらせていた。 従兄弟がSGMLをXMLに変換するっていうのを専門にベンチャー
Firefoxは基本機能の中に開発向けの機能が結構充実しています。 3Dビューやレスポンシブルビューデザインなんかはわりとデザイン向けとしては使える機能だと思います。僕も仕事ではよくこれらを活用しています。 さて、その中で最近増えた機能として、Firefox 20.0から追加されたプロファイラについて解説をします。 Web開発のメニューからプロファイラを選択すると開くことができます。 メニューの名前が「プロファイラ」なのですが、ぶっちゃけJavascript Profilerです。 起動をしたらプロファイラの開始を押すと解析がスタートします。 このあとJavascriptの処理をWebページで実行をします。 そして、終了を押すと解析が終了して結果が表示されます。 実行結果はツリーとして表示されます。 各Javascriptの実行された時間が%として表示されます。 これをたどっていくことで重
昨日の千駄ヶ谷.rbで7 Patterns to Refactor Fat ActiveRecord Modelsという記事をみんなで読んでいたのですが、その中の最後にあった Extract Decorators が使いドコロがわからないねってなっていたので、その記事にあるコードを手元で改良してわかりやすくしてみました。 元々のサンプルでちょっと変なのは、Facebookに投稿するものしか無いという点です。 このため、afterでやればいいのではっていう意見が出ていたんだけど、その場合だと例えばFacebookとTwitterに同時に投稿するとか、片方に投稿するとかってどうするのっていう話が出てくる。 というわけで、その点をわかりやすくするために改良をしてみました。ちなみに、ActiveRecordを利用せず、単なるRubyのコードです。 実行のところを見て貰えるとわかるんですが、単純に実
最近Pythonのプロダクトを扱っていたりします。 GunicornはRuby on Railsでよく使われているUnicornの影響を受けたと思われるプロダクトで、Gunicornは"Green Unicorn"という意味らしいです。 Unicornではよく知られてる手法としてkillによる再起動を使ってほぼ無停止でデプロイ後に再起動をかける手段があります。 Gunicornでも FAQ - How do I reload my application in Gunicorn? にあるように、以下のようなコマンドで再起動ができるそうです。 kill -HUP masterpid しかしながら、デプロイ時にsymbolic linkを入れ替えるという手法を取った場合にうまく動きません。そもそも、これってソースコードの編集に対応してないんじゃないかなっていう感じです。(検証しているときに書き
伊豆大島ハッカソン&マッピングパーティーに参加してきました。とは言っても僕は主催者側のスタッフを兼ねての参加です。 島内、島外の参加者でハッカソン1チーム、マッピングパーティー3チームを作って行い、僕はハッカソンチームに参加してコーディングを担当しました。 話し合いの結果、作成をするのは「島から見えるあの山はなんだろう?」というのをわかりやすく見せるARアプリとなりました。 元のデータは伊豆大島ジオメディア・ミュージアムにタグを付けて位置情報をつけたページをしてもらいました。この作業は大島の人たちとこの案件の担当されている国交省の方とMRIの方たちが担当されました。伊豆大島ジオメディア・ミュージアムではLocalwiki APIで位置情報とかページの内容とか取得できるのでそれを応用しました。あ、伊豆大島ジオメディア・ミュージアムは僕がセットアップしてます(案件だもの 開発は僕と弊社社長の関
自分用メモです。 deprecatedなやつってよくiOS SDKが上がったりするとでてきますけど、自分で定義する方法を知らなかったので調べてみた。 まずこんな定義があったとします。 @interface Anal : NSObject - (Unko *) dappun; - (void *) senjou:(Water *) _water; @end アナルから脱糞するとうんこが出てくるという非常にわかりやすいクラスです。アナルを水で綺麗にするというウォシュレットっぽいのにも対応しています。これならベトナム式のウォシュレットでも対応できますね。お湯で洗うとしてもHot Waterなインスタンスを渡してあげればいいでしょう。 では、そもそもアナルクラスなんて使わねーよクソが!ってなった時はこんなふうに書きます。 __attribute__ ((deprecated)) @interfac
様々な勉強会やイベントで苦戦しているのが勉強会でのアンケートの取り方です。 記入自体をしてもらってもそれを集計する作業が非常に手間になってしまい、勉強会のモチベーションを上げるためのアンケートなのにむしろ下がってしまう可能性もあります。 しかしながら、僕がスタッフとして関わっているスマートフォン勉強会@関東ではほとんどこのストレスから開放されています。 今回はその手段を書いていきます。 (なお、これはもともとjus幹事会でアンケート取りづらいっていう話があってメールで手段をまとめて送ろうとしたのですが、どうせなら広く伝えようということで日記に書きました) アンケートはwebと紙を併用する 最初にみんなが躓いてしまうポイントが、アンケートの入力する先を一つに固定してしまうことです。 アンケートの入力先が複数あると「アンケートが重複されて入力されたらどうしよう」とか考えますが、正直そんな人はあ
本日付けで合同会社Georepublic Japanに入社しました。 勤務地は原宿となります。友達からオヤジ狩りに気をつけろと言われました!失礼な! 役職はSenior Developerとなります。Seniorなのでもう若者ぶることができません! 業務の中心となるのは地図系です。約10年振りに地図系の仕事に関わることになるというのは感慨深いものがあります。あの頃とはずいぶん状況が変わってるのでがんばっていこうかと思います。 あと、危うく馬場さんのせいで初仕事がトイレ掃除になりそうになりました。いつか張り倒すわー
次のページ
このページを最初にブックマークしてみませんか?
『smellman's Broken Diary』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く