Ubuntu Weekly Recipe

第378回 旅の思い出をOpenStreetMapで視覚化する

この記事を読むのに必要な時間:およそ 4.5 分

uMap上に写真や外部データを表示する

地図上には「マーカー(POI)⁠を配置することで,さまざまな情報を追記できます。編集画面の右上にある「マーカーを配置」をクリックしたうえで,マーカーを置きたい場所をクリックしましょう。するとマーカーの編集画面が出てきます。

図11 マーカーの編集画面

図11 マーカーの編集画面

名称プロパティにマーカーのタイトルを記述し,概要プロパティにはその内容を記述します。概要プロパティのテキストはMarkdownのようにマークアップできます。⁠?」マークのアイコンをクリックすれば,書式が表示されますので参考にしてください。アップロード済みの画像を表示するだけなら「{{URL}}」です。

ちなみにGoogleフォトの場合この方法では表示できず,Googleフォトで表示した写真を右クリックし,⁠画像のURLをコピー」で取得できるURL(Firefoxの場合)「{{取得したURL}}」のように記述した場合のみ埋め込むことができました。Popup optionsのポップアップ・テンプレートを「サイドパネル」にすると,より多くの情報を表示できます。

図12 サイドパネル形式の情報の表示

図12 サイドパネル形式の情報の表示

ちなみにTwitterのツイートをこの方法でiframeに直接埋め込むことは,Twitter側の制限によりできないようです。

uMapのデータを共有する

一通りマップを作成できたのなら,それを公開することにしましょう。といっても画面左のサイドバーにある,⁠サイトへのマップ埋め込みと共有」ボタンでURLを取得するだけです。もし表示されていなかったら,⁠more」ボタンを押しましょう。

図13 マップの共有オプション

図13 マップの共有オプション

「マップ埋め込み」ではiframeのタグを用いたソースコードが表示されますので,それをサイトやブログに埋め込むだけで表示できます。⁠短縮URL」はマップのURLを短縮URLで表示していますので,それをTwitterなどのSNSに投稿すれば誰でもアクセスできるようになります。

アクセスした人は,普通のWebマップと同じように拡大や縮小ができますし,地図の設定次第ではレイヤーの表示や非表示も行えます。

フルスクリーン表示

編集画面の歯車アイコンであるマップ設定では,⁠表示範囲の制限」という形で地図を表示する範囲を制限することもできます。またスライドショーの設定を行っておくと,画面右下の再生ボタンから各ノード(POIだけでなくレイヤーやポリゴン)を順番に表示していくことも可能です。

uMapのデータをエクスポートする

uMapにMy Tracksで作成したデータをインポートしたのとは逆に,uMapで作成したマップ情報をさまざまな形式でエクスポートすることも可能です。特にGeoJSON形式であれば,比較的容易に手作業で変更することも可能ですし,jqコマンドなどを駆使してスクリプトで一括変換するにも適しています。そうやって編集したファイルを再度アップロードすればマウス操作では面倒な編集作業も短縮化できるので覚えておくと良いでしょう。

またGPXにしろGeoJSONにしろKMLにしろ,GPSの軌跡には時間情報が必ず付随しています。この情報を使えば,たとえばエクスポートしたKMLをGoogle Earthに読み込ませることで,移動の様子をアニメーションさせることも可能です。

位置データは情報の宝庫

写真に限らず大抵のデジタルデータには作成日時や編集日時が存在します。位置データは時刻情報と位置情報をペアにしたデータです。つまりデジタルデータとリンクする位置データさえあれば,大抵のデジタルデータに位置情報を付加することができるのです。GPSCorrelateというツール(パッケージ名はCUI版がgpscorrelate,GUI版がgpscorrelate-gui)を使えば,GPXファイルを使って任意の写真のEXIFに位置情報を埋め込んでくれます注12)⁠

注12)
位置情報と写真の日時の差が1秒以内の場合はEXIFを追加しますが,それ以上の誤差がある場合はオプションで線形補完した位置情報を追加してくれます。

OpenStreetMapのデータは自由に利用できるが故に,さまざまな形式にエクスポートするツールやライブラリが用意されていますし,それらを使った多種多様なサービスが存在します。たとえば印刷用のデータを作るだけでも,その目的に応じて本当にたくさんのサービスが存在するのです。もちろんデータそのものの利用も自由にできますので,正しくクレジット表記を行いさえすれば,自分自身で地図サービスを立ち上げることも可能です。

位置情報を使って何かを実現したい場合,まずはOpenStreetMap関連の情報を当たってみると良いでしょう。

それはそうと今回のRecipe,結果的にUbuntuであることはほとんど関係ないんじゃないかということにお気づきになられたかもしれません。実際,OSMにしろuMapにしろブラウザさえ動けば活用はできてしまいます。ここは一つOpenSterrtMapのサーバー群Ubuntuで動いているということでご容赦ください。

著者プロフィール

柴田充也(しばたみつや)

Ubuntu Japanese Team Member。数年前にLaunchpad上でStellariumの翻訳をしたことがきっかけで,Ubuntuの翻訳にも関わるようになりました。