OpenStreetMap(OSM)は,誰でも自由に参加して,誰もがフリーで利用でき,誰でも編集もできる,世界地図を作成する共同作業プロジェクト。
OpenStreetMap Japanサイトもある。
地図データはPostgreSQLを使ってデータベースで管理している。
私も実際に住んでいる家の周りとか気になった所をちょこちょこ編集しているんだけど,これが結構楽しい。
OpenStreetMap(OSM)はWEBブラウザでアクセスしてアカウントを作成してログインすると,WEBブラウザ上で編集ボタンをクリックすると,地図を編集することが出来る。*1
また,PCで一部の地域のデータをファイルとしてダウンロードして,編集後OpenStreetMapを更新することができるDesktopアプリケーションに,JOSM(Java OpenStreetMap Editor)がある。
JOSMはオープンソースで開発されていて無料で使用できる。
Javaアプリケーションで,Windows,Linuxなどマルチプラットフォームで動作する。
OpenStreetMapのデータ(Node,Way,Relation)とそのタグの編集,地図データの読み込み・保存,GPXトラックの作成,などの機能がある。
LeanOSMでJOSMを使って編集する方法が説明されている。
http://wiki.openstreetmap.org/wiki/JA:Planet.osmで説明されているように,planet.osmはOpenStreetMapの全世界の現在のデータベースをXMLファイルにしたものようです。
編集履歴はありませんが全世界の地図情報データが入っています。
ということで,その.osmファイルを圧縮した.pbfでもファイルサイズは48GByteを超えています
また各国毎に抽出した地図データは,OpenStreetMap Data Extractsからダウンロード出来ます。(日本のみを扱っているサイトはないようだ。)
OpenStreetMapのファイル形式はいくつかあって,
.pbfファイルは非圧縮でも.osm.bz2よりもサイズが小さくなるみたいなんで,ファイルのやり取りには.pbfがいいということになりよく使われている。
OpenStreetMapは,WEBブラウザやJOSMで編集・更新が出来るんだけど,その更新した地図をスマートフォンの地図アプリなんかで使う場合には,どうにかして最新状態のOpenStreetMapのデータから各アプリで使える地図データに変換する必要がある。
また,使用したい場所の地図データだけにしておかないと,地球全体となったらファイルサイズがとんでもなく大きくなってしまう。
とりあえず日本の地図データをダウンロードするには,OpenStreetMap Data Extractsから,日本のOSMデータ*2をダウンロードするのが簡単。
しかし日本の地図データは,.pbfの物でも1.3GByte(だんだん増えていて現在は1.8GByte)と大きい。これを地図編集・更新をした後で毎回ダウンロードしていては時間がかかるし(高速な環境でもダウンロードに10分以上かかる),変更の無い部分も全部ダウンロードする事になるので余り効率的ではない。
そこで,.pbfの日本の地図データから編集・更新した情報だけをダウンロードして,その内容をマージして地図データファイルを更新するosmctoolsのosmupdateツールを使って,地図データを更新するようにします。
まず,日本の地図データをダウンロードします。(初めのみ)
> 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に保存します。(japan.polyを指定して,日本だけを更新する。)
このようなことを,定期的に(または自分が地図を編集した後なんかに)行えば,日本の地図データファイルが効率的に更新出来るようになります。
新しくコメントをつける