【发布时间】:2017-04-07 01:06:44
【问题描述】:
注意:我对 R 没有太多经验。我希望这不会太过分!
我正在尝试将美国经度和纬度数据集的地理编码反向为其邮政编码。
首先,我更喜欢不受查询限制的东西(如谷歌地图 API)。如果这是不可能的,我们将不胜感激以下帮助。
我学会了使用从以下博客 post 中找到的函数 reverseGeoCode() 对单个坐标进行反向地理编码。它很好用,但我正在尝试对坐标列表进行反向地理编码。
#load in my data
dir()
tw.data <- read.csv(file.choose(),header=T)
#organize coodinates
long <- tw.data[,7]
lat <- tw.data[,8]
coords <- cbind(long,lat)
#reverse geocoding
reverseGeoCode <- function(latlng) {
latlngStr <- gsub(' ','%20', paste(latlng, collapse=","))#Collapse and Encode URL Parameters
library("RJSONIO") #Load Library
#Open Connection
connectStr <- paste('http://maps.google.com/maps/api/geocode/json?sensor=false&latlng=',latlngStr, sep="")
con <- url(connectStr)
data.json <- fromJSON(paste(readLines(con), collapse=""))
close(con)
#Flatten the received JSON
data.json <- unlist(data.json)
if(data.json["status"]=="OK")
address <- data.json["results.formatted_address"]
return (address)
}
addresses <- reverseGeoCode(coords)
addresses
我需要以不同的方式组织我的坐标吗?这个函数是不是连多点处理都没有?
任何帮助都会非常感谢 :)
【问题讨论】:
-
那个 API 已经被
ggmap::revgeocode包装了
标签: r google-maps-api-3 coordinates reverse-geocoding