Pergunta

Eu consegui obter duas funções de trabalho para calcular distâncias entre dois pontos em um mapa do Google. Um que eu recolhi (roubou) a partir de vários lugares na web e outro usando o método GLatLng.distanceFrom na API do Google Maps.

A razão que eu estou usando duas funções é porque eu notei algo estranho sobre os resultados que eu estava ficando forma Google, por exemplo, a distância entre Lands End e John O Groats no Reino Unido é devolvido o seguinte

  • A minha função: 985 km
  • Google: 986 km
  • Wikipedia: 970 km

A 15/16 km diferença do resultado Wikipedia é porque o Google retornar um resultado localização cerca de 15 km de distância das reais John O Groats. Então isso é sobre a direita.

Então eu testei a distância entre Londres e Milão e ficou

  • A minha função: 1.232 km
  • Google: 1.234 km
  • Wolfram Alpha: 958,5 km

Assim que alguém é mais do que 250 quilômetros fora. Então eu tentei Londres para Nova Iorque

  • A minha função: 8.244 quilometros
  • Google: 8254 km
  • Wolfram Alpha: 5581 km

Geralmente, a distância entre Londres e Nova York é pensado para ser em torno de 5.560 km. Mas agora tanto a minha função e a função Google parecem ser maneira fora da marca.

A função que estou usando pode ser encontrada aqui . Minhas desculpas ao autor por não ligando para o site original, mas o layout é realmente confuso. Eu estou usando a função distHaversine.

Eu devo admitir, a matemática é muito além do meu nível de conforto, mas eu começar a essência, e como eu o entendo, o Google usa o método Haversine também. Eu também entendo que ele pode estar fora por cerca de 0,3%, mas que não iria explicar as diferenças que eu estou vendo. E eu estou ainda mais confuso com o fato de que às vezes é certo, e às vezes longe as distâncias comumente estabelecidas entre lugares. Parece que o maior a distância, mais off que é.

Então, quem está errado. Google e a função que estou usando, ou todos os outros?

Foi útil?

Solução 2

Como se vê, eu tinha os parâmetros de latitude e longitude da forma errada.

Outras dicas

O Google Maps não calcular a menor distância em linha reta - vai por estradas e (? Ar, água)

A menos que eu estou mal-entendido o seguinte:

Poderia o emanam discrepância do fato de que o Google Maps calcula a distância que você dirige e não 'em linha recta'?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top