zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

SQL教程之在SQL中使用经纬度获取两点的距离

SQL教程 获取 距离 经纬度 两点 使用
2023-09-11 14:18:47 时间

我们可以使用空间数据来计算 SQL Server 中两个点位置之间的距离。空间数据有两种类型的数据。几何数据类型支持平面或欧几里得(平面地球)数据,地理数据类型存储椭圆体(圆形地球)数据,例如 GPS 纬度和经度坐标。

几何与地理

两种数据类型之间最大的区别在于它们的功能。几何数据用于平面地图或靠近赤道的“平面”国家。另一方面,地理数据用于 3D(甚至 4D)多边形,其曲线与地球的形状相同。这些图片会让你一目了然

在这里插入图片描述
在这里插入图片描述

如何使用

根据解释,我们将使用地理来获取地球上两个点位置的距离。我将向您展示如何使用以下地理数据类型声明、设置和计算距离:

DECLARE @g geography;
DECLARE @h geography;
SET @g = geography::STGeomFromText('POINT(106.7813426256179 -6.20192542493799)', 4326);
SET @h = geography::STGeomFromText('POINT(106.7848321795463 -6.20058150171076)', 4326);
SELECT @g.STDistance(@h) AS [Distance Meter]

此查询将返回 413.807434470853&