Referência e Manual do Usuário

ST_Boundary

ST_Boundary toma um objeto de figura geométrica e retorna seu limite combinado como um objeto de figura geométrica. Os pontos e os pontos múltiplos resultam sempre em um limite, que é uma figura geométrica vazia com dimensão 0 (não uma dimensão 1).

Sintaxe

db2gse.ST_Boundary(g db2gse.ST_Geometry)

Tipo de retorno

db2gse.ST_Geometry

Exemplos

No seguinte fragmento de código, é criada uma tabela chamada BOUNDARY_TEST. BOUNDARY_TEST tem duas colunas: GEOTYPE, que está definida como varchar e G1, definida como figura geométrica de superclasse. As instruções INSERT que se seguem inserem cada uma das figuras geométricas de subclasse. A função ST_Boundary recupera o limite de cada subclasse que está armazenada na coluna de figura geométrica G1. Observe que a dimensão da figura geométrica resultante é sempre uma menor que a figura geométrica de entrada. Os pontos e multipontos sempre resultam num limite que é uma figura geométrica vazia, dimensão 1. As cadeias de linhas e cadeias de linhas múltiplas retornam um limite multiponto, dimensão 0. Um polígono ou multipolígono sempre retorna um limite de cadeia de linhas múltiplas, dimensão 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. 


[ Início da Página | Página Anterior | Próxima Página | Índice | Índice Remissivo ]