STCurveN (geography 資料類型)
適用於:Microsoft Fabric 中的 SQL Server
Azure SQL 資料庫 Azure SQL 受控執行個體
SQL 資料庫
傳回從 geography 執行個體指定的曲線,可能是 LineString、CircularString 或 CompoundCurve。
語法
.STCurveN( n )
引數
n
這是介於 1 和 geography 執行個體中曲線數目之間的 int 運算式。
傳回型別
SQL Server 傳回類型:geography
CLR 傳回類型:SqlGeography
例外狀況
如果 n < 1,會擲回 ArgumentOutOfRangeException。
備註
當發生下列準則時,會傳回 NULL。
geography 執行個體已宣告,但未具現化
geography 執行個體為空白
n 超過 geography 執行個體中的曲線數目 (請參閱 STNumCurves (geography 資料類型)
geography 執行個體的維度不相等 (請參閱 STDimension (geography 資料類型)
範例
A. 在 CircularString 上使用 STCurveN()
下列範例會傳回 CircularString 執行個體中的第二個曲線:
DECLARE @g geography = 'CIRCULARSTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653)';
SELECT @g.STCurveN(2).ToString();
範例會傳回。
CIRCULARSTRING (-122.348 47.658, -122.358 47.658, -122.358 47.653)
B. 在 CompoundCurve 上使用 STCurveN()
下列範例會傳回 CompoundCurve 執行個體中的第二個曲線:
DECLARE @g geography = 'COMPOUNDCURVE(CIRCULARSTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))';
SELECT @g.STCurveN(2).ToString();
範例會傳回。
CIRCULARSTRING (-122.348 47.658, -122.358 47.658, -122.358 47.653)
C. 在包含三個 CircularStrings 的 CompoundCurve 上使用 STCurveN()
下列範例使用 CompoundCurve 執行個體,這個執行個體將三個不同的 CircularString 執行個體組合成與前一個範例相同的曲線順序:
DECLARE @g geography = 'COMPOUNDCURVE (CIRCULARSTRING (-122.358 47.653, -122.348 47.649, -122.348 47.658), CIRCULARSTRING(-122.348 47.658, -122.358 47.658, -122.358 47.653))';
SELECT @g.STCurveN(2).ToString();
範例會傳回。
CIRCULARSTRING (-122.348 47.658, -122.358 47.658, -122.358 47.653)
無論所使用的 Well-Known Text (WKT) 格式,STCurveN()
會傳回相同結果。
D. 在呼叫 STCurve() 之前測試有效性
下列範例示範如何在呼叫 STCurveN() 方法之前確認 n 有效:
DECLARE @g geography;
DECLARE @n int;
SET @n = 2;
SET @g = geography::Parse('LINESTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653)');
IF @n >= 1 AND @n <= @g.STNumCurves()
BEGIN
SELECT @g.STCurveN(@n).ToString();
END