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” と言っても,複数のファイル形式があります.

  1. XML 形式のもの(拡張子は .osm)
    これは,純粋なテキストファイルで,XML 形式で構成しています.OpenStreetMap では,このXML形式のものを,bzip2 で圧縮している事が多く,その場合の拡張子は “.osm.bz2” が付けられます.
  2. BPF 形式のもの(拡張子は .bpf)
    http://wiki.openstreetmap.org/wiki/PBF_Format にその説明があります(英語).どうも Google protocol buffers がベースのようです.これは完全なバイナリですが,後述する osmconvert 等のツールで扱うことが出来ます.
  3. o5m 形式のもの(拡張子は .o5m)
    http://wiki.openstreetmap.org/wiki/O5m にその説明があります(英語).“.osm” 形式と “.bpf” 形式の中間にあるようです.

BPF 形式のファイルは,非圧縮状態でも .osm.bz2 よりも小さいファイルになるようですので,ここでは BPF 形式をメインに扱います.

前準備

  1. Linux マシン
    マシンスペックは,高ければ高いほど良いですが,私は Core i5 2.67GHz,RAM 4GByte で運用しています.
  2. Linux ディストリビューション
    ここで記載する方法は,基本的にはどのディストリビューションでも動作するはずですが,私は Debian Wheezy amd64 をインストールしています.64bit OS であれば,RAM を増設すれば更に多くの RAM が使えます.
  3. インターネット回線
    後述しますが,初回は大体 27GByte のファイルをダウンロードします.後はあまり大量のダウンロードはないです Linux マシンのパワーが主です.
planet_osm_japan_update.1420298108.txt.gz · 最終更新: 2015-01-03 15:15 by tosihisa@netfort.gr.jp