Referência e Guia do Usuário

ST_IsValid

ST_IsValid toma um ST_Geometry e retorna 1 (VERDADEIRO) se for válido, do contrário, retornará 0 (FALSO). Uma geometria inserida num banco de dados do DB2 sempre será válida, porque DB2 Spatial Extender sempre valida seus dados espaciais antes de aceitá-los. No entanto, outros fornecedores DBMS poderão não validar a entrada, mas sim solicitar que essa aplicação o faça.

Sintaxe

db2gse.ST_IsValid(g db2gse.ST_Geometry)

Tipo de retorno

Inteiro

Exemplos

A tabela valid_test é criada com as colunas geotype e g1. A coluna geotype armazena o nome da subclasse de geometria armazenada na coluna de geometria g1.

CREATE TABLE valid_test (geotype varchar(20), g1 db2gse.ST_Geometry)

As instruções INSERT inserem uma subclasse de amostra na tabela valid_test.

INSERT INTO valid_test VALUES(
    'Point', db2gse.ST_PointFromText('point (10.02 20.01)',
db2gse.coordref()..srid(0))
)
 
INSERT INTO valid_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 valid_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 valid_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 valid_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 valid_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))
)

A instrução SELECT relaciona o nome da subclasse armazenado na coluna geotype à dimensão desse geotipo.

SELECT geotype, db2gse.ST_IsValid(g1) Valid FROM valid_test
GEOTYPE              Valid
-------------------- -------------
ST_Point                    1
ST_Linestring               1
ST_Polygon                  1
ST_Multipoint               1
ST_Multilinestring          1
ST_Multipolygon             1
 
6 record(s) selected.


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