ShortestLineTo(geography 数据类型)

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

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

语法

  
.ShortestLineTo ( geography_other )  

注意

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

参数

geography_other
指定第二个 geography 实例,调用 geography 实例尝试确定与该实例之间的最短距离

返回类型

SQL Server 返回类型:geography

CLR 返回类型:SqlGeography

备注

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

示例

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

该示例确定 CircularStringLineString 实例之间的最短距离,并返回连接这两个点的 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();

另请参阅

地理实例上的扩展方法
ShortestLineTo(geometry 数据类型)