在R中使用ggmap的geocode能否将地理编码结果限定为俄亥俄州范围
解决geocode返回俄亥俄州外重名城市坐标问题
方案1:拼接地址后缀(兼容性最高)
直接给城市名称追加俄亥俄州和国家标识,谷歌地理编码API对完整结构的地址识别准确率最高,无需额外参数适配,代码如下:
# 给城市名统一追加俄亥俄州标识 city_complete <- paste0(city, ", OH, USA") # 调用接口获取坐标 coordinates <- geocode(city_complete)
方案2:使用components参数过滤结果
ggmap 3.0.0及以上版本支持透传谷歌地理编码API的components参数,可直接限定仅返回美国俄亥俄州范围内的匹配结果,代码如下:
coordinates <- geocode( city, components = "country:US|administrative_area:OH" )
- 如果使用旧版本ggmap,优先选择方案1即可,无需升级包版本
- 两种方案同时使用可进一步降低错误概率
内容的提问来源于stack exchange,提问作者jimmy
相关产品推荐
相关产品推荐

