利用 SQL Server 的地理資料型別進行距離計算
確定由緯度和經度指定的兩點之間的距離需要專門的方法。 SQL Server 從 2008 版本開始提供 geography
資料類型,這是處理和分析地理資訊的強大工具。
geography::Point
方法為每個點構造一個 geography
對象,使用 SRID 4326,對應於 WGS84(世界大地測量系統 1984)。 建立這些物件後,STDistance
方法將有效計算距離:
<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>
這會產生以公尺為單位的精確距離。 例如,給定樣本資料:
<code>Latitude Longitude Distance 53.429108 -2.500953 85.2981833133896</code>
計算出的距離約為 85.3 米,比更簡單的方法提供了更準確的結果。因此,geography
資料類型是 SQL Server 中地理空間應用程式的強大且高效的解決方案,可簡化複雜的計算,同時提高準確性。
以上是如何在 SQL Server 中計算兩個緯度/經度點之間的距離?的詳細內容。更多資訊請關注PHP中文網其他相關文章!