STCurveN (geometry 資料類型)
適用于: MICROSOFT Fabric 倉儲中的 SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 SQL 分析端點
從 geometry 執行個體傳回指定的 LineString、CircularString、CompoundCurve, 或 MultiLineString 曲線。
Syntax
.STCurveN ( curve_index )
注意
若要檢視 SQL Server 2014 (12.x) 和舊版的 Transact-SQL 語法,請參閱 舊版檔 。
引數
curve_index
這是 1 與 geometry 執行個體中曲線數目之間的 int 運算式。
傳回型別
SQL Server 傳回類型:geometry
CLR 傳回類型:SqlGeometry
例外狀況
如果 curve_index< 1,就會擲回 ArgumentOutOfRangeException
。
備註
當發生下列任何狀況時,會傳回 NULL:
已宣告 geometry 執行個體,但未具現化
geometry 執行個體是空的
curve_index 超出 geometry 執行個體中的曲線數目
geometry 執行個體是 Point、MultiPoint、Polygon、CurvePolygon 或 MultiPolygon
範例
A. 在 CircularString 執行個體上使用 STCurveN()
下列範例會傳回 CircularString
執行個體中的第二個曲線:
DECLARE @g geometry = 'CIRCULARSTRING(0 0, 1 2.1082, 3 6.3246, 0 7, -3 6.3246, -1 2.1082, 0 0)';
SELECT @g.STCurveN(2).ToString();
這個主題稍早的範例會傳回:
CIRCULARSTRING (3 6.3246, 0 7, -3 6.3246)
B. 在具有一個 CircularString 執行個體的 CompoundCurve 執行個體上使用 STCurveN()
下列範例會傳回 CompoundCurve
執行個體中的第二個曲線:
DECLARE @g geometry = 'COMPOUNDCURVE(CIRCULARSTRING(0 0, 1 2.1082, 3 6.3246, 0 7, -3 6.3246, -1 2.1082, 0 0))';
SELECT @g.STCurveN(2).ToString();
這個主題稍早的範例會傳回:
CIRCULARSTRING (3 6.3246, 0 7, -3 6.3246)
C. 在具有三個 CircularString 執行個體的 CompoundCurve 執行個體上使用 STCurveN()
下列範例使用 CompoundCurve
執行個體,這個執行個體將三個不同的 CircularString
執行個體組合成與前一個範例相同的曲線順序:
DECLARE @g geometry = 'COMPOUNDCURVE (CIRCULARSTRING (0 0, 1 2.1082, 3 6.3246), CIRCULARSTRING(3 6.3246, 0 7, -3 6.3246), CIRCULARSTRING(-3 6.3246, -1 2.1082, 0 0))';
SELECT @g.STCurveN(2).ToString();
這個主題稍早的範例會傳回:
CIRCULARSTRING (3 6.3246, 0 7, -3 6.3246)
請注意,前三個範例的結果都相同。 無論使用何種 WKT (Well-known Text) 格式來輸入相同的曲線順序,使用 STCurveN()
執行個體時,CompoundCurve
所傳回的結果都相同。
D. 呼叫 STCurveN() 之前,先驗證參數
下列範例示範如何在呼叫 STCurveN()
方法之前先確認 @n
有效:
DECLARE @g geometry;
DECLARE @n int;
SET @n = 3;
SET @g = geometry::Parse('CIRCULARSTRING(0 0, 1 2.1082, 3 6.3246, 0 7, -3 6.3246, -1 2.1082, 0 0)');
IF @n >= 1 AND @n <= @g.STNumCurves()
BEGIN
SELECT @g.STCurveN(@n).ToString();
END
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應