Обратное геокодирование в R - PullRequest
0 голосов
/ 31 октября 2019

Я хотел бы изменить адрес геокода и пин-код в R

Это столбцы

A                    B             C    
15.3859085     74.0314209   7J7P92PJ+9H77QGCCCC     

Я взял первые четыре строки, имеющие столбцы AB и C среди 1000 строк

df<-ga.data[1:4,]  

df <- cbind(df,do.call(rbind,
                       lapply(1:nrow(df),
                              function(i) 
                                revgeocode(as.numeric(
                                  df[i,3:1]), output = "more")      
                              [c("administrative_area_level_1","locality","postal_code","address")]))) 

Ошибка в revgeocode (as.numeric (df [i, 3: 1]), output = "more"): is.numeric (location) && length (location) ==2 не является ИСТИННЫМ

Также есть какой-либо другой пакет или подход, чтобы выяснить адрес и пин-код наиболее приветствуемые

Я также попробовал следующее Когда я попытался использовать ggmap, я получил эту ошибку

In revgeocode(as.numeric(df[i, c("Latitude", "Longitude")]), output = "address") :
  HTTP 400 Bad Request

Также я попробовал это

revgeocode(c(df$B[1], df$A[1]))

Предупреждение Предупреждающее сообщение: В revgeocode (c (df $ Longitude [1], df $ Latitude)[1])): HTTP 400 Bad Request

Кроме того, я из Индии, и он не работает для меня, если я ищу по всей стране. Если я использую lat long из США, он дает мне точный адрес

кажется подозрительным

data <- read.csv(text="ID,      Longitude,      Latitude
311175,  41.298437,      -72.929179
292058,  41.936943,      -87.669838
12979,   37.580956,      -77.471439")

library(ggmap)
result <- do.call(rbind,
                  lapply(1:nrow(data),
                         function(i)revgeocode(as.numeric(data[i,3:2]))))
data <- cbind(data,result)

1 Ответ

0 голосов
/ 31 октября 2019

Текущая версия CRAN revgeo_0.15 не имеет функции revgeocode. Если вы обновитесь до этой версии, вы найдете функцию revgeo, которая принимает аргументы долготы и широты. Ваш столбец C не должен быть передан в функцию.

    revgeo::revgeo(latitude=df[, 'A'], longitude=df[, 'B'], output='frame')
    [1] "Getting geocode data from Photon: http://photon.komoot.de/reverse?lon=74.0314209&lat=15.3859085"
                 housenumber           street  city state                zip country
    1 House Number Not Found Street Not Found Borim   Goa Postcode Not Found   India
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...