|
現: 2023-07-26 (水) 14:05:15 yuji  |
| + | * osmctools [#wa246163] |
| + | OpenStreetMapの地図データをデータベースからファイルに取り出すときに使用するファイル形式には,いくつかあるようだ。~ |
| | | |
| + | - XML形式のもの(拡張子は.osm)~ |
| + | これは,XML形式のテキストデータのファイル。OpenStreetMapではこのXML形式のものをbzip2で圧縮して配布されていることがあり,その場合の拡張子は.osm.bz2になる。~ |
| + | - PBF形式のもの(拡張子は.pbf)~ |
| + | http://wiki.openstreetmap.org/wiki/PBF_Format にその説明がある。~ |
| + | このファイルはバイナリ形式で,osmconvert等のツールでXML形式から変換したり,PBF形式からXML形式に変換することが出来る。~ |
| + | - o5m形式のもの(拡張子は.o5m)~ |
| + | http://wiki.openstreetmap.org/wiki/O5m にその説明がある。~ |
| + | .osm形式と.pbf形式でもないファイル形式で,フィルタリングするときなどに使用するみたい。~ |
| + | |
| + | .pbfファイルは非圧縮でも.osm.bz2よりもサイズが小さくなるみたいなんで,ファイルのやり取りには.pbfが一般的には使われている。 |
| + | |
| + | 上記のOpenStreetMapの数種類ある地図データ形式を相互に変換・データの追加・削除などが行えるコマンドラインツールが[[osmctools>https://gitlab.com/osm-c-tools/osmctools]]。~ |
| + | [[osmosis>../osmosis]]より機能を絞って高速に動作するようになっている。~ |
| + | |
| + | osmctoolsには以下のコマンドがある。~ |
| + | - [[osmconvert>https://wiki.openstreetmap.org/wiki/Osmconvert]]~ |
| + | OpenStreetMapの地図データを色々な形式に変換する時に使用するコマンド。~ |
| + | - [[osmupdate>https://wiki.openstreetmap.org/wiki/Osmupdate]]~ |
| + | OpenStreetMapの変更セットをダウンロードして,手元の地図データを更新できる。~ |
| + | - [[osmfilter>https://wiki.openstreetmap.org/wiki/Osmfilter]]~ |
| + | OpenStreetMapの地図データを特定のタグでフィルタリングするコマンド。~ |
| + | いろいろな種類のフィルタを定義して,NodeやWayやRelationなどオブジェクトなどを取得できる。~ |
| + | |
| + | * osmctoolsのインストール [#gef4dd17] |
| + | [[osmctools>https://gitlab.com/osm-c-tools/osmctools]]をインストールする手順。~ |
| + | |
| + | ** Windowsマシン [#rbfb7765] |
| + | WindowsのPCでは,MSYS2/MinGW-W64環境でビルドした&ref(osmctools.zip);をPATHが通ったディレクトリに解凍・コピーすればインストールできる。~ |
| + | |
| + | *** ソースコードからビルドしてインストールする [#bca9b391] |
| + | ソースコードからビルドする場合は,以下のようにする。~ |
| + | $ cd maptools |
| + | $ git clone https://github.com/mapsme/osmctools.git |
| + | $ cd osmctools |
| + | $ mkdir build |
| + | $ cd build |
| + | $ cmake -G "Unix Makefiles" .. |
| + | $ make |
| + | |
| + | osmconvert, osmfilter, osmupdateが作成されているので,PATHが通っているディレクトリにコピーする。~ |
| + | |
| + | ** Linuxマシン [#f1c95b5e] |
| + | |
| + | *** ソースコードからビルドしてインストールする [#t0a06a39] |
| + | ソースコードからビルドしてインストールする |
| + | $ cd maptools |
| + | $ git clone https://github.com/mapsme/osmctools.git |
| + | $ cd osmctools |
| + | $ mkdir build |
| + | $ cd build |
| + | $ cmake .. |
| + | $ make |
| + | または, |
| + | $ cd maptools |
| + | $ git clone https://github.com/ramunasd/osmctools.git |
| + | $ cd osmctools |
| + | $ autoreconf --install |
| + | $ ./configure |
| + | $ make |
| + | $ sudo make install |
| + | |
| + | osmconvert, osmfilter, osmupdateが作成されているので,/usr/local/binにコピーして実行権をつけておく。~ |
| + | $ sudo cp osmconvert osmfilter osmupdate /usr/local/bin |
| + | $ sudo chmod a+x /usr/local/bin/osmconvert |
| + | $ sudo chmod a+x /usr/local/bin/osmfilter |
| + | $ sudo chmod a+x /usr/local/bin/osmupdate |
| + | |
| + | *** Ubuntuでパッケージ管理ツールでインストール [#e53bdc4b] |
| + | Ubuntu(Debian)ではパッケージがあるようだ。~ |
| + | # apt install osmctools |