使用者の手引きおよび解説書

ST_ConvexHull

ST_ConvexHull は図形オブジェクトを引き数とし、凸 包 (convex hull) を戻します。

構文

db2gse.ST_ConvexHull(g db2gse.ST_Geometry)

戻りタイプ

db2gse.ST_Geometry

この例では、2 つの列 (GEOTYPE および G1) がある CONVEXHULL_TEST 表が作成されます。 GEOTYPE 列は varchar(20) であり、 G1 に格納されている図形のサブクラス名を格納します。 g1 は図形として定義されています。

CREATE TABLE CONVEXHULL_TEST (geotype varchar(20), g1 db2gse.ST_Geometry)

次の INSERT ステートメントによって、 それぞれのサブクラス・タイプの図形が CONVEXHULL_TEST 表に挿入されます。

INSERT INTO CONVEXHULL_TEST
VALUES('Point',
db2gse.ST_PointFromText('point (10.02 20.01)', db2gse.coordref()..srid(0)))
INSERT INTO CONVEXHULL_TEST
VALUES ('Linestring',
       db2gse.ST_LineFromText('linestring  (10.02 20.01,10.32 23.98,11.92 25.64)',
                              db2gse.coordref()..srid(0)))
INSERT INTO CONVEXHULL_TEST
VALUES('Polygon',
       db2gse.ST_PolyFromText('polygon  ((10.02 20.01,11.92 35.64,25.02 34.15,
                                         19.15 33.94,10.02 20.01))',
                              db2gse.coordref()..srid(0)))
INSERT INTO CONVEXHULL_TEST
VALUES('Multipoint',
       db2gse.ST_MPointFromText('multipoint (10.02 20.01,10.32 23.98,11.92 25.64)',
                              db2gse.coordref()..srid(0)))
INSERT INTO CONVEXHULL_TEST
VALUES('Multilinestring',
       db2gse.ST_MLineFromText('multilinestring ((10.02 20.01,10.32 23.98,11.92 25.64),
                                       (9.55 23.75,15.36 30.11))',
                              db2gse.coordref()..srid(0)))
INSERT INTO CONVEXHULL_TEST
VALUES('Multipolygon',
db2gse.ST_MPolyFromText('multipolygon (((10.02 20.01,11.92 35.64,25.02 34.15,
                                         19.15 33.94,10.02 20.01)),
                                       ((51.71 21.73,73.36 27.04,71.52 32.87,
                                         52.43 31.90,51.71 21.73)))',
                              db2gse.coordref()..srid(0)))

以下の SELECT ステートメントよって、 GEOTYPE 列に格納されているサブクラス名および 凸 包がリストされます。 ST_ConvexHull 関数によって生成される 凸 包は、ST_AsText 関数によってテキストに変換されます。 その後、varchar(256) にキャストされます。 これは、ST_AsText のデフォルト出力が varchar(4000) であるためです。

SELECT GEOTYPE, CAST(db2gse.ST_AsText(db2gse.ST_ConvexHull(G1))) as varchar(256)
"The convexhull"
FROM CONVEXHULL_TEST


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]