planet_osm_japan_update
文書の過去の版を表示しています。
planet.osm の日本部分だけを効率よく更新する方法
2014-01-03 時点で,ここに書いてある情報は「実験中」です.
planet.osm とは何か?
http://wiki.openstreetmap.org/wiki/JA:Planet.osm に説明があります通り,planet.osm とは,OpenStreetMap データベースのスナップショットです.編集履歴はありませんが,レンダリングの元になるデータの事と言って良いと思います.
ここでは,planet.osm から,日本のエリアだけを抽出し,またネットワークやマシン負荷がなるべく低い方法でデータを更新する方法を記載します.
手っ取り早い方法が既にあるのでは?
一番手っ取り早いのは,http://download.geofabrik.de/ から,日本のOSMデータをダウンロードする事です.
しかし,日本のOSMデータは,2015年1月3日現在で,.osm.bz2 形式のもので約1.4GByteあります. これを毎回ダウンロードすると時間がかかりますし,変更の無い部分も毎回ダウンロードする事になるので,できるだけ効率の良い方法で日本の planet.osm が出来ないかを実験します.
前知識
一言で “planet.osm” と言っても,複数のファイル形式があります.
- XML 形式のもの(拡張子は .osm)
これは,純粋なテキストファイルで,XML 形式で構成しています.OpenStreetMap では,このXML形式のものを,bzip2 で圧縮している事が多く,その場合の拡張子は “.osm.bz2” が付けられます. - BPF 形式のもの(拡張子は .bpf)
http://wiki.openstreetmap.org/wiki/PBF_Format にその説明があります(英語).どうも Google protocol buffers がベースのようです.これは完全なバイナリですが,後述する osmconvert 等のツールで扱うことが出来ます. - o5m 形式のもの(拡張子は .o5m)
http://wiki.openstreetmap.org/wiki/O5m にその説明があります(英語).“.osm” 形式と “.bpf” 形式の中間にあるようです.
BPF 形式のファイルは,非圧縮状態でも .osm.bz2 よりも小さいファイルになるようですので,ここでは BPF 形式をメインに扱います.
前準備
- Linux マシン
マシンスペックは,高ければ高いほど良いですが,私は Core i5 2.67GHz,RAM 4GByte で運用しています.HDD は 500GByte を2機入れています.HDD は多いければ多いほうが良いです. - Linux ディストリビューション
ここで記載する方法は,基本的にはどのディストリビューションでも動作するはずですが,私は Debian Wheezy amd64 をインストールしています.64bit OS であれば,RAM を増設すれば更に多くの RAM が使えます.私見ですが,planet.osm を扱うには,RAM が多ければ多いほうが良いと考えています. - インターネット回線
後述しますが,初回は大体 27GByte のファイルをダウンロードします.後はあまり大量のダウンロードはないです Linux マシンのパワーが主です. - osmctools
osmctools は,osmconvert や osmupdate と言うツールがあり,この実験ではこれらのツールを使用します.
Debian Wheezy の場合,Debian Wheezy に osmctools を入れるの手順で,osm
planet_osm_japan_update.1420298436.txt.gz · 最終更新: 2015-01-03 15:20 by tosihisa@netfort.gr.jp