Lat / Lon的邮政编码(批量查询)

时间:2015-10-06 01:58:32

标签: r latitude-longitude zipcode

我有一个包含1500个纬度/经度条目的data.frame。我需要将这些坐标映射到他们的邮政编码。有没有办法做到这一点除了一次一个地输入到geonames-type api?我希望R中的一个包接收一个lat-lon组合,并为我的data.frame的每一行生成一个邮政编码。

1 个答案:

答案 0 :(得分:0)

使用Open Streetmap API,您可以尝试

library(RCurl)
library(RJSONIO)

latlon2zip <- function(lat, lon) {
    url <- sprintf("http://nominatim.openstreetmap.org/reverse?format=json&lat=%f&lon=%f&zoom=18&addressdetails=1", lat, lon)
    res <- fromJSON(url)
    return(res[["address"]][["postcode"]])
}

latlon2zip(lat=52.5487429714954, lon=-1.81602098644987)

要使用latlon2zip中的transform功能,请使用Vectorize