Rob*_*ald 5 google-maps r geocode ggmap
包含" #"(例如公寓号码)的地址经常会给出错误的位置结果,包括ggmap :: geocode和谷歌地图,因此这不是严格意义上的R问题.在此示例中,#3在街道地址后添加" "会将位置结果从伊利诺伊州更改为加利福尼亚州:
> test <- geocode('1200 Davis St, Evanston, IL 60202', source='google', output='more')
> test[, c('lon', 'lat', 'administrative_area_level_1')]
lon lat administrative_area_level_1
1 -87.68978 42.04627 Illinois
> testhash <- geocode('1200 Davis St #3, Evanston, IL 60202', source='google', output='more')
> testhash[, c('lon', 'lat', 'administrative_area_level_1')]
lon lat administrative_area_level_1
1 -122.1692 37.72169 California
Run Code Online (Sandbox Code Playgroud)
如果您直接尝试谷歌地图,有时在地址中添加哈希似乎会混淆查找,从而产生各种地理上分散的结果.这并不总是发生,但根据我的经验经常发生.它很容易修复(地理编码时不需要公寓号码),但我想知道为什么会发生这种情况,以及是否有其他关于输入地址的注意事项.
Google has recommendations in regard to address formatting in Geocoding API. Particularly they suggest do not specify additional elements like apartment number or floor numbers in requests.
You can check the complete list of recommendations in Google Maps FAQ:
https://developers.google.com/maps/faq#geocoder_queryformat
The relevant part is
请勿指定未包含在相关国家/地区邮政服务定义的地址中的其他地址元素,例如企业名称、单元号、楼层号或套房号。这样做可能会导致响应为 ZERO_RESULTS。
我希望这有帮助!