ユーザ用ツール

サイト用ツール


planet_osm_japan_update

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
planet_osm_japan_update [2015-01-04 00:16]
tosihisa@netfort.gr.jp
planet_osm_japan_update [2017-11-21 23:40] (現在)
tosihisa@netfort.gr.jp
行 1: 行 1:
 ====== planet.osm の日本部分だけを効率よく更新する方法 ====== ====== planet.osm の日本部分だけを効率よく更新する方法 ======
  
-**2014-01-03 時点で,ここに書いてある情報は「実験中」です.**+**2015-01-03 時点で,ここに書いてある情報は「実験中」です.**
  
 ===== planet.osm とは何か? ===== ===== planet.osm とは何か? =====
行 13: 行 13:
 一番手っ取り早いのは,http://download.geofabrik.de/ から,日本のOSMデータをダウンロードする事です. 一番手っ取り早いのは,http://download.geofabrik.de/ から,日本のOSMデータをダウンロードする事です.
  
-しかし,日本のOSMデータは,2015年1月3日現在で,.osm.bz2 形式のもので約1.4GByteあります.+しかし,日本のOSMデータは,2015年1月3日現在で,.osm.bz2 形式のもので約1.4GByteあります..bpf 形式でも約 930MByte あります.
 これを毎回ダウンロードすると時間がかかりますし,変更の無い部分も毎回ダウンロードする事になるので,できるだけ効率の良い方法で日本の planet.osm が出来ないかを実験します. これを毎回ダウンロードすると時間がかかりますし,変更の無い部分も毎回ダウンロードする事になるので,できるだけ効率の良い方法で日本の planet.osm が出来ないかを実験します.
  
行 28: 行 28:
 ===== 前準備 ===== ===== 前準備 =====
  
-  - Linux マシン\\ マシンスペックは,高ければ高いほど良いですが,私は Core i5 2.67GHz,RAM 4GByte で運用しています.HDD は 500GByte を2機入れています.HDD は多いければ多いほうが良いです.+  - Linux マシン\\ マシンスペックは,高ければ高いほど良いですが,私は Core i5 2.67GHz,RAM 8GByte で運用しています.HDD は 500GByte を2機入れています.HDD は多いければ多いほうが良いです.
   - Linux ディストリビューション\\ ここで記載する方法は,基本的にはどのディストリビューションでも動作するはずですが,私は Debian Wheezy amd64 をインストールしています.64bit OS であれば,RAM を増設すれば更に多くの RAM が使えます.私見ですが,planet.osm を扱うには,RAM が多ければ多いほうが良いと考えています.   - Linux ディストリビューション\\ ここで記載する方法は,基本的にはどのディストリビューションでも動作するはずですが,私は Debian Wheezy amd64 をインストールしています.64bit OS であれば,RAM を増設すれば更に多くの RAM が使えます.私見ですが,planet.osm を扱うには,RAM が多ければ多いほうが良いと考えています.
   - インターネット回線\\ 後述しますが,初回は大体 27GByte のファイルをダウンロードします.後はあまり大量のダウンロードはないです Linux マシンのパワーが主です.   - インターネット回線\\ 後述しますが,初回は大体 27GByte のファイルをダウンロードします.後はあまり大量のダウンロードはないです Linux マシンのパワーが主です.
 +  - osmctools\\ osmctools は,osmconvert や osmupdate と言うツールがあり,この実験ではこれらのツールを使用します.\\ Debian Wheezy の場合,[[misc:20150105_osmctools_debian_wheezy|Debian Wheezy に osmctools を入れる]]の手順で,osmctools をインストールできます.
 +
 +===== 初回のダウンロード =====
 +
 +初回では,以下のファイルをダウンロードします.
 +
 +  - planet-latest.osm.pbf\\ http://planet.osm.org/ にアクセスし,pbf/ ディレクトリ以下にあります.2015年1月3日現在で,約 26GByte あります.
 +  - planet-latest.osm.pbf.md5 \\ planet-latest.osm.pbf と同じディレクトリにあります.このファイルは planet-latest.osm.pbf のMD5ハッシュ値です.planet-latest.osm.pbf が正しくダウンロードできているかどうか,このMD5ハッシュ値と比較して下さい.
 +  - Polygon Filter File\\ http://download.geofabrik.de/asia/japan.html にアクセスして,japan.poly をダウンロードして下さい.これには,planet-latest.osm.pbf から日本部分だけを切り出す範囲の情報が入っています.
 +
 +私のネットワーク環境は 100Mbps で,上記全てをダウンロードするのに概ね4時間ほどかかりました.
 +
 +===== 日本のOSMデータを抽出 =====
 +
 +必要なファイル全てを Linux マシンにダウンロード出来たら,以下のコマンドを実行します.
 +
 +<code>
 +$ osmconvert -B=japan.poly -o=planet-japan-latest.osm.pbf planet-latest.osm.pbf
 +</code>
 +
 +上記のコマンドを実行することで,全世界のデータが含まれている 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 コマンドを使います.
 +
 +<code>
 +$ osmupdate -B=japan.poly -v planet-japan-latest.osm.pbf planet-japan-new.osm.pbf
 +</code>
 +
 +上記のコマンドを実行すると,osmupdate が http://planet.osm.org/ にアクセスして,changesets をダウンロードして最新の情報へ更新し,planet-japan-new.osm.pbf に保存します.
 +
 +osmupdate の詳しい利用方法は,http://wiki.openstreetmap.org/wiki/Osmupdate にあります.
 +
 +===== BPF形式の planet.osm をXML形式に変換 =====
 +
 +BPF 形式の planet.osm はバイナリですので,ちょっとした確認には使いにくいのですが,osmconvert を使用するとXML形式に変換できます.
 +
 +<code>
 +$ osmconvert planet-japan-latest.osm.pbf | more
 +</code>
 +
 +osmconvert は,標準ではXML形式で標準出力に変換データを出力するので,more コマンドなどで結果を確認できます.
  
  
planet_osm_japan_update.1420298194.txt.gz · 最終更新: 2015-01-04 00:16 by tosihisa@netfort.gr.jp