ShortestLineTo (geography 資料類型)
適用於:SQL Server
Azure 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();
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應