返回一个包含两个点的 LineString 实例,这两个点表示两个 geography 实例之间的最短距离。 返回的 LineString 实例长度是两个 geography 实例之间的距离。
语法
.ShortestLineTo ( geography_other )
参数
- geography_other
指定第二个 geography 实例,调用 geography 实例尝试确定与该实例之间的最短距离。
返回类型
SQL Server 返回类型:geography
CLR 返回类型:SqlGeography
注释
该方法返回一个 LineString 实例,它包含的端点位于所比较的两个不相交 geography 实例的边界上。 返回的 LineString 长度等于两个 geography 实例之间的最短距离。 当两个 geography 实例彼此相交时,将返回空 LineString 实例。
示例
A.在不相交的实例上调用 ShortestLineTo()
该示例确定 CircularString 和 LineString 实例之间的最短距离,并返回连接这两个点的 LineString 实例:
DECLARE @g1 geography = 'CIRCULARSTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653)';
DECLARE @g2 geography = 'LINESTRING(-119.119263 46.183634, -119.273071 47.107523, -120.640869 47.569114, -122.200928 47.454094)';
SELECT @g1.ShortestLineTo(@g2).ToString();
B.在相交的实例上调用 ShortestLineTo()
该示例返回空 LineString 实例,因为 LineString 实例与 CircularString 实例相交:
DECLARE @g1 geography = 'CIRCULARSTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653)';
DECLARE @g2 geography = 'LINESTRING(-119.119263 46.183634, -119.273071 47.107523, -120.640869 47.569114, -122.348 47.649, -122.681 47.655)';
SELECT @g1.ShortestLineTo(@g2).ToString();