我正在寻找一种方法来获得R中的印度邮政编码的纬度和经度坐标。
我的数据框架如下:
Area Zip
Mumbai 410710
Mumbai 400083
Mumbai 400034
Mumbai 400612
希望得到:
Area Zip Latitude Longitude
Mumbai 410710 ... ...
Mumbai 400083
Mumbai 400034
Mumbai 400612
答案 0 :(得分:1)
您可以使用ggmap::geocode
。
library(ggmap)
zip <- read.table(text = "Area Zip
Mumbai 410710
Mumbai 400083
Mumbai 400034
Mumbai 400612", header = T)
gc <- do.call(rbind,
apply(zip, 1, function(x){geocode(location = paste(x[2], x[1], sep = ", "),
source = "google")})
)
cbind(zip, gc)
# Area Zip lon lat
# 1 Mumbai 410710 72.87766 19.07598
# 2 Mumbai 400083 72.93742 19.11662
# 3 Mumbai 400034 72.81482 18.97242
# 4 Mumbai 400612 73.02872 19.17993
但是,有时Google API似乎无缘无故地返回NA
。因此,您可能需要遍历它,直到不再包含NA
为止
或者使用source = "dsk"
。但是,datasciencetoolkit对于所有这些邮政编码可能没有长时间。