如何转换lat lon到zipcode或state以生成等值线图

时间:2011-03-11 03:01:44

标签: python mongodb visualization geospatial data-visualization

我有大量的(并且正在增长的)地理空间数据(lat,lon)点(存储在mongodb中,如果有帮助的话)。 我想生成一个等值区域图(http://vis.stanford.edu/protovis/ex/choropleth.html),它需要知道包含该点的状态。有没有一个数据库或算法可以做到这一点,而无需调用外部API(即我知道像geopy和谷歌地图API这样的东西)。

5 个答案:

答案 0 :(得分:3)

实际上,您链接的网络应用包含您需要的数据 -

如果您查看每个州的http://vis.stanford.edu/protovis/ex/us_lowres.js,则border []包含一条描述状态的[lat,long]折线。加载此数据并检查多边形点 - http://en.wikipedia.org/wiki/Point_in_polygon

Reverse Geocoding Without Web Access你可以通过预先计算每个状态的边界框来加快速度,并且只测试点边框中的多边形点。

答案 1 :(得分:1)

Here如何在FORTRAN中执行此操作。还记得FORTRAN吗?我也不。无论如何,它看起来很简单,因为每个州都有自己的范围。

编辑有人指出,你的起点是LAT-LONG,而不是邮政编码。

将纬度转换为政治分割的算法称为“地图”。说真的,这是allan普通地图,是某个范围内每个点到它所属的分区的映射。所有48个连续状态的详细数字地图将是一个大数据库,然后您需要一些(相当简单的)代码来确定每个状态(描述为概述边界的一系列线段)是否给定点在其中或者出去。

答案 2 :(得分:1)

您可以尝试使用Geonames数据库。它有长/纬,以及城市,邮政和其他位置类型的数据。它也是免费的。

但是如果你需要在本地托管它或将其导入你自己的数据库,USGS和NGA提供了一个包含lat / lon的城市的综合列表。它是定期更新,免费且可靠的。

  1. http://geonames.usgs.gov
  2. http://earth-info.nga.mil/gns/html/index.html

答案 3 :(得分:0)

不确定数据的质量,但请注意:http://www.boutell.com/zipcodes/

答案 4 :(得分:0)

如果您不介意非常原始解决方案,则可以调整点击地图here