Ubuntu Weekly Recipe

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

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

uMapとOpenStreetMap

スマートフォンとGPSという組み合わせによって,簡単に「旅の行程」を記録できるようになりました。GoogleがAndroid向けに提供しているMy Tracksを使うと,起動中の位置情報を定期的に記録し,Googleマップ上に表示してくれます。しかもこのGPSログは,GPXKMLCSVといった機械でも人間でも読み取り可能なプレーンテキストの形でエクスポートできるのです注5⁠。

注5)
後述のOpenStreetMapを用いた同等のツールとしてOSMTrackerが存在します。

図5 My Tracksのログの様子

図5 My Tracksのログの様子

My Tracksそのものの使い方はアプリのページなどを参照してください。ここでは既に記録済みのデータを,GPX形式でエクスポートします。といってもエクスポートしたいログを選択して,コンテキストメニューからエクスポートを選ぶだけです。拡張子がgpxのファイルができていますので,メールなりなんなりで任意の場所にコピーしておきましょう。Googleドライブ経由で共有することも可能です。

GPXを適当なテキストエディタで開くと,次のようにXML形式のファイルであることがわかります。

<?xml version="1.0" encoding="UTF-8"?>
<gpx
version="1.1"
(中略)
<trk>
<name><![CDATA[湯涌温泉]]></name>
<desc><![CDATA[]]></desc>
<type><![CDATA[運転]]></type>
<extensions><topografix:color>c0c0c0</topografix:color></extensions>
<trkseg>
<trkpt lat="36.578503" lon="136.64843">
<ele>-18</ele>
<time>2015-05-29T04:01:15.157Z</time>
</trkpt>
<trkpt lat="36.578551" lon="136.648337">
<ele>-10</ele>
<time>2015-05-29T04:01:36.951Z</time>
</trkpt>

中身を見るとわかるように,ひたすら時刻と位置情報を記録したXMLファイルです。データさえあればあとはいろいろと加工できます。今回はOpenStreetMap上に行程を表示し,他の人と共有することを考えましょう注6⁠。

注6)
Googleマップでも同じことができます。ただし,印刷やWebでの掲載といった利用方法には細かい規約があります。まずはGoogleのガイドラインを読んで,自分の目的に適った使い方ができるかどうか確認しておきましょう。ちなみにOpenStreetMapについてはクレジットの表記方法だけ気をつければ利用方法にはほとんど制約はありません。

OpenStreetMap(OSM)」は地図のWikipediaとも言われる,誰でも編集・利用可能な地理情報データを作成するプロジェクトです注7⁠。このプロジェクトで作成された地理情報データはOpen Database License(ODbL)と呼ばれる自由なライセンスであるため,データの加工や再利用が可能なのです。OpenStreetMapの地図情報をレイヤーとして利用し,その上にさまざま情報を表示するサービスやツールもたくさん存在します。今回利用するuMapはこのOpenStreetMapを利用したサービスの一つで,OpenStreetMapの特定の地域をサイトに表示したり,地図上にマーカー注8を記録した「マイマップ」を作成できます注9⁠。

注7)
地理情報はマッパーと呼ばれる世界各地のボランティアの手によって日々作成・更新されています。利用したい地域の地図があまり充実していない場合は,ぜひマッパーとしてOSMに参加することも考えてみてください。
注8)
Point of interest(POI)と呼ばれます。
注9)
uMap自体がDjango/Python,Leaflet/JavaScriptで作られたサービスであり,WTFPLでライセンスされたソースコードも公開されています。よって,同様のサービスをローカルで実現したり,パッチをコミットする形で貢献できます。

上記のGPXといった位置情報系のファイルフォーマットをレイヤーとして取り込むことも可能で,My Tracksのデータを取り込むと,そのまま移動経路が表示されるのです。

図6 uMap上に表示した移動経路

図6 uMap上に表示した移動経路

著者プロフィール

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

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