使用與參考手冊

ST_Boundary

ST_Boundary 使用一個幾何物件並以幾何物件傳回它的合併界限。

語法

db2gse.ST_Boundary(g db2gse.ST_Geometry)

回覆類型

db2gse.ST_Geometry

範例

在下列程式碼片斷中,會建立名稱是 BOUNDARY_TEST 的表格。 BOUNDARY_TEST 有兩個直欄:一個是定義成 varchar 的 GEOTYPE,一個是定義成超類別幾何的 G1。 後面的 INSERT 陳述式插入每一個次類別幾何。 ST_Boundary 函數擷取每一個次類別的界限,它儲存在 G1 幾何直欄。 請注意:產生的幾何維度一定比輸入幾何少一個維度。 點和多點一定會產生空白幾何 (維度 1) 的界限。線串和多線串傳回多點界限 (維度 0)。 多邊形或多重多邊形一定會傳回多線串界限 (維度 1)。

CREATE TABLE BOUNDARY_TEST (GEOTYPE varchar(20), G1 db2gse.ST_Geometry)
INSERT INTO BOUNDARY_TEST
VALUES('Point',
       db2gse.ST_PointFromText('point (10.02 20.01)',
db2gse.coordref()..srid(0)))
INSERT INTO BOUNDARY_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 BOUNDARY_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 BOUNDARY_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 BOUNDARY_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 BOUNDARY_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,
       CAST(db2gse.ST_AsText(db2gse.ST_Boundary (G1)) as varchar(280)) "The boundary"
FROM BOUNDARY_TEST
GEOTYPE              The boundary
-------------------- ----------------------------------------------------------
Point                POINT EMPTY
Linestring           MULTIPOINT ( 10.02000000 20.01000000, 11.92000000
 25.64000000)
Polygon              MULTILINESTRING (( 10.02000000 20.01000000, 19.15000000
 33.94000000, 25.02000000 34.15000000, 11.92000000 35.64000000, 10.02000000
 20.01000000))
Multipoint           POINT EMPTY
Multilinestring      MULTIPOINT ( 9.55000000 23.75000000, 10.02000000
 20.01000000, 11.92000000 25.64000000, 15.36000000 30.11000000)
Multipolygon         MULTILINESTRING (( 51.71000000 21.73000000, 73.36000000
 27.04000000, 71.52000000 32.87000000, 52.43000000 31.90000000, 51.71000000
 21.73000000),( 10.02000000 20.01000000, 19.15000000 33.94000000, 25.02000000
 34.15000000, 11.92000000 35.64000000, 10.02000000 20.01000000))
6 record(s) selected.


[ 頁面頂端 | 前一頁 | 下一頁 | 目錄 | 索引 ]