ShortestLineTo(geometry 数据类型)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例

返回一个包含两个点的 LineString 实例,这两个点表示两个 geometry 实例之间的最短距离。 返回的 LineString 实例长度是两个 geometry 实例之间的距离。

语法

  
.ShortestLineTo ( geometry_other )  

注意

若要查看 SQL Server 2014 (12.x) 及更早版本的 Transact-SQL 语法,请参阅早期版本文档

参数

geometry_other
第二个 geometry 实例,执行调用的 geometry 实例尝试确定与该实例之间的最短距离。

返回类型

SQL Server 返回类型:geometry

CLR 返回类型:SqlGeometry

备注

该方法返回一个 LineString 实例,它包含的端点位于所比较的两个不相交 geometry 实例的边界上。 返回的 LineString 长度等于两个 geometry 实例之间的最短距离。 当两个 geometry 实例彼此相交时,将返回空的 LineString 实例。

示例

A. 在不相交的实例上调用 ShortestLineTo()

该示例确定 CircularStringLineString 实例之间的最短距离,并返回连接这两个点的 LineString 实例:

 DECLARE @g1 geometry = 'CIRCULARSTRING(0 0, 1 2.1082, 3 6.3246, 0 7, -3 6.3246, -1 2.1082, 0 0)';  
 DECLARE @g2 geometry = 'LINESTRING(-4 7, 7 10, 3 7)';  
 SELECT @g1.ShortestLineTo(@g2).ToString();

B. 在相交的实例上调用 ShortestLineTo()

该示例返回空 LineString 实例,因为 LineString 实例与 CircularString 实例相交:

 DECLARE @g1 geometry = 'CIRCULARSTRING(0 0, 1 2.1082, 3 6.3246, 0 7, -3 6.3246, -1 2.1082, 0 0)';  
 DECLARE @g2 geometry = 'LINESTRING(0 5, 7 10, 3 7)';  
 SELECT @g1.ShortestLineTo(@g2).ToString();

另请参阅

ShortestLineTo(geography 数据类型)