我想找到一个点到一条线的最短距离,使用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
有没有办法让线路或其他形状的实际最短距离?