ST_GeomCollFromShape

注意注意:

PostgreSQL の ST_Geometry のみ

定義

ST_GeomCollFromShape は、ESRI シェープからジオメトリ コレクションを構築します。

構文

sde.st_geomcollfromshape (esri_shape bytea, srid integer)

戻り値のタイプ

ST_GeomCollection

gcollection というテーブルを作成します。

CREATE TABLE gcollection (pkey integer, shape sde.st_geomcollection );

gcollection テーブルに値を挿入します。

INSERT INTO gcollection VALUES
(1,
sde.st_geomcollfromshape (sde.st_asshape(sde.st_geomcollection
('multipoint(20 20, 30 30, 20 40,30 50)', 0))::bytea, 0));

INSERT INTO gcollection VALUES 
(2,
sde.st_geomcollfromshape (sde.st_asshape(sde.st_geomcollection
('multilinestring ((10.02 20.01, 10.32 23.98, 11.92 25.64),
(9.55 23.75, 15.36 30.11), (10 10, 20 20, 30 30, 40 40, 90 90))', 0))::bytea, 0));

INSERT INTO gcollection VALUES 
(3,
sde.st_geomcollfromshape (sde.st_asshape(sde.st_geomcollection
('multipolygon(((0 0, 4 0, 4 4, 0 4, 0 0),(1 1, 2 1, 2 2, 1 2, 1 1)), 
((-1 -1, -1 -2, -2 -2, -2 -1, -1 -1)))', 0))::bytea, 0));

gcollection テーブルからジオメトリを選択します。

SELECT pkey, sde.st_astext(shape) 
FROM gcollection;

 pkey   st_astext

1  	MULTIPOINT ( 20 20, 30 30, 20 40, 30 50) 
	
2  	MULTILINESTRING (( 10.02000000 20.01000000, 10.32000000 23.98000000, 
		11.92000000 25.64000000),( 9.55000000 23.75000000, 
		15.36000000 30.11000000), ( 10 10, 20 20, 30 30, 40 40, 90 90))

3  	MULTIPOLYGON ((( 0 0, 4 0, 4 4, 0 4, 0 0)( 1 1, 1 2, 2 2,
2 1, 1 1)), (( -1 -1, -2 -1, -2 -2, -1 -2, -1 -1))

(3 rows)

7/10/2012