Com que frequência o Google altera as coordenadas geográficas para um determinado endereço?

8

Eu geocodifiquei o endereço "50 Hurt Plaza Southeast, Atlanta, GA 30303" duas vezes.

Uma vez em 28 de julho de 2014, quando recebi as coordenadas: (33.754208, -84.387272)

E novamente hoje, 18 de agosto de 2014, e recebi as coordenadas: (33.754129, -84.38721).

Devo esperar que o Google atualize suas coordenadas geográficas para determinados endereços ao longo do ano?

É uma preocupação para mim, porque confirmo a identidade dos edifícios no banco de dados com o qual estou trabalhando, comparando as coordenadas geográficas, e isso não funcionará tão bem se estiverem em fluxo.

Observe que os resultados acima foram arredondados para o sexto decimal.

Peter Berg
fonte
1
Acho que a única resposta que você terá é sempre que eles obtiverem dados melhores (mais recentes) . O conjunto de dados do Google é incrível, geralmente um pouco impreciso, mas ainda é uma ótima fonte de informações. As atualizações estão acontecendo constantemente, mas o conjunto de dados é tão grande que a precisão sobre o todo não pode ser declarada. Sou da opinião de que você não parece um cavalo presente na boca - você não está comprando os dados e não está em posição de reclamar. Se você realmente precisa que seja estático, adquira os dados e faça a manutenção do banco de dados.
22614 Michael Stimson
1
Mesmo se soubéssemos com que frequência o Google atualiza os dados do mapa, acho que a verdadeira pergunta é: "Posso usar coordenadas como uma maneira de identificar endereços / prédios?" a menos que esteja lendo a pergunta errada?
Matt

Respostas:

9

Sim, sempre antecipe as coordenadas para flutuar.

Embora não seja provável que o edifício mude na superfície da Terra, o uso de coordenadas como identificadores / chaves para endereços é uma má ideia, pois o conjunto de dados se moverá de baixo de você:

  • Precisão é uma questão de definição. Um endereço é fixado com mais precisão na caixa de correio, na maior estrutura ou na porta da frente? Qual porta da frente? Talvez a garagem?

  • A precisão decimal é outra preocupação. É 33.754208o mesmo que 33.754209? Isso pode ser corrigido pelo arredondamento, mas você perde a precisão. Adicionar precisão decimal é um luxo que você pode não ter. Não importa quão preciso seja o seu decimal, é provável que eles sejam diferentes (especialmente considerando como os computadores comparam os tipos de flutuação), mesmo que sejam "iguais". Você é totalmente dependente dos detalhes de implementação de baixo nível neste momento.

  • Quando você não controla o conjunto de dados e usa um atributo físico para digitar alguma coisa, não pode garantir que a chave não será alterada. Mas isso é um problema porque seu banco de dados espera que o identificador seja único e constante. Mesmo se você atualizá-lo, e as colisões com outro ponto de dados?

Mesmo se você possuir o conjunto de dados, estará sujeito aos dois primeiros problemas. Definições e implementações mudam. Você nunca pode atualizar seus dados de coordenadas, mesmo para obter uma "precisão" melhor, mas os endereços ainda mudam, goste ou não, invalidando seu cache.

O que você pode fazer, porém, é possuir a chave . Não use coordenadas como identificadores; em vez disso, atribua uma chave que seja garantida como única em seu aplicativo ( ou possivelmente no mundo ) e nunca deixe que isso mude.

No SmartyStreets, eu lido muito com endereços de geocodificação. Por exemplo, esse endereço é um padrão de construção. Está faltando um número secundário (apartamento / suíte). Embora nossos dados sejam no nível de bloco (quase no último piso), se pudéssemos obter o mais preciso possível, qual seria sua coordenada? No momento, atribuímos o nome a 33.75425, -84.38721apenas alguns metros de onde o Google Maps o coloca. Deveria ser uma coordenada diferente se for o lobby versus uma unidade naquele prédio? A resposta a essa pergunta pode mudar, alterando o conjunto de dados subjacente. E as unidades que estão logo acima uma da outra (você pode marcar um ponto em um edifício, mas em qual andar você quis dizer)? O Google obviamente faz exatamente as mesmas perguntas e, se as respostas mudarem, as coordenadas também.

Como tal, sempre recomendamos que as pessoas forneçam ao endereço uma chave que eles controlam para identificá-lo exclusivamente e nunca o alterem.

Por quê?

Os endereços estão uma bagunça. Eles também podem mudar, especialmente se você começar a fazer perguntas filosóficas sobre "O que realmente significa um endereço? Representa um prédio ou morador? Ou uma caixa de correio?" e quando você começa a considerar que os endereços são temporais, o que significa que eles mudam com o tempo, fica ainda mais feio.

Também ouvimos pessoas que tentam fazer hash nos endereços ou usar o código de barras do ponto de entrega como um identificador. Não faça isso, porque mesmo em um formato padronizado, os endereços podem mudar e ainda assim ser o "mesmo" endereço. E o código de barras do ponto de entrega, erroneamente considerado único para um endereço, é duplamente culpado: ele muda e não é necessariamente único. Legal né?

tl; dr Faça com que seu banco de dados confie o menos possível no endereço e nas coordenadas reais.

Matt
fonte
1
Eu gosto do seu filosófico, o que é um endereço ? Na verdade, como você mede a precisão? Contra dados mais precisos, com certeza, mas como você determina que um conjunto de dados é mais preciso que outro? As medições da pesquisa são baseadas em observações e vinculadas a parâmetros de referência que podem ter décadas de idade e serem colocados com os equipamentos modernos daquela época. Sua dica sobre "possuir a chave" é uma ótima idéia - desde que as chaves não sejam alteradas. Ou, por outro lado, construa seu aplicativo com o conhecimento de que o local do endereço não é estático, portanto, não confie nele.
22614 Michael Stimson