如何为加州人口密度正确生成TopoJSON

时间:2016-10-29 17:48:05

标签: javascript d3.js geojson shapefile topojson

我一直试图关注Mike Bostock的加州人口密度示例:bl.ocks.org/mbostock/5562380

我克隆了他的Git仓库并将他的counties.shp带到了加利福尼亚州,然后我去了Census.gov网站下载最新的2015年加利福尼亚州的管道文件。

然后我在两个 shapefile上运行以下命令以重新投影它们:

ogr2ogr \
    -f 'ESRI Shapefile' \
    -t_srs 'EPSG:3310' \
    counties.shp \
    shp/ca/counties.shp

ogr2ogr \
    -f 'ESRI Shapefile' \
    -t_srs 'EPSG:3310' \
    tracts.shp \
    shp/ca/cb_2015_06_tract_500k.shp

在此之后,我运行了以下TopoJSON命令:

topojson
    -e ACS_14_5YR_B01003_with_ann.csv \
    --id-property GEOID,GEO.id2 \
    -p population=+HD01_VD01,area=+ALAND \
    -s 1 \
    --width 960 \
    --margin 10 \
    -o ca.json \
    -- tracts.shp counties.shp

以下是我的文件(shapefiles w / ca.json):http://dropcanvas.com/akgqb

然而,我的输出与迈克的ca.json不同:'人口'除了'区域之外,物业被遗漏了。财产: https://paste.ee/p/RGApI

我不知道我做错了什么。我可能对我的特定文件使用TopoJSON命令错误。

我已经在这几天苦苦挣扎,所以任何帮助都会非常感激。谢谢!

1 个答案:

答案 0 :(得分:0)

由于您没有提供所有与shp相关的文件,我只能假设您可能必须删除" +" topojson命令中的符号。这些属性已经是cvs文件中的整数。尝试一下,让我知道它是否有效。 另一个可能的问题是CSV文件中的第二行。这可能是不必要的。尝试删除它并重新运行该命令。 或者只是上传其余文件,以便我们可以正确检查命令。