Meningkatkan Ketepatan dalam MySQL Longitud dan Pertanyaan Latitud untuk Carian Berasaskan Radius
Apabila melakukan carian lokasi berasaskan jejari dalam mySQL, isu biasa sedang memperoleh keputusan yang menyimpang dengan ketara daripada jejari yang ditentukan. Percanggahan ini sering timbul daripada ralat dalam formula pengiraan jarak, yang membawa kepada pengukuran jarak yang tidak tepat.
Untuk menyelesaikan masalah ini, pertimbangkan pertanyaan yang diperhalusi yang menggunakan kaedah pengiraan jarak yang berbeza sedikit:
SELECT `id`, ( 6371 * acos( cos( radians( :lat ) ) * cos( radians( `lat` ) ) * cos( radians( `long` ) - radians( :long ) ) + sin(radians(:lat)) * sin(radians(`lat`)) ) ) `distance` FROM `location` HAVING `distance` < :distance ORDER BY `distance` LIMIT 25
Dalam pertanyaan ini:
Formula ini mengira jarak berdasarkan formula Haversine, yang memberikan hasil yang lebih tepat daripada formula yang digunakan dalam pertanyaan asal anda. Dengan memasukkan formula yang disemak ini, anda boleh memperhalusi fungsi carian jejari anda, memastikan hasil yang dikembalikan mematuhi julat jejari yang ditentukan.
Atas ialah kandungan terperinci ## Bagaimana untuk Meningkatkan Ketepatan Carian Lokasi Berasaskan Radius dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!