3

Working on a SaaS application in PHP/Zend and want to provide users with the ability to search by neighborhood as well radius from zip code. We've been trying to find a decent Neighborhood DB of the US, but so far have only found very expensive sources.

Has anyone found/built a neighborhood db either by zip code or by lat/long?

4

4 回答 4

14

刚刚找到了一种从 2 个数据源创建我自己的 Neighborhood 数据库的方法。一个是带有纬度/经度质心的美国邮政编码的完整文件。另一个是来自美国地质调查局的免费文件,位于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.' – 经度) * PI() / 180))* 180 / PI()) * 60 * 1.1515) AS 距离

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

于 2011-06-21T23:19:34.983 回答
1

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

或者,这可能会提供价值:从用户输入中解析城市。特别是@Michael Borgwardt 的回答。

于 2011-06-15T08:12:58.980 回答
0

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

于 2015-04-10T16:50:55.330 回答
-1

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

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/

于 2012-12-02T03:03:35.517 回答