OpenStreetMap coastline(海岸線)+ water (陸水域)から GeoJSON Polygon 生成


こんにちは。
OpenStreetMap natural=coastline (海岸線) と natural=water (陸水域) のデータから、海+陸水の GeoJSON Polygon を作りました1

OpenStreetMap coastline(海岸線)から GeoJSON LineString 生成」の続編です。同じく OSMCoastline(および homebrew)を利用しています。日本の例です2

$ brew install jq gdal osmcoastline
$ 
$ wget http://download.geofabrik.de/asia/japan-latest.osm.pbf
$ osmcoastline -p water -o japan-coastline.db japan-latest.osm.pbf
$ ogr2ogr -f "GeoJSON" japan-coastline.json japan-coastline.db water_polygons
$ 
$ ogr2ogr -f "GeoJSON" japan-water.db japan-latest.osm.pbf -sql "SELECT OGR_GEOM_WKT from multipolygons WHERE natural='water'" -dialect OGRSQL
$ jq '.features[]' japan-coastline.json japan-water.db | jq -s '{"type":"FeatureCollection", "features":.}' | gzip > japan-coastline_water.json.gz

  1. "OSM Water Layer: Surface Waters in OpenStreetMap" (Dai YAMAZAKI's website) も参考になります。 ↩ 

  2. これの結果を見ますと OSM データの natural=water のタグ付けはあまり完全ではないようです。