共用方式為


ShortestLineTo (geography 資料類型)

適用於:SQL ServerAzure SQL 資料庫 Azure SQL 受控執行個體

傳回具有兩點的 LineString 執行個體,代表兩個 geography 執行個體之間的最短距離。 所傳回 LineString 執行個體的長度是兩個 geography 執行個體之間的距離。

Syntax

  
.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();

另請參閱

地理例項上擴充的方法
ShortestLineTo (geometry 資料類型)