ShortestLineTo(geography 数据类型)

返回一个包含两个点的 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();

请参阅

其他资源

地理实例上的扩展方法