共用方式為


STCurveN (geography 資料類型)

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

傳回從 geography 執行個體指定的曲線,可能是 LineStringCircularStringCompoundCurve

語法

  
.STCurveN( n )  

引數

n
這是介於 1 和 geography 執行個體中曲線數目之間的 int 運算式。

傳回型別

SQL Server 傳回類型:geography

CLR 傳回類型:SqlGeography

例外狀況

如果 n < 1,會擲回 ArgumentOutOfRangeException

備註

當發生下列準則時,會傳回 NULL

範例

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

另請參閱

地理位置例項上的 OGC 方法