我的小网站应该是汇集的项目列表,从表中使用的活动的用户的位置作为一个过滤器。想想 Craigslist网站,你在哪里搜索"的dvd,但结果不是所有的数据库,它们是经过一个位置。我的问题2的级别:

  1. 我应该去一个-la-craigslist网站,并要求用户利用城市一级的位置?我的问题是,你需要产生什么似乎我一个困难的编码、手工制作的列表中的位置。
  2. 我应该去一个-la-邮政编码。的想法只是要求用户输入其邮政编码,然后游泳池的所有项目都在同一个或一定的距离他的邮政编码。

我似乎喜欢的邮政编码方式,因为它似乎更优雅的方案,但如何在地球上做一个关于创建一个数据库的所有邮政编码和执行的功能,鉴于邮政编码12345,获得所有的邮编1英里的距离?

这应该是相当常见的"任务"的许多网站都有一个需要类似于排雷,所以我希望不要重新发明轮子在这里。

有帮助吗?

解决方案

得到一个邮政编码数据库是没有问题。你可以试试这个免费的一:http://zips.sourceforge.net/

虽然我不知道怎么当前的这是的,或者您可以使用的一个多的供应商。我们每年订阅 ZipCodeDownload.com, ,并为可能100美元,我们得到的每月更新最新的邮政编码数据的完整与Lat/渴望的心的邮政编码。

至于查询所有拉链的某一半径范围内,你会需要的空间图书馆的某种。如果你只有一个表的拉链拉特/渴望,你将需要一个数据库为导向的机制。SQL服务器2008有能力内在的,还有 开放源图书馆商业图书馆 这将增加这种功能到SQL服务器2005年。开放源数据库PostgreSQL有一个项目,PostGIS,增加了这种能力,该数据库。它是在这里: http://postgis.refractions.net/

其他的数据库平台可能有类似的项目,但这些都是那些我知道的。与这些数据库的基础库,应当能够直接查询的任何邮政编码(或者任何行的任何种类已经纬度/经度列)在一定的半径。

如果你想走不同的路线可以使用空间工具的映射图书馆。有的开放源选择这里作为好,例如 SharpMap许多其他人 (谷歌可以帮忙),可以使用的免费老虎的地图对于联合国作为数据来源。然而,这条路线是有点更加复杂,并可能不太高,如果所有你需要的是一种半径搜索。

最后,你可能想看看一个网服务。这个,就像你说的,是一个共同的需要,和我想象有任何数ob网服务,可以订阅这可以提供的所有邮政编码在一定范围提供的邮政编码。一个快速的谷歌搜索了这个:http://www.zip-codes.com/free-zip-code-tools.asp#radius 但也有 许多资源可以用于搜寻 在这个问题。

其他提示

如何在地球上做一[...]的实施的功能,鉴于邮政编码12345,获得所有的邮编1英里的距离?

这里是一样对如何做到这一点:

http://www.codeproject.com/KB/cs/zipcodeutil.aspx

只要的技术...PostGIS不是一个项目的Postgres社区中心。它是一个独立的项目,是建立在Postgres。如果你想帮助或支持与PostGIS,你要去它的社会,而不是Postgres。

你可以使用PostGIS.此外,我用deCarta的映射图书馆。他们有技术可以让你geokey任何任意的数据类型。然后你可以查询这些空间。

免责声明:我的工作deCarta

那岂不是更高效的只是找出哪些城市是在一个有1英里半径和储存这些信息在一个表?然后你不必这样做的计算数据库中所有的时间。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top