如何为加州人口密度正确生成 TopoJSON
How to properly generate TopoJSON for California Population Density
我一直在尝试遵循 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
这是我的文件(带 ca.json 的形状文件):http://dropcanvas.com/akgqb
但是,我的输出与 Mike 的 ca.json 不同: 'population' 属性 除了 'area' 属性 之外: https://paste.ee/p/RGApI
我不知道我做错了什么。我可能对我的特定文件使用了错误的 TopoJSON 命令。
我已经为此苦苦挣扎了几天,所以非常感谢任何帮助。谢谢!
由于您没有提供所有与 shp 相关的文件,我只能假设您可能需要从 topojson 命令中删除“+”符号。这些属性在 cvs 文件中已经是整数。尝试一下,让我知道它是否有效。
另一个可能的问题是 CSV 文件中的第二行。这可能是不必要的。尝试删除它并重新运行命令。
或者只上传其余文件,以便我们可以正确检查命令。
我一直在尝试遵循 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
这是我的文件(带 ca.json 的形状文件):http://dropcanvas.com/akgqb
但是,我的输出与 Mike 的 ca.json 不同: 'population' 属性 除了 'area' 属性 之外: https://paste.ee/p/RGApI
我不知道我做错了什么。我可能对我的特定文件使用了错误的 TopoJSON 命令。
我已经为此苦苦挣扎了几天,所以非常感谢任何帮助。谢谢!
由于您没有提供所有与 shp 相关的文件,我只能假设您可能需要从 topojson 命令中删除“+”符号。这些属性在 cvs 文件中已经是整数。尝试一下,让我知道它是否有效。 另一个可能的问题是 CSV 文件中的第二行。这可能是不必要的。尝试删除它并重新运行命令。 或者只上传其余文件,以便我们可以正确检查命令。