我有一堆“地点” - 有些是准确的(gaborone,博茨瓦纳),有些是地理编码(40.75,-73.997),有些完全没用(#siliconcape) 。我需要找到一种方法来遍历列表,并确定每个字符串和地理编码的城市和国家,并返回无效位置的空值。确定一个字符串是否是一个有效的地理位置
是否有某种库/服务/ API /方法可用于确定给定的字符串是否代表有效的地理位置?在解释错字,排序错误等?
我有一堆“地点” - 有些是准确的(gaborone,博茨瓦纳),有些是地理编码(40.75,-73.997),有些完全没用(#siliconcape) 。我需要找到一种方法来遍历列表,并确定每个字符串和地理编码的城市和国家,并返回无效位置的空值。确定一个字符串是否是一个有效的地理位置
是否有某种库/服务/ API /方法可用于确定给定的字符串是否代表有效的地理位置?在解释错字,排序错误等?
可能最简单的方法是使用类似Google Geocoding API的东西。它需要一个字符串并尝试将其解析到一个位置。你可以得到输出为XML,JSON,CSV。
下面是一些例子CSV输出:
input : gaborone, botswana
output: 200,4,-24.6541100,25.9087390
input : #siliconcape
output: 602,0,0,0
input : 40.75,-73.997
output: 200,8,"324 W 30th St, New York, NY 10001, USA"
我想我已经找到了解决办法 - 只是分享在这里的情况下,任何人都需要它:
使用谷歌地图API地址解析 - 喂它地址并协调回来。通过PHP的详细信息:http://www.phpriot.com/articles/google-maps-geocoding/
哈哈,良好的时机,哈哈 - 只是发现我自己,加上示例代码:) – Wogan 2010-02-02 00:35:11
请注意,根据您的用户群的大小,Google地理编码API可能不是最佳选择由于每天的请求限制。 MapQuest的API虽然低于Google,但没有任何限制。 – 2010-02-02 00:54:33
“在24小时内15,000个地理编码请求”< - 由于我只有10'500个项目需要进行地理编码,因此Google会完美地工作:) – Wogan 2010-02-02 05:05:32