【问题标题】:Accessing latitude and longitude coordinates in Geocode在地理编码中访问经纬度坐标
【发布时间】:2019-06-18 09:15:47
【问题描述】:

我正在尝试在阿根廷出口的地图上为国家绘制点(这样我最终可以制作网络风格的地图)。但是,我不知道如何将国家名称转换为纬度和经度。我尝试使用地理编码,但纬度和经度值显示为 NA,我收到“地理编码失败,状态为 REQUEST_DENIED,位置 =“美国””错误。我的 API 有错误吗?我需要将我的 API 密钥放在地理编码语句中吗?或者它如何知道访问地理编码?我认为这是我的错误,但我不确定。有没有简单的方法来解决这个问题?或者我可以使用其他包?

library(maps)
library(ggmap)
library(ggplot2)
new <- data_frame(city = c("France", "Brazil", "Uruguay")) %>%
    mutate_geocode(city)

【问题讨论】:

  • 是的,您确实需要使用 API 密钥,不是在每个地理编码语句中而是在每个 R 会话中

标签: r


【解决方案1】:

我认为这是最近的一个问题,由于流量过多,Google 加强了对其地理编码服务的使用控制,现在需要 API 注册。这个 github page 和这个 stack 问题似乎有解决方案让它再次工作。

或者,您可以使用 dsk 作为地理编码请求的辅助来源,但我不知道这些数字有多准确。

new <- data_frame(city = c("France", "Brazil", "Uruguay")) %>%
    mutate_geocode(city, source = "dsk")

    city lon lat
1  France   2  46
2  Brazil -55 -10
3 Uruguay -56 -33

【讨论】:

    【解决方案2】:

    假设您已经拥有 google maps API 密钥,

    library(ggmap)
    register_google(key = " ") 
    

    然后测试你是否可以绘图

    ggmap(get_map("France", "Brazil", "Uruguay"))
    

    如果您不能,这可能与您的 API 密钥未激活或错误有关

    【讨论】:

    • 当我尝试用它测试它时,它显示“register_google 中的错误(key = “...”):找不到函数“register_google”。我不知道为什么它不能识别 register_google 功能。我需要添加一个包吗?
    • 重新启动 R Studio 并运行 sessionInfo() 这应该会为您提供已加载的 ggmap 的版本。请将其添加到您的问题中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-10
    • 1970-01-01
    • 2013-02-23
    • 1970-01-01
    相关资源
    最近更新 更多