ユーザ用ツール

サイト用ツール


サイドバー

サーバソフトウェア:mapshaper:ramer-douglas-peuckerアルゴリズムで簡略化_geojson形式で出力

Ramer-Douglas-Peucker アルゴリズムで簡略化&GeoJSON形式で出力

Ramer-Douglas-Peucker アルゴリズムで簡略化を行いつつ、GeoJSON形式で出力する方法。

# 20%まで簡略化し、GeoJSON形式で出力
$ mapshaper shape/A32-16_12.shp encoding=sjis -simplify dp 20% -o format=geojson output/geo_dp20.json

# 50%まで簡略化し、GeoJSON形式で出力
$ mapshaper shape/A32-16_12.shp encoding=sjis -simplify dp 50% -o format=geojson output/geo_dp50.json

# 簡略化を行わず、GeoJSON形式で出力
$ mapshaper shape/A32-16_12.shp encoding=sjis -o format=geojson output/geo_100.json

# サイズを確認
$ ls -lhSr output/
合計 16M
-rw-r--r-- 1 test test 2.0M mm dd HH:ii:ss geo_dp20.json
-rw-r--r-- 1 test test 4.7M mm dd HH:ii:ss geo_dp50.json
-rw-r--r-- 1 test test 9.1M mm dd HH:ii:ss geo_100.json

# 元のシェープファイルのサイズを確認
ls -lh shape/
合計 3.8M
-rw----r-- 1 test test  45K  mm dd HH:ii:ss A32-16_12.dbf
-rw----r-- 1 test test 3.8M  mm dd HH:ii:ss A32-16_12.shp
-rw----r-- 1 test test 2.4K  mm dd HH:ii:ss A32-16_12.shx

# ちなみに、上記コマンドでは「encoding=sjis」でシェープファイルの文字エンコードを指定しています
# エンコードを指定せずに実行すると以下のようなエラーが出ます
$ mapshaper shape/A32-16_12.shp -o format=geojson output/geo_100.json
[o] Error: Unable to auto-detect the text encoding of the DBF file.
To avoid corrupted text, re-import using the "encoding=" option.
To see a list of supported encodings, run the "encodings" command.
Run mapshaper -h to view help

# 指定できるエンコードの種類は以下のコマンドで確認できます
$ mapshaper -encodings

コメント

コメントを入力. Wiki文法が有効です:
 
サーバソフトウェア/mapshaper/ramer-douglas-peuckerアルゴリズムで簡略化_geojson形式で出力.txt · 最終更新: 2019/04/12 15:51 by yusuke_komori