国会选区的topoJSON

24

有人看到过美国国会选区的topoJSON文件吗?或者,如果我能找到坐标或geoJSON文件,将其转换为弧线(arcs)是否容易?

4个回答

69
官方地图边界更可能以shapefile形式而不是GeoJSON或TopoJSON形式出现,尽管在这种情况下,您可以在GitHub上的jsongeo/cd113存储库中找到两者(cd113.topojson)。
要直接从美国人口普查局获取数据,只需进行一些谷歌搜索即可找到第113届国会的 TIGER/Line shapefiles。 (由于国会每次更替后,国会选区会略有变化,因此请确保您使用了适当的版本!) 点击“按图层排序的FTP站点”,您将找到一个名为CD113的神秘文件夹,而在最底部,则是一个压缩的38M形状文件tl_rd13_us_cd113.zip,其中包含整个美国的国会选区。 这个文件太大了,您无法直接使用它,但您可以按照让我们制作地图教程使用ogr2ogrtopojson将形状文件转换为更易管理的表示形式。

具体来说,您需要将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)是可选的,但如果您要在浏览器中显示静态地图,则通常是一个好主意;我调整了阈值以保留约一半的点,但您可以使用更大的阈值使文件更小。

就是这样:

113th U.S. Congressional Districts

您可能需要将TopoJSON文件与us.json中的landstates特征结合起来,因为在大多数地图中,您需要将国会选区剪切到陆地边界,并在州之间绘制一些额外的边界。这可以通过使用多个输入参数将TopoJSON文件组合来完成。


3
非常好用,谢谢!我需要2008年的边界,所以感谢你教会我如何捕鱼。 - Chris Wilson
有没有办法将区域的TopoJSON文件与此州名文件 https://gist.githubusercontent.com/mbostock/4090846/raw/d534aba169207548a8a3d670c9c2cc719ff05c47/us-state-names.tsv 结合起来,以创建属性,在主要的TopoJSON文件中显示每个区域属于哪个州?我是完全的Datamaps新手。 - gregdevs
你有关于找到/生成116届美国国会新地图的建议吗?我只能找到一个SVG地图,还有一些带有地理数据但不知如何导出的搜索结果。人口普查局似乎还没有116届的形状文件。 - supertrue

2
另一个很好的资源是美国的 Github 存储库:

https://github.com/unitedstates/districts

该存储库包含每个国会选区的KML和GeoJSON文件,按日期分别放置在不同的文件夹中。

1

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接