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

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


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