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

Zip Codes from Lat/Lon (batch query)

我有一个 data.frame 有 1500 latitude/longitude 个条目。我需要将这些坐标映射到他们的邮政编码。除了将它们一次输入一个 geonames 类型 api 之外,还有其他方法吗?我想要 R 中的一个包,它接受经纬度组合并为我的 data.frame 的每一行生成一个邮政编码。

使用 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)

为了在transform中使用latlon2zip函数,使用Vectorize.