【发布时间】:2013-11-16 08:22:48
【问题描述】:
大家好,我正在使用 geopy 来计算纬度和经度。现在我想获取与邮政编码距离给定的区域列表。如何获得?
【问题讨论】:
标签: python-2.7 geopy
大家好,我正在使用 geopy 来计算纬度和经度。现在我想获取与邮政编码距离给定的区域列表。如何获得?
【问题讨论】:
标签: python-2.7 geopy
好吧,正如我所见,geopy 没有任何内置功能来获取某些坐标周围的区域列表。
但您可以使用解决方法。获取您的地理编码并计算坐标(纬度和经度)。然后想象地图上的一个网格,其单元格大小等于您需要在您所在位置周围找到的最小单元格的面积。
使用 geopy 获取属于网格每个单元角的区域名称。这个可以吗?它会为您提供某种近似值,因为网格不是圆形,您可能会错过一些小区域。但我认为在大多数情况下,该解决方案都可以正常工作。
【讨论】:
在矩形内定位邮政编码比在圆形内定位要容易得多,因此我建议您通过在给定矩形内查找邮政编码来近似您的问题。
以下是如何在给定多边形中获取邮政编码列表的问题的答案:Find zipcodes inside polygon shape using google maps api
总结
您需要每个邮政编码的几何图形。一旦你有了它,你需要能够使用支持地理查询的数据库来查询它。一个这样的数据库是 Google 的 Fusion Table,这里已经有一个用于邮政编码的几何数据表:https://www.google.com/fusiontables/DataSource?docid=1AxB511DayCdtmyBuYOIPHIe_WM9iG87Q3jKh6EQ#rows:id=1
这是 Fusion Table 数据的 sample query。
另一种方法是使用 PHP 和 CSV 数据的服务器端代码。这是现场演示:http://daim.snm.ku.dk/demo/zip/。该页面也有代码下载。
如果您使用上述任何一种技术,请确保为原作者的答案投票:)。
【讨论】: