รหัสภูมิศาสตร์เป็นชุดใน R


15

ฉันต้องการค้นหาแพคเกจใน R หรือซอร์สโค้ดใน R ที่มีการสร้างรหัสภูมิศาสตร์โดยใช้ Bing, Yahoo, OpenStreetmap คุณมีข้อเสนอแนะใด?


คุณเคยดูสิ่งนี้แล้วr-bloggers.com/batch-geocoding-with-r-and-google-mapsหรือไม่ Google เท่านั้น แต่เป็นสถานที่ที่จะเริ่ม?
John Powell

ถ้าไม่แน่ใจว่านี้จะช่วยให้เลย แต่คุณยังอาจจะใช้เวลาดูที่นี้คำถาม SO
พฤษภาคม

คำตอบ:


18

เงื่อนไข API เปลี่ยนแปลงอยู่ตลอดเวลา แต่ตอนนี้น่าจะใช้ได้

OSM :

devtools::install_github("hrbrmstr/nominatim")
library(nominatim)
b1 <- osm_geocode("Berlin, Germany")
b1[c("lat", "lon")]

Yahoo :

devtools::install_github("trestletech/rydn")
library(rydn)
options(RYDN_KEY="yourAPIkey", RYDN_SECRET="yourSecret")
b2 <- find_place("Berlin, Germany")  
b2[c("latitude", "longitude")]

Bing : taRifx.geo (ทำงานร่วมกับ Google) และควรใช้งานได้กับ Bing แต่ฉันไม่สามารถทำงานได้ดังนั้นฉันจึงเขียนฟังก์ชันของตัวเอง

bGeoCode <- function(str, BingMapsKey){
    require(RCurl)
    require(RJSONIO)
    u <- URLencode(paste0("http://dev.virtualearth.net/REST/v1/Locations?q=", str, "&maxResults=1&key=", BingMapsKey))
    d <- getURL(u)
    j <- fromJSON(d,simplify = FALSE) 
    if (j$resourceSets[[1]]$estimatedTotal > 0) {
      lat <- j$resourceSets[[1]]$resources[[1]]$point$coordinates[[1]]
      lng <- j$resourceSets[[1]]$resources[[1]]$point$coordinates[[2]]
    }
    else {    
      lat <- lng <- NA
    }
    c(lat,lng)
}  

bGeoCode("Berlin, Germany", "yourAPIKeyHere")

Google :

library(ggmap)  
geocode("Berlin, Germany", source="google")
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.