2009-06-30 5 views
8

J'ai réussi à obtenir deux fonctions pour calculer les distances entre deux points sur une carte google. Un que j'ai glané (volé) à partir de différents endroits sur le web et l'autre en utilisant la méthode GLatLng.distanceFrom dans l'API Google Maps.Google Maps calcule-t-il la mauvaise distance?

La raison pour laquelle j'utilise deux fonctions est parce que je remarqué quelque chose d'étrange au sujet des résultats que je recevais sous forme de Google, par exemple, la distance entre Lands End et John O Gruaux au Royaume-Uni est retourné comme suit

  • Ma Fonction: 985 km
  • Google: 986 km
  • Wikipedia: 970 km

le 15/16 km différence du résultat Wikipédia est parce que Google renvoie un emplacement rESU Il se trouve à environ 15 km de l'actuel John O Groats. Donc c'est à peu près juste.

Alors je testé la distance entre Londres et Milan et a obtenu

  • Ma fonction: 1232 km
  • Google: 1234 km
  • Wolfram Alpha: 958,5 km

Ainsi, quelqu'un est plus que 250km sur. Alors j'ai essayé Londres à New York

  • Ma fonction: 8244 km
  • Google: 8254 km
  • Wolfram Alpha: 5581 km

En général, la distance entre Londres et New York est considéré comme autour 5560km. Mais maintenant, ma fonction et la fonction Google semblent être loin de la réalité.

La fonction J'utilise can be found here. Mes excuses à l'auteur pour ne pas lier au site original, mais la mise en page est vraiment confuse. J'utilise la fonction distHaversine. Je dois admettre que les mathématiques sont bien au-delà de mon niveau de confort, mais je comprends l'essentiel, et si je comprends bien, Google utilise aussi la méthode Haversine. Je comprends aussi qu'il peut être de 0,3%, mais cela ne tient pas compte des différences que je vois. Et je suis encore plus confus par le fait que c'est parfois juste, et parfois loin des distances communément indiquées entre les lieux. Il semble que plus la distance est grande, plus elle est grande.

Alors, qui a tort? Google et la fonction que j'utilise, ou tout le monde?

+3

Lorsque je saisis manuellement les coordonnées lat/long pour Londres et New York sur le site source (http://www.movable-type.co.uk/scripts/latlong.html), la distance correcte autour de 5560 km, pouvez-vous confirmer les coordonnées utilisées? – Peter

+0

Londres lat1: -0.1262362, lon1: 51.5001524 New York lat2: -73.986951, lon2: 40.756054 – gargantuan

+1

Oh chéri. Il semble que ma Lattitude et Longditudes se mélangent. Peter, puisque vous avez indiqué la solution évidente, qui aurait été de tester avec l'outil Moveable Type, n'hésitez pas à répondre aux questions et j'accepterai la réponse. – gargantuan

Répondre

3

Comme il se trouve, j'avais les paramètres de latitude et de longitude dans le mauvais sens (air, eau,?).

1

À moins que je suis malentendu ceci:

pourrait l'écart émane du fait que Google Maps calcule la distance que vous conduisez et non « à vol d'oiseau »?

+0

Voir le commentaire de gargantaun à la question d'origine. Le problème est résolu, mais personne n'a donné de "réponse" –

3

Google Maps ne calcule pas la plus courte distance en ligne droite - il va par les routes et