Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 ›...
Transcript of Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 ›...
![Page 1: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/1.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
SIGSIG
Operadores topológicos – SQLST_RELATE
Alisson Fernando Coelho do Carmo
![Page 2: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/2.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Arquitetura integradaArquitetura integrada
![Page 3: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/3.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
PostGIS + PostgreSQLPostGIS + PostgreSQL
PostGIS é uma extensão espacial para o PostgreSQL que implementa a especificação padrão OGC
Tipos de dados PostGIS:
![Page 4: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/4.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Tipos de dadosTipos de dados
Esses tipos possuem a seguinte representação textual:
Point: (0 0)
LineString: (0 0, 1 1, 2 2)
Polygon: ((0 0 0, 4 0 0, 4 4 0, 0 4 0, 0 0 0), ( 1 0 0, ...), ...)
MultiPoint: (0 0 0, 4 4 0)
MultiLineString: ((0 0 0, 1 1 0, 2 2 0), (4 4 0, 5 5 0, 6 6 0))
MultiPolygon: (((0 0 0, 4 0 0, 4 4 0, 0 4 0, 0 0 0), (...), ...), ...)
GeometryCollection: (POINT(2 2 0), LINESTRING((4 4 0, 9
9 0))
![Page 5: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/5.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Passos para construçãoPassos para construção
Construção do Banco de dados espacial
1- Planejamento do banco de dados
Esquematização (papel e lápis)
Definição das entidades e relacionamentos2 – Implementação do modelo (SQL)
Create table..., Foreign Key..., Primary key3 – Adição dos atributos espaciais
SELECT addGeometryColumn(....)4 – Inserção de dados
INSERT INTO...5 – Consulta e manipulação dos dados
![Page 6: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/6.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Planejamento do banco de dadosPlanejamento do banco de dados
Ex) Banco de dados para:
Registrar os dados e geometrias dos lotes
Registrar os dados e geometrias dos bairros
Definição dos atributos e tipos de dados
Esquematização lógica do banco de dados
![Page 7: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/7.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Implementação do modelo (SQL)Implementação do modelo (SQL)
Para instalar a extensão espacial POSTGIS:
– Download do instalador POSTGIS
– Instalar POSTGIS
– Criar a extensão no banco de dados:• CREATE EXTENSION POSTGIS;
Utilizar as funções do POSTGIS (instalado no public):
– SET SEARCH_PATH TO nome_usu, public;
![Page 8: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/8.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Consulta e manipulação dos dadosConsulta e manipulação dos dados
Operadores topológicos conforme a Matriz de 9-Interseções :
st_equals(geometry, geometry)
st_disjoint(geometry, geometry)
st_intersects(geometry, geometry)
st_touches(geometry, geometry)
st_crosses(geometry, geometry)
st_within(geometry, geometry)
st_overlaps(geometry, geometry)
st_contains(geometry, geometry)
Retornam a matriz de intersecção.
st_relate(geometry, geometry):
![Page 9: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/9.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Operadores topológicos (Todos)Operadores topológicos (Todos)
boolean ST_Relate(geometry geomA, geometry geomB, text intersectionMatrixPattern);
text ST_Relate(geometry geomA, geometry geomB);
SELECT ST_Relate(
ST_GeometryFromText('POINT(1 2)'),
ST_Buffer(ST_GeometryFromText('POINT(1 2)'),2)
);
0FFFFF212
SELECT ST_Relate(
ST_GeometryFromText('POINT(1 2)'),
ST_Buffer(ST_GeometryFromText('POINT(1 2)'),2),
'0FFFFF212');
t
DIMENSÕES0 => ponto1 => linha2 => áreaT => {0,1,2}F => vazio* => Qualquer
![Page 10: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/10.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Padrões da Padrões da DE-9IMDE-9IM
![Page 11: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/11.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Operadores topológicos (Todos)Operadores topológicos (Todos)
RESULTADO(RELATE)212101212
![Page 12: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/12.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Dados geométricosDados geométricos
A
B
(0,0) (10, 0) 20, 0 (27, 0)
(10, 0)
(20, 0) A(2, 18)(13, 18)(13, 7)(2, 7)
B(13, 18)(21, 18)(21, 2)(13, 2)
Fazer a DE-9IM:Interior, fronteira, exterior
![Page 13: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/13.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Inserção dos dadosInserção dos dados
Definição das coordenadas (sistema local)
A: (2, 18), (13, 18), (13, 7), (2, 7)
B: (13, 18), (21, 18), (21, 2), (13, 2)
Definição do SQL
SELECT ST_RELATE(
ST_GeomFromText('POLYGON((2 18, 13 18, 13 7, 2 7, 2 18))'),
ST_GeomFromText('POLYGON((13 18, 21 18, 21 2, 13 2, 13 18))')
);
"FF2F11212"
![Page 14: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/14.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Exemplos – operador topológicoExemplos – operador topológico
SELECT ST_RELATE(
ST_GeomFromText('POLYGON((2 2, 8 2, 8 4, 2 4, 2 2))'),
ST_GeomFromText('LINESTRING(1 1, 6 1)')
);
(2, 2)
(8, 4)
(1,1) (6,1)
![Page 15: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/15.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Exemplos – operador topológicoExemplos – operador topológico
SELECT ST_RELATE(
ST_GeomFromText('POLYGON((2 2, 8 2, 8 4, 2 4, 2 2))'),
ST_GeomFromText('LINESTRING(1 1, 6 1)')
);
(2, 2)
(8, 4)
(1,1) (6,1)
![Page 16: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/16.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Exemplos – operador topológicoExemplos – operador topológico
SELECT ST_RELATE(
ST_GeomFromText('POLYGON((1 1, 5 1, 5 4, 1 5, 1 1))'),
ST_GeomFromText('POLYGON((3 2, 9 2, 9 5, 3 5, 3 2))')
);
(1, 1)
(9, 5)
(5, 4)
(3, 2)
![Page 17: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/17.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Exemplos – operador topológicoExemplos – operador topológico
SELECT ST_RELATE(
ST_GeomFromText('POLYGON((1 1, 5 1, 5 4, 1 5, 1 1))'),
ST_GeomFromText('POLYGON((3 2, 9 2, 9 5, 3 5, 3 2))')
);
(1, 1)
(9, 5)
(5, 4)
(3, 2)
![Page 18: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/18.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Exemplos – operador topológicoExemplos – operador topológico
ST MakeBox2D ( ST Point ( 1 , 1 ) , ST Point ( 7 , 3 ) ) ,
ST MakeBox2D ( ST Point ( 3 , 3 ) , ST Point ( 9 , 5 ) )
![Page 19: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/19.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Exemplos – operador topológicoExemplos – operador topológico
ST MakeBox2D ( ST Point ( 1 , 1 ) , ST Point ( 7 , 3 ) ) ,
ST MakeBox2D ( ST Point ( 3 , 3 ) , ST Point ( 9 , 5 ) )
![Page 20: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/20.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Exemplos – operador topológicoExemplos – operador topológico
ST MakeBox2D ( ST Point ( 1 , 1 ) , ST Point ( 9 , 5 ) ) ,
ST MakeBox2D ( ST Point ( 2 , 2 ) , ST Point ( 8 , 4 ) )
![Page 21: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/21.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Exemplos – operador topológicoExemplos – operador topológico
ST MakeBox2D ( ST Point ( 1 , 1 ) , ST Point ( 9 , 5 ) ) ,
ST MakeBox2D ( ST Point ( 2 , 2 ) , ST Point ( 8 , 4 ) )
![Page 22: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/22.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Exemplos – operador topológicoExemplos – operador topológico
ST MakeBox2D ( ST Point ( 1 , 1 ) , ST Point ( 4 , 3 ) ) ,
ST MakeBox2D ( ST Point ( 6 , 3 ) , ST Point ( 9 , 5 ) )
![Page 23: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/23.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Exemplos – operador topológicoExemplos – operador topológico
ST MakeBox2D ( ST Point ( 1 , 1 ) , ST Point ( 4 , 3 ) ) ,
ST MakeBox2D ( ST Point ( 6 , 3 ) , ST Point ( 9 , 5 ) )
![Page 24: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/24.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Exemplos – operador topológicoExemplos – operador topológico
SELECT ST_RELATE(
ST_GeomFromText('POLYGON((2 2, 8 2, 8 4, 2 4, 2 2))'),
ST_GeomFromText('point(5 1)')
);
![Page 25: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/25.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Exemplos – operador topológicoExemplos – operador topológico
SELECT ST_RELATE(
ST_GeomFromText('POLYGON((2 2, 8 2, 8 4, 2 4, 2 2))'),
ST_GeomFromText('point(5 1)')
);
![Page 26: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/26.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Operadores topológicosOperadores topológicos
EXEMPLO com o TOCAR
boolean ST_Touches(geometry g1, geometry g2);
SELECT ST_Touches(
ST_GeomFromText('LINESTRING(0 0, 1 1, 0 2)'),
ST_GeomFromText('POINT(2 2)')
);
f
SELECT ST_Touches(
ST_GeomFromText('LINESTRING(0 0, 1 1, 0 2)'),
ST_GeomFromText('POINT(0 2)')
);
t
FALSE
TRUE
![Page 27: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/27.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
SFS – Simple Feature Specification
![Page 28: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/28.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Funções PostGIS - SFSFunções PostGIS - SFS
Especificação definida e bem documentada
Padrão OGC
É uma especificação criada pelo OGC que trata das seguintes
questões:
Armazenamento da componente espacial vetorial de dados geográficosem bancos de dados
Fornecimento de interface de acesso a esses dados:• SQL, CORBA e COM
• Versões: 1.1.0 e 1.2.0
Na prática:• SQL: PostgreSQL/PostGIS ou Oracle Spatial
• SQL + Linguagem: TerraLib+MySQL ou ARCSDE+SQLServer
![Page 29: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/29.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Funções PostGIS - SFSFunções PostGIS - SFS
Simple Feature Access - Part 1: Common Architecture
http://www.opengeospatial.org/standards/sfa
Modelo Geométrico
Operadores Espaciais
Simple Feature Access - Part 2: SQL Option
http://www.opengeospatial.org/standards/sfs
SQL
CORBA
COM
![Page 30: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/30.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Funções PostGIS - SFSFunções PostGIS - SFS
![Page 31: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/31.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Funções PostGIS - SFSFunções PostGIS - SFS
Dimensionalidade da figura geométrica:
0-dimensional: ponto
1-dimensional: linha
2-dimensional: polígono
Dimensionalidade do espaço onde está inserida a figura
geométrica:
2D: plano cartesiano
3D: espaço tridimensional
2D+M: plano cartesiano com uma medida associada
3D+M: espaço tridimensional com uma medida associada
![Page 32: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/32.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Tipos de dados espaciaisTipos de dados espaciais
![Page 33: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/33.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Integridade das geometriasIntegridade das geometrias
De acordo com SFS:
Todas as geometrias devem ser simples e válidas
(0-dim e 1-dim) Uma geometria é simples se:• Não possuir pontos anômalos
• Auto-intersecções
• Auto-tangência
Ponto:– É inerentemente simples (0-dim)
Multipoint:– Não possuir dois pontos iguais (mesma coord.)
– (2-dim) Verificar se uma geometria é válida
![Page 34: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/34.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Integridade das geometriasIntegridade das geometrias
LINESTRING
Não passa sobre o mesmo ponto (exceto extremos)
![Page 35: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/35.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Integridade de geometriasIntegridade de geometrias
MULTILINESTRING
Todas as linhas devem ser simples
Não existem Intersecções entre as linhas (exceto nos extremos)
![Page 36: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/36.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Integridade das geometriasIntegridade das geometrias
POLYGON
A fronteira pode interceptar apenas em ponto (não linhas)
Os anéis internos não podem se sobrepor
Anéis internos devem estar inteiramente contido no anel externo
![Page 37: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/37.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Integridade das geometriasIntegridade das geometrias
MULTIPOLYGON
Todos os polígonos devem ser válidos
Interior de dois polígonos não se interceptam
As fronteiras podem se tocar, mas apenas em pontos finitos
![Page 38: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/38.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Funções PostGIS - SFSFunções PostGIS - SFS
![Page 39: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/39.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Observação importante: a especificação é clara ao dizer que ainda que estejam previstas as geometrias no espaço tridimensional (3D), os operadores só são definidos no espaço bidimensional (2D). É deixado a cargo de cada implementador a definição dos operadores no espaço 3D
Funções 3D ainda não estão totalmente desenvolvidas
Manipulação não tão madura quanto as implementações 2D
Especificação <> Implementação
![Page 40: Operadores topológicos – SQL ST RELATEsertie.fct.unesp.br › wp-content › uploads › 2017 › 10 › 18... · Alisson FCC Alisson FCC SIG - 2017 SIG - 2017 Observação importante:](https://reader034.fdocumentos.tips/reader034/viewer/2022042401/5f1064827e708231d448e2fe/html5/thumbnails/40.jpg)
Alisson FCCAlisson FCC
SIG - 2017SIG - 2017
Integridade dos dadosIntegridade dos dados
Validando geometrias antes de inseri-las no BDGeoST_ISVALID()
Valida as coordenadas de uma geometria
Exemplo:
SELECT ST_ ISVALID ('LINESTRING(0 0, 1 1)'), t
ST_ISVALID ('LINESTRING(0 0,0 0)'); f
Opção default é não validar a entrada das geometrias
Para validar deve-se adicionar uma restrição à tabela
ALTER TABLE parks ADD CONSTRAINT geo_valid_chk
CHECK (ST_ISVALID ( park_geom)) ;