我有一组 900 个纬度和经度坐标——我需要一种相对简单的方法来查找这些坐标所指的“状态”。如果有帮助,数据在 excel 中。
4 回答
尝试使用此处提供的平均值。运气好的话,您的 900 个坐标对中的大多数都属于中心最近的州。此处解释了经度/纬度位置之间距离的计算。
另一种方法是使用此处提供的带有美国邮政编码的 ZIP 表。一旦您知道邮政编码,您就知道该州,不是吗?我不确定,但每个州都有一个邮政编码区间。一旦你知道一个位置的邮政编码,你就可以找到它所属的区间和状态。
美国位置的坐标列表可以帮助获得更准确的分配:http : //www.bcca.org/bahaivision/fast/latlong_us.html 在列表中找到最近的位置并将其状态作为结果。
谷歌要求地理编码/反向地理编码与用户可以看到的地图一起使用,所以如果这不是你的选择,我认为最好的方法是使用具有空间功能的数据库。首先,您需要在 NationalAtlas.gov 上免费找到州界。我使用 SQL Server(需要 2008 或 2012 版本),您可以使用 STContains() 方法查找它所属的状态。
一个更简单的解决方案是只使用 ezcmd.com 的 rest API 服务。它们提供了两个 API:
http://ezcmd.com/apps/app_geo_postal_codes#geo_postal_codes_api
1)您所要做的就是给它一个邮政编码和一个国家代码(对于美国,您可以使用美国或美国),并且您可以选择传递距离半径和单位(英里或公里),它会返回给定距离内的所有其他州和省的邮政编码
2)免费搜索,您可以在其中给它任何模糊搜索短语,包括 zip / 城市 / 州 / 省和国家之一,它会返回该搜索短语的最佳匹配。
提示:您可以使用 #2 查找模糊(人类可读)地址的邮政编码,并将该邮政编码传递给 #1 以查找离该邮政编码最近的地方。
他们还有另一个 API 可以返回邮政编码以及给定 IP 地址的完整地理位置信息:
http://ezcmd.com/apps/app_ezip_locator#ezip_locator_api
享受 !我希望这有帮助。