美国邮政编码的TOPOJson文件适用于D3。

4
我正在使用D3制作美国地图,我需要实现三个级别的缩放,从全国地图到州地图,再从州地图到县地图,最后从县地图到邮政编码边界。

我已经完成了前两个级别,使用了AngularJS指令。

GIST URL:D3 two level Zoom

现在我需要实现第三个层次,进入县级地图并显示所有邮政编码级别区域的边界。我已经搜索了很多关于邮政编码级别几何的信息,我在stackoverflow上找到了一个有用的问题,但这些数据只与州名相关联,我还需要县名,因为我只需要为点击的特定县绘制边界,请问如何获取正确的数据。我找到了US Atlas project,虽然希望它能帮助我,但我还不能完全理解它。

2个回答

4

请按照您提供的链接中的设置us-atlas的说明进行操作。然后运行:

make shp/us/zipcodes-unmerged.shp

这将下载一个zip文件(约500MB),然后将.shp文件(约800MB)提取到您安装us-atlas的目录shp/us/中。
如果您不想使用us-atlas,您可以通过访问此网站获取zip文件:

http://www.census.gov/geo/maps-data/data/tiger-line.html

选择您想要的年份标签,然后选择“下载”标签。如果使用“Web界面”链接,请使用菜单浏览邮政编码数据。如果选择“FTP网站”链接,则邮政编码数据位于文件夹ZCTA5中。
这些文件显然非常庞大。请查看Mike Bostock提供的示例,他提到如何使用topojson简化shapefile,从而创建一个更易管理的约7MB文件。

2
需要注意的一点是:县和邮政编码之间没有保证的1:1映射关系。邮政编码区域可以跨越县界,因此根据您实现缩放的方式,您可能需要意识到这一点。 - angus l

0

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