Google Geocode API: тот же адрес, разные координаты - PullRequest
0 голосов
/ 17 октября 2018

Я использую Google Geocoding API, и я пришел к такой ситуации: один и тот же адрес дает две разные точки широты.

Две строки (без кавычек):

"BRAZIL CARIACICA PADRE MATHIAS ROD GOVERNADOR MARIO COVAS 0KM 281,3 1941"  
"BRAZIL CARIACICA PADRE MATHIAS RODOVIA GOVERNADOR MARIO COVAS 0KM 281,3 1941"

Обратите внимание, что единственным отличием является слово ROD, которое заменяется на RODOVIA (что означает шоссе).Возвращенные широты соответственно -19,7507 и -20,2738.

Правильный ответ -19,7507. У меня вопрос : Как я могу избежать этой проблемы и каковы возможные причины такого поведения API?

1 Ответ

0 голосов
/ 18 октября 2018
> coord
         lon       lat                                                                             name
1  -40.39200 -20.27377     BRAZIL CARIACICA PADRE MATHIAS RODOVIA GOVERNADOR MARIO COVAS 0KM 281 3 1941
2  -40.37992 -19.75071         BRAZIL CARIACICA PADRE MATHIAS ROD GOVERNADOR MARIO COVAS 0KM 281 3 1941
3  -40.37992 -19.75071        BRAZIL CARIACICA PADRE MATHIAS ROD. GOVERNADOR MARIO COVAS 0KM 281 3 1941
4  -40.43126 -20.28447       BRAZIL CARIACICA PADRE MATHIAS RODOV GOVERNADOR MARIO COVAS 0KM 281 3 1941
5  -40.39200 -20.27377     BRAZIL CARIACICA PADRE MATHIAS RODOVIA GOVERNADOR MARIO COVAS 0KM 281,3 1941
6  -40.37992 -19.75071         BRAZIL CARIACICA PADRE MATHIAS ROD GOVERNADOR MARIO COVAS 0KM 281,3 1941
7  -40.37992 -19.75071        BRAZIL CARIACICA PADRE MATHIAS ROD. GOVERNADOR MARIO COVAS 0KM 281,3 1941
8  -40.43126 -20.28447       BRAZIL CARIACICA PADRE MATHIAS RODOV GOVERNADOR MARIO COVAS 0KM 281,3 1941
9  -40.39200 -20.27377     BRAZIL CARIACICA PADRE MATHIAS RODOVIA GOVERNADOR MARIO COVAS 0KM 281.3 1941
10 -40.37992 -19.75071         BRAZIL CARIACICA PADRE MATHIAS ROD GOVERNADOR MARIO COVAS 0KM 281.3 1941
11 -40.37992 -19.75071        BRAZIL CARIACICA PADRE MATHIAS ROD. GOVERNADOR MARIO COVAS 0KM 281.3 1941
12 -40.39324 -20.28260       BRAZIL CARIACICA PADRE MATHIAS RODOV GOVERNADOR MARIO COVAS 0KM 281.3 1941
13 -40.39200 -20.27377 BRAZIL, CARIACICA, PADRE MATHIAS, RODOVIA GOVERNADOR MARIO COVAS, 0KM 281,3 1941
14 -40.37992 -19.75071     BRAZIL, CARIACICA, PADRE MATHIAS, ROD GOVERNADOR MARIO COVAS, 0KM 281,3 1941
15 -40.37992 -19.75071    BRAZIL, CARIACICA, PADRE MATHIAS, ROD. GOVERNADOR MARIO COVAS, 0KM 281,3 1941
16 -40.43126 -20.28447   BRAZIL, CARIACICA, PADRE MATHIAS, RODOV GOVERNADOR MARIO COVAS, 0KM 281,3 1941

Код

# Language: R
library(ggmaps)
loc <- c("BRAZIL CARIACICA PADRE MATHIAS RODOVIA GOVERNADOR MARIO COVAS 0KM 281 3 1941",
         "BRAZIL CARIACICA PADRE MATHIAS ROD GOVERNADOR MARIO COVAS 0KM 281 3 1941",
         "BRAZIL CARIACICA PADRE MATHIAS ROD. GOVERNADOR MARIO COVAS 0KM 281 3 1941",
         "BRAZIL CARIACICA PADRE MATHIAS RODOV GOVERNADOR MARIO COVAS 0KM 281 3 1941",
         "BRAZIL CARIACICA PADRE MATHIAS RODOVIA GOVERNADOR MARIO COVAS 0KM 281,3 1941",
         "BRAZIL CARIACICA PADRE MATHIAS ROD GOVERNADOR MARIO COVAS 0KM 281,3 1941",
         "BRAZIL CARIACICA PADRE MATHIAS ROD. GOVERNADOR MARIO COVAS 0KM 281,3 1941",
         "BRAZIL CARIACICA PADRE MATHIAS RODOV GOVERNADOR MARIO COVAS 0KM 281,3 1941",
         "BRAZIL CARIACICA PADRE MATHIAS RODOVIA GOVERNADOR MARIO COVAS 0KM 281.3 1941",
         "BRAZIL CARIACICA PADRE MATHIAS ROD GOVERNADOR MARIO COVAS 0KM 281.3 1941",
         "BRAZIL CARIACICA PADRE MATHIAS ROD. GOVERNADOR MARIO COVAS 0KM 281.3 1941",
         "BRAZIL CARIACICA PADRE MATHIAS RODOV GOVERNADOR MARIO COVAS 0KM 281.3 1941",
         "BRAZIL, CARIACICA, PADRE MATHIAS, RODOVIA GOVERNADOR MARIO COVAS, 0KM 281,3 1941",
         "BRAZIL, CARIACICA, PADRE MATHIAS, ROD GOVERNADOR MARIO COVAS, 0KM 281,3 1941",
         "BRAZIL, CARIACICA, PADRE MATHIAS, ROD. GOVERNADOR MARIO COVAS, 0KM 281,3 1941",
         "BRAZIL, CARIACICA, PADRE MATHIAS, RODOV GOVERNADOR MARIO COVAS, 0KM 281,3 1941") 
coord <- NULL
for (i in 1:length(loc)){
    coord <- rbind(coord, cbind(geocode(loc[i]), name = loc[i]))
}
...