Mengira jarak bulatan besar, juga dikenali sebagai jarak Haversine, dalam MySQL boleh dicapai melalui langkah berikut:
Pertama, dapatkan koordinat longitud dan latitud daripada sumber data yang berkaitan (cth., skrip PHP).
Formula Haversine digunakan untuk mengira jarak bulatan besar antara dua titik pada sfera. Dalam MySQL, pernyataan SQL berikut melaksanakan formula:
( 3959 * acos( cos( radians(origin_lat) ) * cos( radians(lat) ) * cos( radians(lon) - radians(origin_lon) ) + sin( radians(origin_lat) ) * sin( radians(lat) ) ) )
Untuk mencari lokasi dalam julat jarak yang ditentukan, gunakan pernyataan SQL berikut:
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;
Berikut ialah contoh pertanyaan SQL yang boleh digunakan untuk mencari 20 lokasi terdekat dalam 25 batu ke koordinat (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;
Oleh mengikut langkah ini, anda boleh melakukan pengiraan jarak bulatan yang hebat sepenuhnya dalam MySQL menggunakan formula Haversine.
Atas ialah kandungan terperinci Bagaimana untuk Mengira Jarak Bulatan Besar dalam MySQL Menggunakan Formula Haversine?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!