我通常会看到并使用第一个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
答案 0 :(得分:1)
ogr2ogr有一个-where参数。你可以使用-where" name = NAME"过滤shp文件的功能