3
嗨,我有一系列的住宅和一系列火車站。我想計算每個家庭(n = 1718)到每個家庭(n = 11)的步行距離。我知道谷歌限制你每天2000 obs,所以我會做所有家庭obs到1站。我的數據是這樣的:使用經緯度向量查找R中的步行距離
Home data:
longitude latitude
1 -76.27769 36.86308
2 -76.29188 36.87556
3 -76.26982 36.86628
4 -76.27455 36.86894
Station Data
Longitude Latitude
1 -76.30377 36.85945
2 -76.29490 36.85395
3 -76.28896 36.85156
4 -76.28989 36.84719
5 -76.28579 36.84568
,我發現這樣的代碼,但它總結的距離爲每一個家庭,而不是爲每個home.I'm漂亮的新R上的距離...幫助!
`distHoras <- function(origin, destination){
origin <- gsub(",", "", origin)
origin <- gsub(" ", "+", origin)
origin <- paste("origins=", origin, sep = "")
destination <- gsub(",", "", destination)
destination <- gsub(" ", "+", destination)
destination <- paste("destination=", paste(destination,
collapse = "|"), sep = "")
mode4url <- paste("mode=", 'walking', sep = "")
lang4url <- paste("language=", 'en-EN', sep = "")
sensor4url <- paste("sensor=", tolower(as.character(FALSE)),
sep = "")
posturl <- paste(origin, destination, mode4url, sensor4url,
sep = "&")
url_string <- paste("http://maps.googleapis.com/maps/api/distancematrix/json?",
posturl, sep = "")
url_string <- URLencode(url_string)
connect <- url(url_string)
tree <- fromJSON(paste(readLines(connect), collapse = ""))
close(connect)
rapply(tree$rows,I)
}`
我得到這樣
distHoras('origin', 'destination')
elements.distance.text elements.distance.value
"1,253 km" "1252635"
elements.duration.text elements.duration.value
"9 days 8 hours" "804659"
elements.status
"OK"