【问题标题】:Does anyone know of a free Neighborhood Database? [closed]有人知道免费的社区数据库吗? [关闭]
【发布时间】:2011-09-14 21:25:10
【问题描述】:

在 PHP/Zend 中开发 SaaS 应用程序,并希望为用户提供按社区和邮政编码半径搜索的能力。我们一直在努力寻找一个像样的美国社区数据库,但到目前为止只找到了非常昂贵的资源。

有没有人通过邮政编码或纬度/经度找到/建立邻里数据库?

【问题讨论】:

    标签: api geospatial distance nearest-neighbor


    【解决方案1】:

    刚刚找到了一种从 2 个数据源创建我自己的 Neighborhood 数据库的方法。一个是带有纬度/经度质心的美国邮政编码的完整文件。另一个是来自 USGS 的免费文件,位于 http://geonames.usgs.gov/domestic/download_data.htm

    好消息是,USGS 文件有一个名为“Populated Places”的要素类型,在市区包含社区名称。我针对 Urbanmapping 进行了测试,针对旧金山和亚特兰大进行了测试,除了 1 个社区名称(通过 Neighborhood API 演示)。

    由于邮政编码文件和 USGS 文件都有纬度/经度,剩下要做的就是将街区名称与邮政编码相关联。为此,您可以使用以下等式并计算所有邮政编码 lat/long 和所有 Populated Place lat/long 之间的距离,然后根据您要包含的距离进行选择。我使用 5 英里半径作为 zip 质心。这是等式:

    ((ACOS(SIN('.$latitude.' * PI() / 180) * SIN(latitude * PI() / 180) + COS('.$latitude.' * PI() / 180) * COS(latitude * PI() / 180) * COS(('.$longitude.' – longitude) * PI() / 180))* 180 / PI()) * 60 * 1.1515) AS 距离

    希望这可以帮助其他人在同样的问题上苦苦挣扎,并且很难证明许可这些数据的成本是合理的(这对于初创公司来说是巨大的)。

    【讨论】:

    • 理查德,感谢您抽出宝贵时间发布此消息!
    • 你能发布你的代码吗?
    • 虽然这种方法是正确的,但我强烈建议避免使用 USGS "Populated Places" 数据集。它包含许多不寻常的条目,如“拖车公园”、“移动房屋公园”、“露营地”等。更糟糕的是,社区名称往往不是居民熟悉和使用的熟悉名称。最好的方法是从download.geonames.org 下载大型(免费!)美国数据集,并为某些“P”要素类实体解析该数据集。所有的条目都是非常好的和熟悉的名字。然后进行详尽的距离搜索,将每个邮政编码链接到最近的 Geonames 条目。
    • 看起来Geonames.org 数据集还包含来自USGS "Populated Places" 数据集的移动房屋和拖车停车场条目,因此您仍需要进行一些字符串过滤。但Geonames.org 数据集肯定比USGS "Populated Places" 数据集有明显更好的社区名称。
    【解决方案2】:

    我认为这涵盖了您的问题:https://stackoverflow.com/questions/6095392/resolve-city-code-from-user-input/6354044#6354044

    或者,这可能会提供价值:resolve city from user input。特别是@Michael Borgwardt 的回答。

    【讨论】:

    • 实际上,我正试图避免为此依赖其他服务。我正在寻找的是是否有人拥有带有邮政编码、城市、州、neighborhood1、N2、N3 的数据库以及邮政编码的纬度/经度
    • 你能发布你的代码吗?
    【解决方案3】:

    不确定数据有多好,但 Zillow 有一些知识共享数据:http://www.zillow.com/howto/api/neighborhood-boundaries.htm

    【讨论】:

      【解决方案4】:

      我构建了这个工具,至少在邮政编码的半径范围内可以做到这一点:

      http://www.woodstitch.com/resources/zip-code-catcher.php

      如果您需要知道如何在一个区域内实用地获取邮政编码,它会变得有点棘手但仍然非常可行 - 我在这里写了博客解释如何做到这一点:http://taylor.woodstitch.com/php/php-mysql-best-solutions-for-finding-points-in-a-polygon-from-a-database/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-09-29
        • 1970-01-01
        • 2012-02-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-14
        • 2021-09-16
        相关资源
        最近更新 更多