2010-10-29 4 views
9

J'ai une méthode dans une API qui prend une coordonnée lat/long et trouve d'autres coordonnées dans une distance spécifiée. Cette distance est en radians. Toutes les maths que je fais ces jours-ci traitent de la comptabilité ou peut-être des coordonnées x, y pour la disposition des éléments de l'interface utilisateur, donc j'apprécie de l'aide pour valider ces nombres.Calcul de la distance géospatiale avec les radians

Permet d'ignorer les personnes dans les bâtiments (altitude) et le fait que la planète n'est pas parfaitement sphérique. Je crois comprendre que la méthode fournie fait la formule de Haversine en interne, mais ce détail est isolé de moi.

Je cherche au formula for radians:

θ = s/r, où θ est le sous-tendu angle en radians, s est la longueur d'arc, et r est le rayon

Compte tenu le convenient mean radius of the Earth de:

6371 km (≈3,959 mi)

J'ai vu d'autres endroits en disant (6378 km)

Cela signifie 1 radian sur Terre est égale à 6371 km de longueur de l'arc. Cela signifierait le radian pour trouver les coordonnées de 1 mètre serait en dehors être

(1/6371) × 10 -7
ie - 1,56961231 x 10 -7 .

Est-ce exact? Si non, où est-ce incorrect?

+0

Je crois que '(1/6371) × 10-7' est incorrect, il aurait dû être' (1/6371) × 10-3', ou Peut-être qu'il me manque quelque chose? –

Répondre

10

C'est correct. Bien que je sois un peu honteux d'afficher cela comme une réponse :)

+0

En ce qui concerne la honte, imaginez-moi venir à accepter de poser cette question. Ça devrait être un calcul de base, mais je devais m'assurer que c'était correct. J'ai vu l'un des auteurs dire qu'un radian était comme 70 miles et est devenu confus. – blu

+1

@blu Partage de la honte :) –

+0

@blu Un radian est un rayon (ie 6371 Km) –

Questions connexes