Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengira Jarak Antara Dua Titik Latitud/Longitud dalam Pelayan SQL?
Memanfaatkan Jenis Data Geografi SQL Server untuk Pengiraan Jarak
Menentukan jarak antara dua titik yang ditentukan oleh latitud dan longitud memerlukan pendekatan khusus. SQL Server, bermula dengan versi 2008, menawarkan geography
jenis data, alat yang berkuasa untuk mengendalikan dan menganalisis maklumat geografi.
Kaedah geography::Point
membina objek geography
untuk setiap titik, menggunakan SRID 4326, yang sepadan dengan WGS84 (Sistem Geodetik Dunia 1984). Setelah objek ini dibuat, kaedah STDistance
mengira jarak dengan cekap:
<code class="language-sql">DECLARE @orig geography = geography::Point(@orig_lat, @orig_lng, 4326); SELECT *, @orig.STDistance(geography::Point(dest.Latitude, dest.Longitude, 4326)) AS distance --INTO #includeDistances FROM #orig dest</code>
Ini menghasilkan jarak yang tepat dalam meter. Contohnya, data sampel yang diberikan:
<code>Latitude Longitude Distance 53.429108 -2.500953 85.2981833133896</code>
Jarak yang dikira adalah kira-kira 85.3 meter, memberikan hasil yang jauh lebih tepat daripada kaedah yang lebih mudah. Oleh itu, jenis data geography
merupakan penyelesaian yang teguh dan cekap untuk aplikasi geospatial dalam SQL Server, memudahkan pengiraan yang kompleks sambil meningkatkan ketepatan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Jarak Antara Dua Titik Latitud/Longitud dalam Pelayan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!