有没有人看过美国国会选区的 topoJSON 文件?或者,如果我可以找到坐标或 geoJSON 文件,是否容易转换为弧线?
请您参考如下方法:
官方制图边界更有可能作为 shapefile 而不是 GeoJSON 或 TopoJSON 找到,尽管在这种情况下,您可以在 jsongeo/cd113 中找到两者。 GitHub 上的存储库 ( cd113.topojson )。
要直接从美国人口普查局获取数据,只需在 Google 上稍加搜索即可找到 TIGER/Line shapefiles第 113 届代表大会。 (国会选区因国会而略有不同,因此请注意使用适当的版本!)单击“按层排序的 FTP 站点”,您会发现名称神秘的 CD113文件夹,在最底部,tl_rd13_us_cd113.zip ,一个 38M 的压缩形状文件,其中包含整个美国的国会选区。这个文件太大了,不能直接使用,你可以关注Let’s Make a Map使用教程ogr2ogr和 topojson将 shapefile 转换为更易于管理的表示。
具体来说,您首先要将 Shapefile 转换为 GeoJSON(101MB!):
ogr2ogr -f GeoJSON districts.json tl_rd13_us_cd113.shp
然后将 GeoJSON 转换为 TopoJSON 并简化(仅 472KB):
topojson -s 7e-9 --id-property=+GEOID -o us-congress-113.json -- districts.json
现在,几何 ID (
d.id / 1000 | 0
) 的前两位数字是州 FIPS 代码(请参阅
us-state-names.tsv ),后两位数字是该州内的国会选区号(
d.id % 1000
)。简化 (
-s
) 是可选的,但如果您在浏览器中显示静态 map ,这通常是一个好主意;我调整了阈值以保留大约一半的点,但是您可以通过使用更大的阈值使文件更小。
你有它:
您可能希望将 TopoJSON 文件与来自 us.json 的土地和州特征结合起来。 ,因为在大多数 map 中,您需要将国会选区裁剪到陆地边界,并在州之间绘制一些额外的边界。这可以通过使用多个输入参数将 TopoJSON 文件组合到 topojson 二进制文件来完成。