Pengiraan Jarak Geografi yang Tepat dalam Pelayan SQL: Jenis Haversine lwn. Geografi
Mengira jarak dengan tepat antara koordinat geografi adalah penting untuk banyak aplikasi, termasuk navigasi dan perkhidmatan berasaskan lokasi. Artikel ini membandingkan dua kaedah untuk mencapai ini dalam SQL Server: menggunakan formula Haversine dan menggunakan geography
jenis data terbina dalam.
Formula Haversine, walaupun biasa digunakan, boleh mengalami ketidaktepatan disebabkan oleh pengehadan dalam ketepatan titik terapung. Percubaan sebelumnya menggunakan formula ini mungkin membuahkan hasil yang kurang ideal.
SQL Server 2008 memperkenalkan geography
jenis data, menawarkan penyelesaian unggul untuk mengendalikan data geografi. Kelebihan utamanya termasuk:
STDistance
secara langsung mengira jarak, menghapuskan keperluan untuk pelaksanaan formula Haversine manual.geography
menyediakan set fungsi geospatial yang kaya melangkaui pengiraan jarak.Pertanyaan Ilustrasi menggunakan Jenis Geografi
Pertanyaan SQL berikut menunjukkan pengiraan jarak menggunakan jenis geography
:
<code class="language-sql">DECLARE @source geography = geography::Point(0, 51.5); DECLARE @target geography = geography::Point(-3, 56); SELECT @source.STDistance(@target);</code>
Ini mengembalikan jarak dalam meter.
Kesimpulan: Memilih Pendekatan yang Tepat
Untuk ketepatan optimum dan kemudahan penggunaan, jenis data geography
dalam SQL Server 2008 dan versi yang lebih baru ialah kaedah yang disyorkan untuk mengira jarak antara koordinat geografi. Walaupun formula Haversine boleh digunakan, pertimbangan teliti jenis data dan isu ketepatan yang berpotensi adalah perlu. Jenis geography
menawarkan penyelesaian yang lebih mantap dan cekap untuk kebanyakan aplikasi.
Atas ialah kandungan terperinci Apakah Cara Paling Tepat untuk Mengira Jarak Antara Koordinat Geografi Menggunakan Pelayan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!