有谁知道免费的邻居数据库?

时间:2011-06-14 17:03:25

标签: api geospatial distance nearest-neighbor

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

是否有人通过邮政编码或lat / long找到/建立了邻居数据库?

4 个答案:

答案 0 :(得分:14)

刚刚找到了一种从2个数据源创建自己的Neighborhood数据库的方法。一个是带有Lat / Long Centroids的美国邮政编码的完整文件。另一个是来自USGS的http://geonames.usgs.gov/domestic/download_data.htm

的免费文件

好消息是USGS文件有一个名为“人口稠密地点”的要素类型,在城市地区包含社区名称。我对Urbanmapping进行了测试,对于旧金山和亚特兰大,它只有1个邻居名称(通过Neighborhood API演示)。

由于邮政编码文件和USGS文件都有纬度/经度,因此唯一要做的就是将邻域名称与邮政编码相关联。为此,您可以使用以下等式计算所有邮政编码纬度/经度和所有填充位置纬度/经度之间的距离,然后根据您想要包含的距离进行选择。我使用5英里半径的拉链质心。这是等式:

((ACOS(SIN('。$ latitude。'* PI()/ 180)* SIN(纬度* PI()/ 180)+ COS('。$ latitude。'* PI()/ 180)* COS(纬度* PI()/ 180)* COS(('。$经度。' - 经度)* PI()/ 180))* 180 / PI())* 60 * 1.1515)AS距离

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

不确定数据有多好,但Zillow有一些创意公告数据:http://www.zillow.com/howto/api/neighborhood-boundaries.htm

答案 3 :(得分:-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/