找到给定纬度和经度坐标的状态

时间:2013-01-25 17:49:43

标签: algorithm geolocation

我有一套900纬度和经度坐标 - 我需要一种相对简单的方法来查找这些坐标所引用的'状态'。如果它有帮助,那么数据就是excel。

4 个答案:

答案 0 :(得分:4)

Google提供Geocoding服务。其中一部分是反向地理编码,它将地理坐标转换为包含国家的人类可读地址。这个Demo说明了可以做些什么。您可以使用此服务进行限制。

答案 1 :(得分:2)

尝试使用here提供的平均值。运气好的话,900个坐标对中的大多数属于最近的中心状态。计算经度/纬度位置之间的距离here

另一种方法是使用带有美国邮政编码的ZIP表格here。一旦你知道邮政编码,就会知道状态,不是吗?我不确定,但每个州都有邮政编码的间隔。一旦知道某个位置的邮政编码,就可以找到它所属的时间间隔和状态。

美国地点的坐标列表有助于获得更准确的分配:http://www.bcca.org/bahaivision/fast/latlong_us.html 找到列表中最近的位置,并将其状态作为结果。

答案 2 :(得分:1)

Google要求地理编码/反向地理编码与用户可以看到的地图一起使用,因此,如果这不是您的选项,我认为最好的方法是使用具有空间功能的数据库。首先,您需要在NationalAtlas.gov免费找到州边界。我使用SQL Server(需要2008或2012版本),您可以使用STContains()方法查找它所属的状态。

答案 3 :(得分:0)

更简单的解决方案是使用ezcmd.com rest API服务。 它们提供了两个API:

http://ezcmd.com/apps/app_geo_postal_codes#geo_postal_codes_api

1)你所要做的就是给它一个邮政编码和一个国家代码(美国你使用美国或美国),你可以选择通过距离半径和单位(英里或公里)和它将返回所有其他邮政编码,其中州和省都在给定距离内

2)免费搜索,您可以在其中提供任何模糊搜索短语,其中包含zip / city / state / province和country之一,并返回该搜索短语的最佳匹配。

提示:您可以使用#2查找模糊(人类可读)地址的邮政编码,并将该邮政编码传递给#1,以查找该邮政编码最近的地方。

他们还有另一个API,它返回邮政编码以及给定IP地址的完整地理位置信息:

http://ezcmd.com/apps/app_ezip_locator#ezip_locator_api

享受!我希望这会有所帮助。