Commençons par Comparer la distance entre les latitudes. Chaque degré de latitude est d'environ 69 km (111 kilomètres) de distance. La gamme varie (en raison de la terre légèrement la forme ellipsoïde) à partir de 68.703 miles (110.567 km) au niveau de l'équateur à 69.407 (111.699 km) dans les pôles. La distance entre les deux endroits sera égale ou plus grande que la distance entre leurs latitudes.
Notez que ce n'est pas vrai pour les longitudes - la longueur de chaque degré de longitude est, dépend de la latitude. Toutefois, si vos données est limité à une certaine zone (un seul pays, par exemple) - vous pouvez calculer une valeur minimale et maximale des valeurs limites pour les longitudes ainsi.
Continuer une faible précision, rapide calcul de la distance qui supposent sphérique de la terre.
Voir ici
Cette méthode de calcul des exigences sont mimimal. Cependant, le résultat est très précis pour les petites distances.
Puis, si elle est à une distance donnée, plus ou moins, utiliser une méthode plus précise.
GeographicLib est la mise en œuvre plus précise, je sais, mais Vincenty formule d'inversion peut être utilisé aussi bien.
Si vous utilisez un SGBDR, définir la latitude de la clé primaire et la longitude comme une clé secondaire. Requête pour un intervalle de latitude, ou pour une latitude/longitude), comme il est décrit ci-dessus, puis calculer les distances exactes de l'ensemble des résultats.
Notez que les versions modernes de tous les principaux Sgbdr support géographique, les types de données et des requêtes en mode natif.