## 国連と始めるベクトルタイル ### 河川・流域データ編 #### FOSS4G 2019 Niigata ハンズオン #### 株式会社マップル・オン 柴本歩 当スライドのURL http://bit.ly/2kwjUqU --- ## 河川・流域データとは 国土交通省が公開している[国土数値情報](http://nlftp.mlit.go.jp/ksj/)のひとつ * 河川 - 流路の中心線(LINE)と分合流点(POINT) * 流域 - 100mメッシュの<span style="color:red">正方ポリゴン群</span> --- そのままでは使いにくいのでハンズオン教材として加工済みのものを使用します。 --- ## 完成像 <iframe width = 100% height=500 src="https://d17fk1omfyl6zm.cloudfront.net/"></iframe> --- ## 新しい unvt/rasv コンテナ上でやります **Ctrl-p Ctrl-q**で今のコンテナを抜けてください <span style="color:red">注意: exitで抜けるとコンテナが初期化されます</span> ポート番号を変えて、ホスト側のディレクトリがコンテナ内にマウントされるように、docker run ```shell docker run -ti --rm -p 3001:3000 -p 8889:8888 \ -v <DLファイルが置いてあるdir>:/media \ unvt/ango ``` --- ### foss4g-2019-niigata-handson.tar.xz をDL済の方 アーカイブ展開 ```shell tar -Jxf /media/foss4g-2019-niigata-handson.tar.xz cd foss4g-2019-niigata-handson ``` --- ### DLしてない方 コンテナ内から直接下記を実行 ```shell # DL 120MBあります curl -L -o foss4g-2019-niigata-handson.tar.xz https://www.dropbox.com/s/8kbl7dxq6lld13b/foss4g-2019-niigata-handson.tar.xz?dl=1 # アーカイブ展開 tar -Jxf foss4g-2019-niigata-handson.tar.xz cd foss4g-2019-niigata-handson ``` --- ### UNVTツールキット<br>modify.js に相当する工程 ```shell ogr2ogr mainstream.geojsons mainstream.csv -dialect SQLite -sql @modify-mainstream.sql -oo KEEP_GEOM_COLUMNS=NO -oo EMPTY_STRING_AS_NULL=YES ogr2ogr stream.geojsons stream.csv -dialect SQLite -sql @modify-stream.sql -oo KEEP_GEOM_COLUMNS=NO -oo EMPTY_STRING_AS_NULL=YES ogr2ogr watersystem.geojsons watersystem.csv -dialect SQLite -sql @modify-watersystem.sql -oo KEEP_GEOM_COLUMNS=NO -oo EMPTY_STRING_AS_NULL=YES ogr2ogr unitvalley.geojsons unitvalley.csv -dialect SQLite -sql @modify-unitvalley.sql -oo KEEP_GEOM_COLUMNS=NO -oo EMPTY_STRING_AS_NULL=YES ``` 柴本式ではnode.jsではなくogr2ogr内でSQLを使います。これをmodify.sqlと呼ぶことにします。 --- ### UNVTツールキット<br>TippecanoeでMVT化 ```shell # まずは大縮尺の分 tippecanoe -P -z 10 -Z 10 -d 22 -o river-L.mbtiles \ -L stream:stream.geojsons \ -L unitvalley:unitvalley.geojsons # 次に小縮尺の分 tippecanoe -P -z 9 -Z 5 -o river-S.mbtiles \ -L mainstream:mainstream.geojsons \ -L watersystem:watersystem.geojsons # 2つのmbtilesを統合 tile-join -o river.mbtiles river-L.mbtiles river-S.mbtiles ``` 成果物は river.mbtiles --- ### ホスティングの準備 ```shell # スタイルJSONとindex.htmlを環境に合わせる sed river-style.json -i -e "s#https://d17fk1omfyl6zm.cloudfront.net/glyphs/{fontstack}/{range}.pbf#http://localhost:3001/fonts/{fontstack}/{range}.pbf#" sed river-style.json -i -e "s#https://d17fk1omfyl6zm.cloudfront.net/river-mvt/{z}/{x}/{y}.pbf#http://localhost:3001/zxy/{z}/{x}/{y}.pbf#" sed river-style.json -i -e 's/"sans"/"NotoSansCJKjp-Regular"/g' sed index.html -i -e "s#https://unpkg.com/mapbox-gl@latest/dist/mapbox-gl.js#mapbox-gl.js#" sed index.html -i -e "s#https://unpkg.com/mapbox-gl@latest/dist/mapbox-gl.css#mapbox-gl.css#" sed index.html -i -e 's/"sans"/"NotoSansCJKjp-Regular"/g' ``` --- ### ango-hostに間借り ```shell cd ~/ango-host yarn cp -f ~/foss4g-2019-niigata-handson/index.html htdocs cp -f ~/foss4g-2019-niigata-handson/river-style.json htdocs cp -f ~/foss4g-2019-niigata-handson/river.mbtiles ~/ango-produce/tiles.mbtiles ``` サーバー起動 ```shell rake start ``` --- ### Webブラウザで表示 http://localhost:3001/
{"metaMigratedAt":"2023-06-14T23:59:53.476Z","metaMigratedFrom":"Content","title":"Untitled","breaks":true,"contributors":"[{\"id\":\"3cb582d0-025d-4ee4-825c-e9327ff700e7\",\"add\":4181,\"del\":960}]"}
    1082 views