Rumah  >  Artikel  >  pangkalan data  >  Berikut ialah beberapa pilihan tajuk, berbeza dalam gaya dan fokus: **Langsung & Bermaklumat:** * **Cara Mencari Lokasi Dalam Jejari Menggunakan MySQL: Pertanyaan Yang Diperbaiki** * **Carian Geolokasi Tepat dalam

Berikut ialah beberapa pilihan tajuk, berbeza dalam gaya dan fokus: **Langsung & Bermaklumat:** * **Cara Mencari Lokasi Dalam Jejari Menggunakan MySQL: Pertanyaan Yang Diperbaiki** * **Carian Geolokasi Tepat dalam

Susan Sarandon
Susan Sarandonasal
2024-10-26 09:44:03779semak imbas

Here are a few title options, varying in style and focus:

**Direct & Informative:**

* **How to Find Locations Within a Radius Using MySQL: An Improved Query**
* **Accurate Geolocation Search in MySQL: A Query for Finding Locations Within a Radius**

**Q

Pertanyaan MySQL untuk Mencari Lokasi Dalam Jejari

Pertanyaan yang mencari lokasi dalam jejari tertentu digunakan apabila berurusan dengan data geospatial. Dalam kes ini, pertanyaan diperlukan untuk mendapatkan semula semua baris dalam radius 25 batu dari latitud dan longitud tertentu. Walau bagaimanapun, pertanyaan asal tidak mengembalikan hasil yang tepat untuk semua baris.

Pertanyaan Dipertingkat

Pertanyaan yang dipertingkatkan menghapuskan hasil yang salah dengan menggunakan formula yang lebih tepat untuk mengira jarak antara baris:

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

Penjelasan

  • Formula acos( ... ) mengira sudut antara dua titik latitud-longitud.
  • Mendarab sudut ini dengan 6371 menukarkan hasil kepada batu.
  • Jarak yang terhasil disimpan dalam lajur jarak.
  • Semua baris dengan jarak kurang daripada nilai yang ditentukan dipilih.

Parameter

  • :lat dan :long ialah latitud dan longitud titik tengah.
  • :jarak adalah yang diingini jejari dalam batu.

Menggunakan pertanyaan yang dipertingkatkan ini, semua baris dalam jejari tertentu boleh diambil dengan tepat, menghapuskan hasil yang salah yang dilihat dalam pertanyaan asal.

Atas ialah kandungan terperinci Berikut ialah beberapa pilihan tajuk, berbeza dalam gaya dan fokus: **Langsung & Bermaklumat:** * **Cara Mencari Lokasi Dalam Jejari Menggunakan MySQL: Pertanyaan Yang Diperbaiki** * **Carian Geolokasi Tepat dalam. 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