Vous pouvez utiliser l'approximation suivante (puisque 1 mile est beaucoup plus petit que le rayon de la terre) pour calculer les distances depuis votre base :
dx = cos(phi_base) * (theta - theta_base)
dy = phi - phi_base
dist = sqrt(dx*dx+dy*dy)
avec : phi
= latitude et theta
= longitude
Le résultat est en unités de 60 milles nautiques si theta
y phi
sont données en degrés. Les résultats seront assez erronés pour les points dont la latitude est très différente de celle de votre base, mais cela n'a pas d'importance si vous voulez simplement savoir quels points se trouvent à environ 1 mile de votre base.
Pour la plupart des langages de programmation, vous devez convertir phi_base
en radians (multiplier par pi/180) afin de l'utiliser pour les opérations suivantes cos()
.
(Attention : Vous devez faire très attention si votre longitude de base est très proche de 180° ou -180°, mais ce n'est probablement pas le cas :-)
Utilisez les distances calculées comme clé de tri pour classer vos points.
Si vous devez être plus précis (par exemple si vous voulez connaître tous les points qui se trouvent à environ 2000 miles de votre domicile), vous devez utiliser la formule suivante Distance du grand cercle pour calculer la distance exacte de deux points sur une sphère.