Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mengira Jarak Bulatan Besar Menggunakan Formula Haversine MySQL?

Bagaimanakah Saya Boleh Mengira Jarak Bulatan Besar Menggunakan Formula Haversine MySQL?

Patricia Arquette
Patricia Arquetteasal
2024-12-20 10:23:17861semak imbas

How Can I Calculate Great Circle Distance Using MySQL's Haversine Formula?

Pengiraan Jarak Bulatan Besar Berasaskan MySQL (Formula Haversine)

Untuk mengira jarak bulatan besar antara dua titik geografi di permukaan Bumi, formula Haversine boleh digunakan. Formula ini memerlukan longitud dan latitud kedua-dua titik.

Dalam keadaan ini, anda menyasarkan untuk melaksanakan pengiraan ini sepenuhnya dalam MySQL, menghapuskan keperluan untuk PHP. Untuk mencapai matlamat ini, pertimbangkan pernyataan SQL berikut yang diilhamkan oleh Soalan Lazim Kod Google:

SELECT id, ( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) * sin(radians(lat)) ) ) AS distance
FROM markers
HAVING distance < 25
ORDER BY distance
LIMIT 0, 20;

Pernyataan ini menganggap titik permulaan latitud 37 dan longitud -122 dan mendapatkan semula 20 lokasi terdekat dalam radius 25 batu . Ia menggunakan formula Haversine untuk mengira jarak antara setiap titik dan titik permulaan. Dengan mengubah suai nilai latitud dan longitud dengan sewajarnya, anda boleh menyesuaikan pertanyaan mengikut keperluan khusus anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Jarak Bulatan Besar Menggunakan Formula Haversine MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn