SQL STDistance无法正确计算

时间:2017-12-06 13:36:32

标签: sql sql-server geospatial spatial

我想找到一个点到一条线的最短距离,使用STDistance函数得出它只是计算几何中定义的每个点的最短距离,但这显然不正确,好像有一条线,例如10米,在它的中间距离1米处有一个点,该功能不会返回1米的正确距离,但会从线的两端得到最短的距离......

DECLARE @point geometry = geometry::STGeomFromText('POINT (6.0 1.0)',4135); 
DECLARE @line1 geometry = geometry::STGeomFromText('LINESTRING (1.0 1.0, 1.0 11.0)',4135)
DECLARE @line2 geometry = geometry::STGeomFromText('LINESTRING (1.0 4.0, 6.0 3.0, 11.0 4.0)',4135)

SELECT  @point.STDistance(@line1) as dist_to_line1
SELECT  @point.STDistance(@line2)as dist_to_line2

结果

distance to line 1 : 5
distance to line 2 : 2

有没有办法让线路或其他形状的实际最短距离?

0 个答案:

没有答案