来自 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
.
我有一个 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
.