【问题标题】:how to query the database to return all zip codes with a given distance (ie 5 miles) from a given zip code using geopy如何使用 geopy 查询数据库以返回与给定邮政编码的给定距离(即 5 英里)的所有邮政编码
【发布时间】:2013-11-16 08:22:48
【问题描述】:

大家好,我正在使用 geopy 来计算纬度和经度。现在我想获取与邮政编码距离给定的区域列表。如何获得?

【问题讨论】:

    标签: python-2.7 geopy


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      在矩形内定位邮政编码比在圆形内定位要容易得多,因此我建议您通过在给定矩形内查找邮政编码来近似您的问题。

      以下是如何在给定多边形中获取邮政编码列表的问题的答案: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/。该页面也有代码下载。

      如果您使用上述任何一种技术,请确保为原作者的答案投票:)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-10-21
        • 1970-01-01
        • 1970-01-01
        • 2011-04-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多