Примечание: У меня нет большого опыта работы с Р. Я надеюсь, что это не слишком над моей головой!Обратный геокодирование Множественный Lon/Lat R
Я пытаюсь изменить геокодирование набора данных долготы и широт США на их почтовые индексы.
Во-первых, я бы предпочел что-то, что не ограничено запросами (например, API карт google). Если это невозможно, вам будет очень полезно помочь в следующем.
Я научился менять геокодированные отдельные координаты с помощью функции reverseGeoCode(), найденной из следующего блога post. Он отлично работает, но я пытаюсь изменить геокодирование списка координат.
#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
Нужно ли мне упорядочивать координаты по-разному? Эта функция даже не предназначена для обработки нескольких точек?
Любая помощь будет greaaatly apprediated :)
Этот API уже был обернут 'ggmap :: revgeocode' – alistaire