ST_MPolyFromShape

注意注意:

PostgreSQL の ST_Geometry のみ

定義

ST_MPolyFromShape は、ESRI マルチポリゴン シェープと空間参照 ID を受け取って、ST_MultiPolygon を返します。

構文

sde.st_mpolyfromshape (esri_shape bytea, srid integer)

戻り値のタイプ

ST_MultiPolygon

次の例は、ST_MPolyFromShape を使用して、ESRI マルチポリゴン シェープからマルチポリゴンを作成する方法を示しています。

この例では、st_geometry 列を含むテーブルを作成します。マルチポリゴンを格納するレコードをテーブルに挿入します。続いて、シェープ表現を使用してレコードを更新します(ST_AsShape 関数を使用します)。

次に、ST_MPointFromShape 関数を使用して、shape 列からマルチポイント情報を返します。

mpolys テーブルは、マルチポイントを格納する geometry 列と、マルチポイントの ESRI シェープ表現を格納する shape 列を含みます。

CREATE TABLE mpolys (id integer, geometry sde.st_geometry, shape bytea);

INSERT INTO mpolys VALUES (
1,
sde.st_multipolygon ('multipolygon (((1 72, 4 79, 5 76, 1 72), (10 20, 10 40, 30 41, 10 20), (9 43, 7 44, 6 47, 9 43)))', 0)
);

UPDATE mpolys
SET shape = sde.st_asshape (geometry)
WHERE id = 1;

次の SELECT ステートメントで、ST_MPolyFromShape 関数を使用して shape 列からマルチポリゴンを取得します。

SELECT id, sde.st_astext (sde.st_mpolyfromshape (shape)) 
AS MULTIPOLYGON
FROM mpolys
WHERE id = 1;

id   multipolygon

1   MULTIPOLYGON (((10 20, 30 41, 10 40, 10 20)),
 (1 72, 5 76, 4 79, 1 72)), (9 43, 6 47, 7 44, 9 43 )))

7/10/2012