次の方法で共有


geometry インスタンスのプロパティと動作のクエリ

すべての geometry インスタンスには、SQL Server のメソッドを使用して取得できるいくつかのプロパティがあります。以下のトピックでは、geometry 型のプロパティおよび動作と、geometry 型のクエリを実行するためのメソッドについて説明します。

点の数

空でないすべての geometry インスタンスは点で構成されています。これらの点は、ジオメトリが描画される平面の X 座標と Y 座標を表します。geometry データ型には、インスタンスの点に対するクエリを実行するための組み込みメソッドが数多く用意されています。

インスタンスを構成する点の数を取得するには

インスタンスの特定の点を取得するには

インスタンス上にある任意の点を取得するには

インスタンスの始点を取得するには

インスタンスの終点を取得するには

Point インスタンスの X 座標を取得するには

Point インスタンスの Y 座標を取得するには

STY

Polygon インスタンスや MultiPolygon インスタンスの幾何学中心点を取得するには

次元

空でない geometry インスタンスの次元は、0 次元、1 次元、または 2 次元のいずれかになります。0 次元の geometries (Point や MultiPoint など) には長さや面積はありません。1 次元のオブジェクト (LineString や MultiLineString など) には長さがあります。2 次元のインスタンス (Polygon や MultiPolygon など) には面積と長さがあります。空のインスタンスの次元は -1 としてレポートされます。GeometryCollection でレポートされる面積は、その内容の型によって異なります。

インスタンスの次元を取得するには

インスタンスの長さを取得するには

インスタンスの面積を取得するには

空の geometry インスタンスには点はありません。空の LineString インスタンスや MultiLineString インスタンスの長さは 0 です。空の Polygon インスタンスや MultiPolygon インスタンスの面積は 0 です。

インスタンスが空かどうかを調べるには

単純

インスタンスの geometry が単純であるためには、次の両方の要件が満たされている必要があります。

  • インスタンスの各図形が終点以外で自己交差していてはいけない。

  • インスタンスの 2 つの図形が、両方の図形の境界外部の点で互いに交差していてはいけない。

注意注意

空のジオメトリは常に単純です。

インスタンスが単純かどうかを調べるには

境界、内部、および外部

geometry インスタンスの内部とは、インスタンスによって占有されている空間です。占有されていない空間は外部です。

境界は、OGC によって次のように定義されています。

  • Point インスタンスと MultiPoint インスタンスには境界はありません。

  • LineString と MultiLineString の境界は、始点と終点 (偶数回出現するものを除く) によって形成されます。

DECLARE @g geometry;
SET @g = geometry::Parse('MULTILINESTRING((0 1, 0 0, 1 0, 0 1), (1 1, 1 0))');
SELECT @g.STBoundary().ToString();

Polygon インスタンスや MultiPolygon インスタンスの境界は、そのリングの集合です。

DECLARE @g geometry;
SET @g = geometry::Parse('POLYGON((0 0, 3 0, 3 3, 0 3, 0 0), (1 1, 1 2, 2 2, 2 1, 1 1))');
SELECT @g.STBoundary().ToString();

インスタンスの境界を取得するには

STBoundary

エンベロープ

geometry インスタンスのエンベロープ (境界ボックスとも呼ばれます) とは、インスタンスの最小および最大の (X,Y) 座標によって形成される軸に沿った四角形です。

インスタンスのエンベロープを取得するには

STEnvelope

閉鎖性

閉じているgeometry インスタンスとは、始点と終点が同じ図形です。Polygon インスタンスは閉じていると見なされます。Point インスタンスは閉じていません。

リングは、単純な閉じている LineString インスタンスです。

インスタンスが閉じているかどうかを調べるには

STIsClosed

インスタンスがリングかどうかを調べるには

STIsRing

Polygon インスタンスの外部リングを取得するには

STExteriorRing

Polygon の内部リングの数を取得するには

STNumInteriorRing

Polygon の指定した内部リングを取得するには

STInteriorRingN

SRID (spatial reference ID)

SRID (spatial reference ID) は、geometry インスタンスがどの座標系で表されているかを示す識別子です。SRID が異なる 2 つのインスタンスを比較することはできません。

インスタンスの SRID を設定または取得するには

STSrid

このプロパティは変更できます。