我需要找到一个邮政编码的5个最近的邮政编码。
例如,我有33304,我需要找到最近的邮政编码,如33309、33308等等。
是否有一个数据库或一个网络服务可以帮助我实现这个功能?
我想我可能需要建立自己的数据库来实现这个功能。我知道如何做,但如果已经有人做过了...
我需要找到一个邮政编码的5个最近的邮政编码。
例如,我有33304,我需要找到最近的邮政编码,如33309、33308等等。
是否有一个数据库或一个网络服务可以帮助我实现这个功能?
我想我可能需要建立自己的数据库来实现这个功能。我知道如何做,但如果已经有人做过了...
你想查询哪个国家?也许你可以去查看Geonames:http://www.geonames.org/
特别是这个链接:http://www.geonames.org/export/web-services.html#findNearbyPostalCodes
这篇文章是为了回应最近发布的有关美国邮政编码位置的悬赏。
美国人口普查局在其网站上提供了一个包含纬度和经度的邮政编码列表。
邮政编码分区是一个包含CSV格式的文件,其中包含(如文件格式描述中所述)其他字段:
Column 1 GEOID Five digit ZIP Code Tabulation Area Census Code
...
Column 6 INTPTLAT Latitude (decimal degrees) First character is blank or "-" denoting North or South latitude respectively
Column 7 INTPTLONG Longitude (decimal degrees) First character is blank or "-" denoting East or West longitude respectively
我会参考上述资料,并与人口普查局的县商业模式CSV数据交叉核对,以获取城市、州和县名。该文件格式被描述为包含以下字段之一(可以在您选择下载的文件中找到描述):
ZIP C ZIP Code
NAME C ZIP Code Name
...
CITY C ZIP City Name
STABBR C ZIP State Abbreviation
CTY_NAME C ZIP County Name
我测试了geonames,但发现它不够好。在您的邮政编码附近测试区域,您将无法找到所有的邮政编码。这些网站有良好的结果,但尚未找到任何API。
http://www.searchbug.com/tools/zip-radius.aspxPostgreSQL在9.1版本中有一个名为“KNN”的新功能。它专门用于“最近邻”距离搜索,并且经过基准测试和自我测试,它非常快速,并且可以用于邮政编码。这里是一个关于KNN的快速介绍。
您还可以找到一个关于将KNN应用于邮政编码的讨论线程,以及一个更近期的跟进。