在一个命令中过滤到topojson?

时间:2014-05-03 11:12:25

标签: topojson

我通常会看到并使用第一个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

1 个答案:

答案 0 :(得分:1)

ogr2ogr有一个-where参数。你可以使用-where" name = NAME"过滤shp文件的功能