使用者の手引きおよび解説書

ST_Boundary

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.


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]