如何基于邮政编码制作一个等值线?

时间:2014-03-30 09:54:28

标签: d3.js topojson

我想使用d3创建一个氯文件,为美国不同的邮政编码区域分配不同的颜色。与此类似,除了邮政编码: http://bl.ocks.org/mbostock/4060606

但是,我找不到美国邮政编码的topojson。这提供了一种为zip codess生成topojson的方法:https://github.com/mbostock/us-atlas

但我的Mac已经运行了几个小时的脚本。奇怪的是,我在互联网上找不到任何成功生成邮政编码文件的人。

我还可以使用zip3区域 - 基本上是前3位数字的邮政编码区域。但是,我找不到这个部门的任何topojson。

我在哪里可以找到包含美国邮政编码或zip3区域形状的topojsons或文件?

1 个答案:

答案 0 :(得分:4)

邮政编码topojson太大而无法使用。 Zip3 geoJSON文件超过550MB,没有简化。简化0.00001,超过370MB。如果我把它简化为0.001,那么你可以得到39MB。在通过topojson运行后它会降到1.1MB,但你最终会得到一张看起来像Everquest Texas的多边形的美国地图会发生严重变形。我认为快乐的媒介是0.0001这给你一个大约4.8MB的topojson文件。这是过程。

  1. 下载Zip3文件here
  2. 提取到您的工作目录
  3. 运行ogr2ogr -simplify 0.0001 -f GeoJSON zip3.json zip3.shp
  4. 运行topojson --id-property ZIP3 -o zip3topo.json -- zip3.json
  5. ogr2ogr需要一些时间,但现在你有一个topojson文件将渲染为这样。 enter image description here