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