Обычно я вижу и использую первую команду ogr2ogr
для преобразования из .shp
в .geoJSON
. Во второй команде я использую topojson.js
для преобразования формата .geoJSON
в формат .topoJSON
с упрощением точности, координат, дуг и фильтрации, чтобы сохранить только релевантные метаданные. Пример :
# DOWNLOAD: Data from http://gadm.org/
CRI_adm.zip:
curl -o CRI_adm.zip http://gadm.org/data/shp/CRI_adm.zip
CRI_adm0.shp: CRI_adm.zip
unzip CRI_adm.zip
touch CRI_adm0.shp
# PROCESS DATA: SIMLIFY, FILTER
costarica.json: CRI_adm0.shp
ogr2ogr -f GeoJSON costarica.json CRI_adm0.shp
# Require topojson: https://github.com/mbostock/topojson
# (this minifies/simplifies the data)
costarica_min_topo.json: costarica.json
topojson \
-p name=NAME \
-p name \
-q 1e4 \
-o costarica_min_topo.json \
costarica.json
Но, поскольку topojson.js
может преобразовывать из .shp
напрямую в .topoJSON
, с упрощением точности, координат, дуг, можем ли мы перейти к ogr2ogr
и напрямую преобразовать и отфильтровать с помощью одной команды topojson.js
? Такие:
# PROCESS DATA: SIMLIFY, FILTER
topojson \
-p name=NAME \
-p name \
-q 1e4 \
-o costarica_min_topo.json \
CRI_adm0.shp