OpenStreetMapのデータから鉄道だけを抽出してGeoJSONで出力する方法

作成日
キーワード
GIS OpenStreetMap osmium osm GeoJSON

先ず、OpenStreetMapのデータをgeofabrik.deからダウンロードします。ここでは、関東のデータkanto-latest.osm.pbfを使用します。

次にOsmiumを使用してタグがrailwayのデータだけを抽出し、kanto-railwa-latest.osm.pbfとして出力します。

osmium tags-filter kanto-latest.osm.pbf \
  w/railway \
  -o kanto-railway-latest.osm.pbf

これを、次のコマンドでGeoJSON形式に変換します。

osmium export kanto-railway-latest.osm.pbf \
  -o kanto-railway-latest.json

得られたkanto-railway-latest.osm.pbfやkanto-railway-latest.jsonをQGISを使用して表示すると図1や図2のようになり、鉄道だけを抽出できたことが確認できます。

図1: OpenStreetMapのkanto-latest.osm.pbfから鉄道だけを抽出した結果をQGISで表示した様子

OpenStreetMapのkanto-latest.osm.pbfから鉄道だけを抽出した結果の大井町品川大崎付近をQGISで表示した様子