Distance orthodromique MySQL (formule Haversine)
Cet article aborde le défi du calcul de la distance orthodromique entre deux coordonnées géographiques en utilisant uniquement MySQL . L'implémentation PHP traditionnelle, impliquant plusieurs requêtes SQL et calculs complexes, peut être lourde.
Solution
Pour convertir le code PHP en MySQL pur, nous exploitons la formule Haversine , une équation mathématique qui calcule la distance entre deux points sur une sphère. Cette formule est supportée par les fonctions MySQL ACOS() et RADIANS().
Voici la requête MySQL correspondante :
SELECT id, ( 3959 * ACOS( COS(RADIANS(37)) * COS(RADIANS(lat)) * COS(RADIANS(lon) - RADIANS(-122)) + SIN(RADIANS(37)) * SIN(RADIANS(lat)) ) ) AS distance FROM markers HAVING distance < 25 ORDER BY distance LIMIT 0, 20;
Explication
En utilisant cette approche basée sur MySQL, vous pouvez calculer efficacement la distance orthodromique entre les coordonnées sans le besoin de calculs PHP externes ou de requêtes SQL supplémentaires.
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!