【发布时间】:2018-06-18 16:51:54
【问题描述】:
我想使用ggmap 的函数:revgeocode,根据商店的地理编码(经度和纬度)添加一列,其中包含 data.table 中列出的每个商店的文本地址。
为此,我有一个包含以下信息的 data.table:
dt
shop_id LON LAT
Shop1 -86.82651 21.15774
Shop2 -86.82663 21.17349
Shop3 -86.84672 21.14235
我想使用以下for 循环添加一列,其中包含每家商店的地址,以可读文本形式显示:
dt$address <- "TEXT"
i = nrow(dt)
for (i in c(1:nrow(dt))) {
dt$address[i] <- revgeocode( as.numeric( dt[i,c("LON","LAT"] ),
output = "address", source = "google")
}
不幸的是,循环并没有完全正常工作。对于某些地理编码,我收到以下警告消息:
1: 在 revgeocode(as.numeric(sucs[i, c("LONGITUD", "LATITUD")]) 中,输出 =“地址”,:反向地理编码失败 - 位置错误? location = "-86.8266333"反向地理编码失败 - 位置错误?位置 = “21.1734889”
理论上,这些代码应该都能正常工作,因为商店的地理代码是直接从 Google 地球中提取的。有谁知道为什么有些 goecode 会返回 bad location 警告?
谢谢!
【问题讨论】: