Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
ジオメトリを多角形に変換します。
geometry-expression.ST_ToPolygon()
ST_Polygon geometry-expression が ST_Polygon タイプの場合は、geometry-expression を返します。geometry-expression が ST_CurvePolygon タイプの場合は、geometry-expression.ST_CurvePolyToPoly() を返します。geometry-expression が、ST_CurvePolygon タイプの 1 つの要素を含むジオメトリコレクションの場合は、その要素を返します。geometry-expression が空のセットの場合は、ST_Polygon タイプの空のセットを返します。それ以外の場合は、例外条件が発生します。
結果の空間参照系識別子は、geometry-expression の空間参照系と同じです。
ジオメトリを多角形に変換します。このロジックは、CAST( geometry-expression AS ST_Polygon ) に使用されるロジックと同等です。geometry-expression が曲線多角形の場合は、ST_CurvePolyToPoly() を使用して補間されます。
geometry-expression が ST_Polygon 値であるとすでにわかっている場合は、ST_ToPolygon メソッドよりも TREAT( geometry-expression AS ST_Polygon ) を使用する方が効率的です。
ST_ToPolygon では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合は、内部フォーマットが使用されます。内部フォーマットと元のフォーマットの詳細については、STORAGE FORMAT 句、CREATE SPATIAL REFERENCE SYSTEM 文を参照してください。
SQL/MM (ISO/IEC 13249-3: 2006) 5.1.33
次の例では、結果として Polygon EMPTY を返します。
Polygon EMPTY
SELECT NEW ST_GeomCollection().ST_ToPolygon()
次の例では、Shape カラムが ST_Geometry タイプであり、ST_Geometry では ST_Area メソッドがサポートされていないため、エラーを返します。
SELECT Shape.ST_Area() FROM SpatialShapes WHERE ShapeID = 22
次の例では、ST_ToPolygon を使用して、Shape カラム式のタイプを ST_Polygon に変更します。ST_Area は、結果として 12.5 を返します。
12.5
SELECT Shape.ST_ToPolygon().ST_Area() FROM SpatialShapes WHERE ShapeID = 22
この場合、Shape カラムの値は ST_Polygon タイプであるとわかっているため、TREAT を使用して式のタイプを効率的に変更できます。ST_Area は、結果として 12.5 を返します。
SELECT TREAT( Shape AS ST_Polygon ).ST_Area() FROM SpatialShapes WHERE ShapeID = 22