次の方法で共有


STCurveN (geography データ型)

LineString、CircularString、または CompoundCurve の geography インスタンスから指定された曲線を返します。

構文

.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 インスタンスの 2 番目の曲線が返されます。

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 インスタンスの 2 番目の曲線が返されます。

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. 3 つの CircularStrings を含む CompoundCurve に対して STCurveN() を使用する

次の例では、3 つの異なる CircularString インスタンスを前の例と同じ曲線シーケンスに結合した CompoundCurve インスタンスを使用します。

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)

STCurveN() では、使用する Well-Known Text (WKT) 形式に関係なく、同じ結果が返されます。

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

関連項目

その他の技術情報

geography インスタンスの OGC メソッド