如何查询数据库以使用geopy从给定的邮政编码返回给定距离(即5英里)的所有邮政编码

时间:2013-11-16 08:22:48

标签: python-2.7 geopy

嗨,我发现我正在使用geopy来计算纬度和经度。现在我想得到一个与邮政编码保持距离的区域列表。如何得到它?

2 个答案:

答案 0 :(得分:0)

嗯,正如我所看到的,geopy没有任何内置功能来获取某些坐标周围的区域列表。

但您可以使用解决方法。拿你的地理编码并计算坐标(latitue和经度)。然后想象地图上的网格,其单元格大小等于您需要在您的位置周围找到的最小区域。

使用geopy获取属于网格每个单元格角的区域名称。你觉得可以吗?它将为您提供某种近似,因为网格不是圆形,您可能会错过一些小区域。但我认为在大多数情况下解决方案都能正常运行。

答案 1 :(得分:0)

在矩形内部定位拉链代码比在圆形内部更容易,因此我建议您通过查找给定矩形内的zipcodes来近似解决问题。

以下是如何获取给定多边形中的zipcodes列表的问题的答案:Find zipcodes inside polygon shape using google maps api

<强>摘要

每个邮政编码都需要几何图形。完成后,您需要能够使用支持地理查询的数据库进行查询。一个这样的数据库是谷歌的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/。该页面还有代码下载。

如果您使用上述任何一项技巧,请务必提交原作者的答案:)。