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

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

Linda Hamilton
Libérer: 2024-12-27 09:27:17
original
289 Les gens l'ont consulté

How Can I Calculate Great Circle Distance in MySQL Using the Haversine Formula?

MySQL : Calcul de la distance orthodromique à l'aide de la formule Haversine

Introduction

Calcul de la distance entre deux coordonnées géographiques sur une sphère est une tâche courante dans les applications géospatiales. Une approche largement utilisée pour cela est la formule Haversine, qui fournit un résultat précis pour la distance orthodromique entre deux points.

Utilisation de la formule Haversine dans MySQL

Pour implémentez la formule Haversine dans MySQL, nous pouvons utiliser les étapes suivantes :

  1. Convertir les valeurs de coordonnées (latitudes et longitudes) en radians à l'aide de la fonction RADIANS().
  2. Calculez la différence entre les coordonnées en utilisant la fonction SUBTRACT() ou ABS().
  3. Mettez au carré les différences obtenues à l'étape 2 puis additionnez-les .
  4. Multipliez la somme de l'étape 3 par le rayon de la Terre (6371 kilomètres ou 3959 miles).
  5. Enfin, calculez la racine carrée du résultat de l'étape 4 à l'aide de la fonction SQRT().

Exemple de requête SQL

Voici un exemple de requête SQL qui implémente la formule Haversine pour calculer la distance orthodromique entre deux coordonnées :

SELECT (
    6371 * ACOS(
        COS(RADIANS(37)) * COS(RADIANS(lat)) * 
        COS(RADIANS(lng) - RADIANS(-122)) + 
        SIN(RADIANS(37)) * SIN(RADIANS(lat))
    )
) AS distance 
FROM markers 
WHERE distance < 25
ORDER BY distance
LIMIT 0, 20;
Copier après la connexion

Cette requête renverra l'identifiant et la distance calculée pour les 20 emplacements les plus proches dans un rayon de 25 kilomètres par rapport à la coordonnée (37, -122).

Conclusion

En utilisant la formule Haversine dans MySQL, nous pouvons déterminer avec précision la distance orthodromique entre deux coordonnées géographiques. Cette technique est particulièrement utile pour les applications basées sur la localisation qui nécessitent des calculs de distance précis.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal