Guide d'utilisation et de référence

ST_Boundary

ST_Boundary utilise en entrée un objet de type géométrie et renvoie le contour combiné correspondant sous forme d'objet de type géométrie. L'utilisation d'un point ou d'un multipoint en entrée donne toujours pour résultat un contour qui correspond à une géométrie vide de dimension 0 (et non une dimension de 1).

Syntaxe

db2gse.ST_Boundary(g db2gse.ST_Geometry)

Type de retour

db2gse.ST_Geometry

Exemples

Dans le fragment de code ci-après, la table BOUNDARY_TEST est créée. Elle comporte deux colonnes : GEOTYPE, qui est défini en tant que type de données varchar, et G1, défini comme la géométrie de superclasse. Les instructions INSERT ci-dessous insèrent chacune des géométries appartenant aux sous-classes. La fonction ST_Boundary extrait le contour de chaque sous-classe qui est stocké dans la colonne de géométrie G1. La dimension de la géométrie obtenue est toujours inférieure d'une unité à celle de la géométrie source. Le résultat des points et des multipoints est toujours un contour consistant en une géométrie vide de dimension 1. Les lignes et les multilignes renvoient un contour de type multipoint de dimension 0, et les polygones et multipolygones, un contour de type multiligne de dimension 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.
 


[ Début de page | Page précédente | Page suivante | Table des matières | Index ]