|
Osmosisを使ったデータ操作Osmosis は強力なコマンドラインツールであり、OSMのデータを .osm 形式のまま処理することが可能です。このツールは大きなデータファイルを処理するときによく使われ、OSMファイルを小さく分割したり、既存のファイルへ変更セットを適用して更新したり、といった処理で利用されます。 Osmosisは非常に多機能で、Wikiにその機能詳細が記載されています。ただし、コマンドラインやOpenStreetMapに不慣れな利用者が扱うには、その機能のほとんどは非常に複雑、かつ難解です。この章ではOsmosisの概要、Windowsへのインストール方法、基本的なコマンドラインの使い方を解説します。 Omsosisのインストール前の章で紹介した osm2pgsql と同様、コマンドラインで利用するためには osmosis をダウンロードしてセットアップする必要があります。この際に必要な作業は、osm2pgsqlとたいへんよく似ています。 また、作業対象となるOSMの生ファイルも必要です。この章で挙げる例を実行するためにサンプルを用意しましたので、ダウンロードしておきましょう。もちろん、あなたが使いたいファイルがもしあれば、それを使ってもかまいません。 以下の手順に従って、Osmosisのダウンロードと準備を行ってください:
データのフィルタリングこれで、コマンドプロンプトからOsmosisを操作することができるようになりました。次に、OSMデータファイルを操作するため、 sample_osmosis.osm.pbf ファイルを格納した作業ディレクトリを作成し、そこへ移動する必要があります。動作を単純化するため、ファイルは C:\ のディレクトリに配置します。
それでは、Osmosisコマンドを試してみましょう。まずは、サンプルの大きなファイルからすべての学校 (school) だけを抽出するフィルタを実行します。 これを実行するには、Osmosisへいくつかの指示を与える必要があります。指定すべき項目は:
実行するコマンドは以下となります:
このコマンドをプロンプトに入力して実行してみましょう。処理が完了すると、同じディレクトリ内に school.osm というファイルが生成されます。そのファイルをJOSMで開くと、サンプルのファイルから学校のデータだけが抜き出された結果だけが表示されます。 今回実行したコマンドをひとつひとつ分解して、どのような指定で動作しているか、確認してみましょう。 最初に、プログラムの名称を呼び出しています。
次に、入力ファイルを指定しています。このファイルは圧縮された形式であることに注意してください。 –rbf という記述は、より読みやすい記述方法で書くと –read-pbf-fast となります。Osmosisはこの指定に続く文字列が、読み込み対象のファイルであることを認識します。
コマンドの次の部分は、 –nkv keyValueList=”amenity.school” となっています。 amenity=school というタグを付与されているオブジェクトをすべて抽出するよう、osmosisに指定が行われていることがわかるかとおもいます。 –nkv は –node-key-value を短縮した書き方です。このコマンド指定により、Osmosisはそれに続くタグを持ったノードだけを抽出する処理を行います。カンマを加える事で、複数の key.value を追加指定することが可能です。
最後の部分では、出力するファイルの名前とファイル形式が指定されています。使われているフラグは –wx で、 –write-xml の省略形です。出力ファイルをもう一度PBF形式で行う場合には、入力時に使用した –rbf と対応する指定である –wbf という記述を行うことも可能です。
今後の学習方法Osmosisで実現可能な処理は非常に多岐にわたります。具体的にどのようなことができるかは、OSM wikiにあるOsmosisの詳細な使い方を参照するのが最善です。 その中でも、大きなOSM生ファイルを小さなファイルに分割する作業はとても有益です。分割は特定のポリゴン形状でも、範囲矩形でも指定が可能です。この処理の基本的な指定方法はOsmosisコマンドサンプルページを参照してください。
この章はわかりやすかったでしょうか?
分かりづらかったポイントがあれば教えていただけると幸いです
|