共用方式為


STCurveN (geography 資料類型)

從 geography 執行個體傳回指定的曲線,這個執行個體是 LineString、CircularString 或 CompoundCurve。

語法

.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 方法