利用 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中文网其他相关文章!