地址具有哈希时的R地理编码查询错误

时间:2018-05-12 02:04:03

标签: r google-maps ggmap geocode

包含“#”的地址(例如公寓号码)经常会给出错误的位置结果,包括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

如果您直接尝试谷歌地图,有时在地址中添加哈希似乎会混淆查找,从而产生各种地理上分散的结果。这并不总是发生,但根据我的经验经常发生。它很容易修复(地理编码时不需要公寓号码),但我想知道为什么会发生这种情况,以及是否有其他关于输入地址的注意事项。

1 个答案:

答案 0 :(得分:2)

Google提供了有关地理编码API中地址格式的建议。特别是他们建议不要在请求中指定其他元素,如公寓号或楼层号。

您可以在Google地图常见问题解答中查看完整的推荐列表:

https://developers.google.com/maps/faq#geocoder_queryformat

相关部分是

  

请勿指定其他地址元素,例如商家名称,单位编号,楼层编号或未包含在相关国家邮政服务定义的地址中的套件编号。这样做可能会导致ZERO_RESULTS响应。

我希望这有帮助!