OpenStreetMap anchor.png

OpenStreetMap(OSM)は,誰でも自由に参加して,誰もがフリーで利用でき,誰でも編集もできる,世界地図を作成する共同作業プロジェクト。

OpenStreetMap Japanサイトもある。

地図データはPostgreSQLを使ってデータベースで管理している。

私も実際に住んでいる家の周りとか気になった所をちょこちょこ編集しているんだけど,これが結構楽しい。 :)

Page Top

OpenStreetMapの編集 anchor.png

OpenStreetMap(OSM)はWEBブラウザでアクセスしてアカウントを作成してログインすると,WEBブラウザ上で編集ボタンをクリックすると,地図を編集することが出来る。*1

また,PCで一部の地域のデータをファイルとしてダウンロードして,編集後OpenStreetMapを更新することができるDesktopアプリケーションに,JOSM(Java OpenStreetMap Editor)がある。

JOSMはオープンソースで開発されていて無料で使用できる。
Javaアプリケーションで,Windows,Linuxなどマルチプラットフォームで動作する。

OpenStreetMapのデータ(Node,Way,Relation)とそのタグの編集,地図データの読み込み・保存,GPXトラックの作成,などの機能がある。

LeanOSMでJOSMを使って編集する方法が説明されている。

Page Top

地図データのフォーマット anchor.png

http://wiki.openstreetmap.org/wiki/JA:Planet.osmで説明されているように,planet.osmはOpenStreetMapの全世界の現在のデータベースをXMLファイルにしたものようです。
編集履歴はありませんが全世界の地図情報データが入っています。

ということで,その.osmファイルを圧縮した.pbfでもファイルサイズは48GByteを超えています :-o
また各国毎に抽出した地図データは,OpenStreetMap Data Extractsからダウンロード出来ます。(日本のみを扱っているサイトはないようだ。)

OpenStreetMapのファイル形式はいくつかあって,

  • XML形式のもの(拡張子は.osm)
    これは,XML形式のテキストデータのファイル。OpenStreetMapでは,このXML形式のものをbzip2で圧縮して配布されていることがあり,その場合の拡張子は.osm.bz2になる。
    OpenStreetMapのDesktopエディターであるJOSMは,地図データをこのファイル形式でダウンロードしている。
  • PBF形式のもの(拡張子は.pbf)
    http://wiki.openstreetmap.org/wiki/PBF_Format にその説明がある。
    このファイルはバイナリ形式で,osmconvert等のツールでXML形式から変換したり,PBF形式からXML形式に変換することが出来る。
  • o5m形式のもの(拡張子は.o5m)
    http://wiki.openstreetmap.org/wiki/O5m にその説明がある。
    .osm形式と.pbf形式でもないファイル形式で,フィルタリングするときなどに使用するみたい。

.pbfファイルは非圧縮でも.osm.bz2よりもサイズが小さくなるみたいなんで,ファイルのやり取りには.pbfがいいということになりよく使われている。

Page Top

日本地図データのダウンロードと更新 anchor.png

OpenStreetMapは,WEBブラウザやJOSMで編集・更新が出来るんだけど,その更新した地図をスマートフォンの地図アプリなんかで使う場合には,どうにかして最新状態のOpenStreetMapのデータから各アプリで使える地図データに変換する必要がある。

また,使用したい場所の地図データだけにしておかないと,地球全体となったらファイルサイズがとんでもなく大きくなってしまう。

とりあえず日本の地図データをダウンロードするには,OpenStreetMap Data Extractsから,日本のOSMデータ*2をダウンロードするのが簡単。
しかし日本の地図データは,.pbfの物でも1.3GByte(だんだん増えていて現在は1.8GByte)と大きい。これを地図編集・更新をした後で毎回ダウンロードしていては時間がかかるし(高速な環境でもダウンロードに10分以上かかる),変更の無い部分も全部ダウンロードする事になるので余り効率的ではない。

そこで,.pbfの日本の地図データから編集・更新した情報だけをダウンロードして,その内容をマージして地図データファイルを更新するosmctoolsosmupdateツールを使って,地図データを更新するようにします。

まず,日本の地図データをダウンロードします。(初めのみ)

> cd jpmap
> wget http://download.geofabrik.de/asia/japan-latest.osm.pbf

その後,更新します。

> osmupdate -B=..\poly\japan.poly -v japan-latest.osm.pbf japan-update.osm.pbf
> del japan-latest.osm.pbf
> ren japan-update.osm.pbf japan-latest.osm.pbf

osmupdateがhttp://planet.osm.org/にアクセスして,changesetsをダウンロードして最新の情報へ更新し,japan-latest.osm.pbfに保存します。(filejapan.polyを指定して,日本だけを更新する。)

このようなことを,定期的に(または自分が地図を編集した後なんかに)行えば,日本の地図データファイルが効率的に更新出来るようになります。


*1 OpenStreetMapの編集を行う場合は,第三者が著作権を主張する情報源から転載することによって,他者の著作権を侵害することのないよう注意を払う必要がある。他の商用地図からの情報転載は行わないように注意する。
*2 この日本のOSMデータには,北方四島・竹島はなぜか含まれていない。

新しくコメントをつける

題名
ゲスト名
投稿本文
より詳細なコメント入力フォームへ

トップ   凍結 差分 バックアップ 複製 名前変更 リロード   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom
Counter: 1825, today: 1, yesterday: 1
最終更新: 2020-12-26 (土) 16:07:50 (JST) (1207d) by yuji