ST_Boundary は図形オブジェクトを引き数とし、結合された境界を図形オブジェクトとして戻します。ポイントおよびマルチポイントは常に、次元が 0 (次元が 1 ではない) の空の図形である境界になります。
構文
db2gse.ST_Boundary(g db2gse.ST_Geometry)
戻りタイプ
db2gse.ST_Geometry
例
下記のコード断片では、BOUNDARY_TEST という名前の表が作成されます。 BOUNDARY_TEST には 2 つの列があります。 GEOTYPE は varchar として定義され、G1 はスーパークラスの図形として定義されています。それに続く INSERT ステートメントでは、それぞれのサブクラス図形を挿入します。 ST_Boundary 関数は、G1 図形列に格納されている各サブクラスの境界を検索します。結果として戻される図形の次元は、入力された図形の次元よりも常に 1 つ少ないことに注意してください。ポイントおよび複数ポイントの場合、結果は常に空の図形オブジェクト (次元 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.