次の方法で共有


STNumPoints (geography データ型)

geography インスタンス内の各図形に含まれる地点の合計数を返します。

構文

.STNumPoints ( )

戻り値の型

SQL Server の戻り値の型 : int

CLR の戻り値の型 : SqlInt32

説明

このメソッドは、geography インスタンスの記述に含まれている地点をカウントします。 重複する地点はカウントされます。ただし、セグメント間の接続点は 1 つとしてカウントされます。 対象となるインスタンスがコレクションの場合、このメソッドは、コレクション内の地点の合計数を返します。

使用例

A. LineString 内の地点の合計数を取得する

LineString インスタンスを作成し、STNumPoints() を使用して、インスタンスの記述で使用されている地点の数を確認する例を次に示します。

DECLARE @g geography;
SET @g = geography::STGeomFromText('LINESTRING(-122.360 47.656, -122.343 47.656)', 4326);
SELECT @g.STNumPoints();

B. GeometryCollection 内の地点の合計数を取得する

次の例では、GeometryCollection 内のすべての要素の地点の合計数を返します。

DECLARE @g geography = 'GEOMETRYCOLLECTION(CIRCULARSTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653)
    ,CURVEPOLYGON(CIRCULARSTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653)))';
SELECT @g.STNumPoints();

C. CompoundCurve 内の地点の数を返す

次の例では、CompoundCurve インスタンスに含まれる地点の数を返します。 STNumPoints() はセグメント間の接続点を 1 つとしてカウントするため、このクエリは 6 ではなく 5 を返します。

DECLARE @g geography = 'COMPOUNDCURVE(CIRCULARSTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658),( -122.348 47.658, -121.56 48.12, -122.358 47.653))'

SELECT @g.STNumPoints();

関連項目

その他の技術情報

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