获取邮政编码数据库没有问题。你可以试试这个免费的:http:
//zips.sourceforge.net/
虽然我不知道它的最新情况,但您也可以使用众多提供商之一。我们对ZipCodeDownload.com进行年度订阅,只需100 美元,我们就可以每月更新最新的邮政编码数据,包括邮政编码中心的纬度/经度。
至于查询某个半径内的所有拉链,您将需要某种空间库。如果您只有一个带有 lats/longs 的 zips 表,您将需要一个面向数据库的机制。SQL Server 2008 具有内置的功能,并且有一些开源库和商业库会将这些功能添加到 SQL Server 2005。开源数据库 PostgreSQL 有一个项目 PostGIS,它将这种功能添加到该数据库中。它在这里: http: //postgis.refractions.net/
其他数据库平台可能有类似的项目,但这些是我所知道的。使用这些基于数据库的库之一,您应该能够直接查询给定半径内的任何邮政编码(或任何具有纬度/经度列的任何类型的行)。
如果您想走不同的路线,可以使用带有地图库的空间工具。这里也有开源选项,例如SharpMap和许多其他(谷歌可以提供帮助)可以使用美国的免费老虎地图作为数据源。但是,如果您只需要半径搜索,则此路线会稍微复杂一些并且性能可能会降低。
最后,您可能想要研究 Web 服务。正如您所说,这是一种常见的需求,我想您可以订阅任何数量的 ob 网络服务,这些服务可以从提供的邮政编码提供给定半径内的所有邮政编码。一个快速的谷歌搜索出现了这个:
http ://www.zip-codes.com/free-zip-code-tools.asp#radius
但是对于这个主题的搜索有很多资源。