Maison >développement back-end >tutoriel php >Comment calculer la distance orthodromique dans MySQL à l'aide de la formule Haversine ?
Le calcul de la distance orthodromique, également connue sous le nom de distance Haversine, dans MySQL peut être réalisé en suivant les étapes suivantes :
Tout d'abord, récupérez les coordonnées de longitude et de latitude à partir de la source de données appropriée (par exemple, un script PHP).
La formule Haversine est utilisée pour calculer la distance orthodromique entre deux points sur une sphère. Dans MySQL, l'instruction SQL suivante implémente la formule :
( 3959 * acos( cos( radians(origin_lat) ) * cos( radians(lat) ) * cos( radians(lon) - radians(origin_lon) ) + sin( radians(origin_lat) ) * sin( radians(lat) ) ) )
Pour rechercher des emplacements dans une plage de distance spécifiée, utilisez l'instruction SQL suivante :
SELECT id, ( 3959 * acos( cos( radians(origin_lat) ) * cos( radians(lat) ) * cos( radians(lon) - radians(origin_lon) ) + sin( radians(origin_lat) ) * sin( radians(lat) ) ) ) AS distance FROM locations HAVING distance < distance_range ORDER BY distance LIMIT num_results;
Voici un exemple de requête SQL qui peut être utilisée pour trouver les 20 emplacements les plus proches dans un rayon de 25 miles des coordonnées (37, -122) :
SELECT id, ( 3959 * acos( cos( radians(37) ) * cos( radians(lat) ) * cos( radians(lon) - radians(-122) ) + sin( radians(37) ) * sin( radians(lat) ) ) ) AS distance FROM locations HAVING distance < 25 ORDER BY distance LIMIT 0, 20;
Par en suivant ces étapes, vous pouvez effectuer des calculs de distance orthodromique entièrement dans MySQL en utilisant la formule Haversine.
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!