planet_osm_japan_update
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
planet_osm_japan_update [2015-01-03 15:09] – tosihisa@netfort.gr.jp | planet_osm_japan_update [2017-11-21 14:40] (現在) – tosihisa@netfort.gr.jp | ||
---|---|---|---|
行 1: | 行 1: | ||
====== planet.osm の日本部分だけを効率よく更新する方法 ====== | ====== planet.osm の日本部分だけを効率よく更新する方法 ====== | ||
- | **2014-01-03 時点で,ここに書いてある情報は「実験中」です.** | + | **2015-01-03 時点で,ここに書いてある情報は「実験中」です.** |
===== planet.osm とは何か? ===== | ===== planet.osm とは何か? ===== | ||
行 13: | 行 13: | ||
一番手っ取り早いのは,http:// | 一番手っ取り早いのは,http:// | ||
- | しかし,日本のOSMデータは,2015年1月3日現在で,.osm.bz2 形式のもので約1.4GByteあります. | + | しかし,日本のOSMデータは,2015年1月3日現在で,.osm.bz2 形式のもので約1.4GByteあります..bpf 形式でも約 930MByte |
これを毎回ダウンロードすると時間がかかりますし,変更の無い部分も毎回ダウンロードする事になるので,できるだけ効率の良い方法で日本の planet.osm が出来ないかを実験します. | これを毎回ダウンロードすると時間がかかりますし,変更の無い部分も毎回ダウンロードする事になるので,できるだけ効率の良い方法で日本の planet.osm が出来ないかを実験します. | ||
行 21: | 行 21: | ||
- XML 形式のもの(拡張子は .osm)\\ これは,純粋なテキストファイルで,XML 形式で構成しています.OpenStreetMap では,このXML形式のものを,bzip2 で圧縮している事が多く,その場合の拡張子は " | - XML 形式のもの(拡張子は .osm)\\ これは,純粋なテキストファイルで,XML 形式で構成しています.OpenStreetMap では,このXML形式のものを,bzip2 で圧縮している事が多く,その場合の拡張子は " | ||
- | - BPF 形式のもの(拡張子は .bpf)\\ http:// | + | - BPF 形式のもの(拡張子は .bpf)\\ http:// |
- o5m 形式のもの(拡張子は .o5m)\\ http:// | - o5m 形式のもの(拡張子は .o5m)\\ http:// | ||
- | + | BPF 形式のファイルは,非圧縮状態でも .osm.bz2 よりも小さいファイルになるようですので,ここでは BPF 形式をメインに扱います. | |
+ | |||
+ | ===== 前準備 ===== | ||
+ | |||
+ | - Linux マシン\\ マシンスペックは,高ければ高いほど良いですが,私は Core i5 2.67GHz,RAM 8GByte で運用しています.HDD は 500GByte を2機入れています.HDD は多いければ多いほうが良いです. | ||
+ | - Linux ディストリビューション\\ ここで記載する方法は,基本的にはどのディストリビューションでも動作するはずですが,私は Debian Wheezy amd64 をインストールしています.64bit OS であれば,RAM を増設すれば更に多くの RAM が使えます.私見ですが,planet.osm を扱うには,RAM が多ければ多いほうが良いと考えています. | ||
+ | - インターネット回線\\ 後述しますが,初回は大体 27GByte のファイルをダウンロードします.後はあまり大量のダウンロードはないです Linux マシンのパワーが主です. | ||
+ | - osmctools\\ osmctools は,osmconvert や osmupdate と言うツールがあり,この実験ではこれらのツールを使用します.\\ Debian Wheezy の場合,[[misc: | ||
+ | |||
+ | ===== 初回のダウンロード ===== | ||
+ | |||
+ | 初回では,以下のファイルをダウンロードします. | ||
+ | |||
+ | - planet-latest.osm.pbf\\ http:// | ||
+ | - planet-latest.osm.pbf.md5 \\ planet-latest.osm.pbf と同じディレクトリにあります.このファイルは planet-latest.osm.pbf のMD5ハッシュ値です.planet-latest.osm.pbf が正しくダウンロードできているかどうか,このMD5ハッシュ値と比較して下さい. | ||
+ | - Polygon Filter File\\ http:// | ||
+ | |||
+ | 私のネットワーク環境は 100Mbps で,上記全てをダウンロードするのに概ね4時間ほどかかりました. | ||
+ | |||
+ | ===== 日本のOSMデータを抽出 ===== | ||
+ | |||
+ | 必要なファイル全てを Linux マシンにダウンロード出来たら,以下のコマンドを実行します. | ||
+ | |||
+ | < | ||
+ | $ osmconvert -B=japan.poly -o=planet-japan-latest.osm.pbf planet-latest.osm.pbf | ||
+ | </ | ||
+ | |||
+ | 上記のコマンドを実行することで,全世界のデータが含まれている planet-latest.osm.pbf から,japan.poly で指定されている範囲のみを抽出して,planet-japan-latest.osm.pbf に保存します. | ||
+ | |||
+ | 私が実験した時は,planet-latest.osm.pbf は約 27GByte のサイズですが,日本部分だけを抽出した planet-japan-latest.osm.pbf は約 900MByte です.この処理中の osmconvert の使用RAMサイズは,VSZ で概ね 1.7GByte くらい使っていました. | ||
+ | |||
+ | 以降は,planet-japan-latest.osm.pbf を主に扱います. | ||
+ | |||
+ | ===== 日本のOSMデータを最新へ ===== | ||
+ | |||
+ | osmconvert では,単にデータの抽出を行うのみで,OSMデータは既に最新のものがあるはずです. | ||
+ | |||
+ | OSMデータを最新へ更新するには,osmupdate コマンドを使います. | ||
+ | |||
+ | < | ||
+ | $ osmupdate -B=japan.poly -v planet-japan-latest.osm.pbf planet-japan-new.osm.pbf | ||
+ | </ | ||
+ | |||
+ | 上記のコマンドを実行すると,osmupdate が http:// | ||
+ | |||
+ | osmupdate の詳しい利用方法は,http:// | ||
+ | |||
+ | ===== BPF形式の planet.osm をXML形式に変換 ===== | ||
+ | |||
+ | BPF 形式の planet.osm はバイナリですので,ちょっとした確認には使いにくいのですが,osmconvert を使用するとXML形式に変換できます. | ||
+ | |||
+ | < | ||
+ | $ osmconvert planet-japan-latest.osm.pbf | more | ||
+ | </ | ||
+ | |||
+ | osmconvert は,標準ではXML形式で標準出力に変換データを出力するので,more コマンドなどで結果を確認できます. | ||
+ |
planet_osm_japan_update.1420297768.txt.gz · 最終更新: 2015-01-03 15:09 by tosihisa@netfort.gr.jp