Maison >développement back-end >tutoriel php >Comment puis-je calculer la distance orthodromique à l'aide de la formule Haversine de MySQL ?

Comment puis-je calculer la distance orthodromique à l'aide de la formule Haversine de MySQL ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-20 10:23:17760parcourir

How Can I Calculate Great Circle Distance Using MySQL's Haversine Formula?

Calcul de la distance orthodromique basé sur MySQL (formule Haversine)

Pour calculer la distance orthodromique entre deux points géographiques à la surface de la Terre, la formule Haversine peut être utilisée. Cette formule nécessite la longitude et la latitude des deux points.

Dans ce cas, vous souhaitez effectuer ce calcul entièrement dans MySQL, éliminant ainsi le besoin de PHP. Pour y parvenir, considérez l'instruction SQL suivante inspirée de la FAQ du code Google :

SELECT id, ( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) * sin(radians(lat)) ) ) AS distance
FROM markers
HAVING distance < 25
ORDER BY distance
LIMIT 0, 20;

Cette instruction suppose un point de départ de latitude 37 et de longitude -122 et récupère les 20 emplacements les plus proches dans un rayon de 25 miles. . Il utilise la formule Haversine pour calculer la distance entre chaque point et le point de départ. En modifiant les valeurs de latitude et de longitude en conséquence, vous pouvez adapter la requête à vos besoins spécifiques.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn