J'ai deux ensembles de latitude et de longitude.
Comment puis-je trouver la distance entre les deux emplacements si je suppose que la terre est un ellipsoïde parfait (avec une excentricité de 0,0167)?
J'ai deux ensembles de latitude et de longitude.
Comment puis-je trouver la distance entre les deux emplacements si je suppose que la terre est un ellipsoïde parfait (avec une excentricité de 0,0167)?
Réponses:
Je recommanderais de vérifier:
Sphérique: http://www.movable-type.co.uk/scripts/latlong.html
Great-Circle: http://www.movable-type.co.uk/scripts/gis-faq -5.1.html
Donc vous connaissez vos deux latitudes et longitudes, disons
Vous pouvez calculer les coordonnées cartésiennes pour chacun:
xa = (Cos(thisLat)) * (Cos(thisLong));
ya = (Cos(thisLat)) * (Sin(thisLong));
za = (Sin(thisLat));
xb = (Cos(otherLat)) * (Cos(otherLong));
yb = (Cos(otherLat)) * (Sin(otherLong));
zb = (Sin(otherLat));
Et puis calculez la distance du grand cercle entre les deux en utilisant:
MeanRadius * Acos(xa * xb + ya * yb + za * zb);
Cette approche simplifiée permet de précalculer les valeurs x, y et z, qui peuvent être stockées parallèlement dans une base de données pour des requêtes "points dans x miles" efficaces.
Bien sûr, cela suppose une sphère parfaite, et la Terre n'est même pas un élipsoïde parfait, donc la précision ne sera que de quelques mètres.
Il y a une poignée d'outils utiles sur la page des calculateurs de coordonnées et des outils de distance du Visualiseur GPS . L'un d'eux calcule la distance entre deux points. Il a la possibilité de dessiner les points sur la carte avec le Grand Cercle affiché ainsi que l'option de dessiner un profil et d'exporter les données.