Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
ST_Curve 値がリングかどうかをテストします。曲線が閉じていて単純な場合 (それ自体と交差しない場合)、その曲線はリングです。
curve-expression.ST_IsRing()
BIT 曲線がリングの場合 (および空でない場合) は、1 を返します。それ以外の場合は、0 を返します。
SQL/MM (ISO/IEC 13249-3: 2006) 7.1.6
次の例では、リングを含む SpatialShapes のすべてのローを返します。Shape が ST_Curve のサブタイプでない場合に、TREAT 関数が実行されないようにするために、IF 式を使用する必要があります。IF 式を使用しない場合は、サーバが WHERE 句の条件を並び替えてしまう場合があるため、エラーになります。
SELECT * FROM SpatialShapes WHERE IF Shape IS OF ( ST_Curve ) AND TREAT( Shape AS ST_Curve ).ST_IsRing() = 1 THEN 1 ENDIF = 1
次の例では、リングのジオメトリを含む curve_table のすべてのローを返します。この例では、geometry カラムに ST_Curve、ST_LineString、ST_CircularString、または ST_CompoundCurve タイプがあることを前提としています。
SELECT * FROM curve_table WHERE geometry.ST_IsRing() = 1