我正在寻找两个几何点之间的距离,以下是我的查询
DECLARE @g geometry;
SET @g = geometry::STPolyFromText('POLYGON ((5.177074447274207 60.32819571126778,
5.177074447274207 60.32533671620816,
5.172660537064075 60.32533671620816,
5.172660537064075 60.32819571126778,
5.177074447274207 60.32819571126778)
)', 4326).MakeValid();
DECLARE @h geometry;
SET @h = geometry::Point(5.1752474, 60.3290297, 4326)
Select @g.STDistance(@h)
以下是我得到的结果
0.000833988732217961
但是当我在谷歌地图和必应地图上找到点之间的距离时,我得到了 100 米。
我还检查了与 SRID 相关的文档,当我使用 SRID 4326 时,它使用仪表作为测量值。因此,如果我将返回结果视为米,那么结果就会大不相同。
那么函数 STDistance 是否有任何问题,或者我应该将其视为 Km 而不是米或其他什么?