2015-09-10 32 views
8

Ülkemde konut satışları için parlak bir uygulama oluşturmak için rChart/LeafLet'i düşünüyorum. Herhangi bir zamanda satılık birkaç yüz konut var. Herkes için sokak adresi-coğrafi konum (lat/long) eşlemek ve bir harita üzerinde görüntülemek istiyorum. Bu yüzden, coğrafi adrese sokak adresini eşleyebilen bir r paketi, hizmet veya veritabanı arıyorum.Coğrafi konum lat/long adresinin sokak adresi

Google Geolocation kullandık
+4

'nominatim': https://github.com/hrbrmstr/nominatim; 'ggmap :: geocode'; geocodeHERE :: geocodeHERE_simple'; geonames paketi; Ayrıca google r sokak adresi coğrafi konumu – hrbrmstr

+0

Kod örneği içeren mükemmel makale (paket ggmap kullanarak): http://www.shanelynn.ie/massive-geocoding-with-r-and-google-maps/ –

cevap

4

Bu hemen hemen her projeyi üzerinde uygulamak için set-up için basit ve kolaydır:

İşte

https://developers.google.com/maps/documentation/geocoding/intro

+2

Gelecekte başvurmak için, bu bir yoruma aittir, ama sanırım bunu yapmak için yeterli temsilciniz yok. – jlhoward

+1

Teşekkürler Harvey. Goole haritaları, istek sayısını günde 10/sn veya 2500 ile sınırlar. Hangisi iyi? Toplu istekte bulunmanın bir yolu var. 100 sokak adresi gönderip 100 lon/lat geri aldığımı mı söyleyeyim? – Antex

+0

Üzgünüz, bir sınırın olduğunu söylemeliydim. ama küçük uygulamalar için endişelenecek bir şey yok. Bir iOS uygulamasında birden çok kez istekleri döngüleyerek gerçekleştirmeyi başardım. Çok hızlı bağlantı nedeniyle hızını sınırlamak zorunda kalmanıza rağmen çok hızlı bir şekilde sizi kilitleyebilir. Üzgünüm, R özelliklerini bilmiyordum! – Harvey

11

Harvey'in öneri dayalı bir işlevdir. Adrese bakacak ve ilk sonucun koordinatlarını verecektir. Alabileceğiniz diğer bilgileri görmek için x yapısına bakın. Örneğin

geocodeAdddress <- function(address) { 
    require(RJSONIO) 
    url <- "http://maps.google.com/maps/api/geocode/json?address=" 
    url <- URLencode(paste(url, address, "&sensor=false", sep = "")) 
    x <- fromJSON(url, simplify = FALSE) 
    if (x$status == "OK") { 
    out <- c(x$results[[1]]$geometry$location$lng, 
      x$results[[1]]$geometry$location$lat) 
    } else { 
    out <- NA 
    } 
    Sys.sleep(0.2) # API only allows 5 requests per second 
    out 
} 

:

R> geocodeAdddress("Time Square, New York City") 
[1] -73.98722 40.7575 
+0

Tam olarak aynı işlevsellik için paketler var olduğunda neden işlevler oluşturuyoruz? – hrbrmstr

+0

@hrbrmstr Bu paketin farkında değildim, başınız için teşekkürler. – christoph

+0

Paket adı choff'unu paylaşabilir misiniz? – Antex

İlgili konular