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