ST_Envelope 接受几何图形对象并返回它的边框作为几何图形。
语法
db2gse.ST_Envelope(g db2gse.ST_Geometry)
返回类型
db2gse.ST_Geometry
示例
ENVELOPE_TEST 表中的 GEOTYPE 列存储 G1 几何图形列中存储的几何图形子类的名称。
CREATE TABLE ENVELOPE_TEST (geotype varchar(20), g1 db2gse.ST_Geometry)
下列 INSERT 语句将每个几何图形子类插入 ENVELOPE_TEST 表。
INSERT INTO ENVELOPE_TEST VALUES('Point', db2gse.ST_PointFromText('point (10.02 20.01)', db2gse.coordref()..srid(0))) INSERT INTO ENVELOPE_TEST VALUES ('Linestring', db2gse.ST_LineFromText('linestring (10.01 20.01, 10.01 30.01, 10.01 40.01)', db2gse.coordref()..srid(0))) INSERT INTO ENVELOPE_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 ENVELOPE_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 ENVELOPE_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 ENVELOPE_TEST VALUES('Multilinestring', db2gse.ST_MLineFromText('multilinestring ((10.01 20.01,20.01 20.01,30.01 20.01), (30.01 20.01,40.01 20.01,50.01 20.01))', db2gse.coordref()..srid(0))) INSERT INTO ENVELOPE_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 ENVELOPE_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 语句将子类名列示在它的包络的旁边。 因为 ST_Envelope 函数返回点、线条或多边形,所以用 ST_AsText 函数将它的输出转换为文本。CAST 函数将 ST_AsText 函数的缺省 varchar(4000) 结果转换为 varchar(280)。
SELECT GEOTYPE, CAST(db2gse.ST_AsText(db2gse.ST_Envelope(g1)) AS varchar(280)) "The envelope" FROM ENVELOPE_TEST
返回下列结果集。
GEOTYPE The envelope -------------------- ---------------------------------------------------------- Point POINT ( 10.02000000 20.01000000) Linestring LINESTRING ( 10.01000000 20.01000000, 10.01000000 40.01000000) Linestring POLYGON (( 10.02000000 20.01000000, 11.92000000 20.01000000, 11.92000000 25.64000000, 10.02000000 25.64000000, 10.02000000 20.01000000)) Polygon POLYGON (( 10.02000000 20.01000000, 25.02000000 20.01000000, 25.02000000 35.64000000, 10.02000000 35.64000000, 10.02000000 20.01000000)) Multipoint POLYGON (( 10.02000000 20.01000000, 11.92000000 20.01000000, 11.92000000 25.64000000, 10.02000000 25.64000000, 10.02000000 20.01000000)) Multilinestring LINESTRING ( 10.01000000 20.01000000, 50.01000000 20.01000000) Multilinestring POLYGON (( 9.55000000 20.01000000, 15.36000000 20.01000000, 15.36000000 30.11000000, 9.55000000 30.11000000, 9.55000000 20.01000000)) Multipolygon POLYGON (( 10.02000000 20.01000000, 73.36000000 20.01000000, 73.36000000 35.64000000, 10.02000000 35.64000000, 10.02000000 20.01000000)) 8 record(s) selected.