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()
该示例确定 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();
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈