ST_ConvexHull toma um objeto de geometria e retorna a carcaça convexa.
Sintaxe
db2gse.ST_ConvexHull(g db2gse.ST_Geometry)
Tipo de retorno
db2gse.ST_Geometry
Exemplos
O exemplo cria a tabela CONVEXHULL_TEST que tem duas colunas: GEOTYPE e G1. A coluna GEOTYPE, varchar(20), armazenará o nome da subclasse de geometria que está armazenada em G1, a qual está definida como geometria.
CREATE TABLE CONVEXHULL_TEST (geotype varchar(20), g1 db2gse.ST_Geometry)
Cada instrução INSERT insere uma geometria de cada tipo de subclasse na tabela 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)))
A seguinte instrução SELECT relaciona o nome da subclasse armazenado na coluna GEOTYPE e a carcaça convexa. A carcaça convexa gerada pela função ST_ConvexHull é convertida em texto pela função ST_AsText. É então feita a conversão em um varchar(256) porque a saída padrão de ST_AsText é varchar(4000).
SELECT GEOTYPE, CAST(db2gse.ST_AsText(db2gse.ST_ConvexHull(G1))) as varchar(256) "The convexhull" FROM CONVEXHULL_TEST