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.