Title: Sistemas%20de%20Informa
1Sistemas de Informação Geográfica (SIG) e Bancos
de Dados Geográficos
Karine Reis Ferreira karine_at_dpi.inpe.br SER
330 Introdução a Geoprocessamento
(01/04/2013) Disponível em http//wiki.dpi.inpe.
br/doku.php?idser300aulas-ser300-2013
2Sumário
- Sistemas de Informação Geográfica (SIG)
- Representação Computacional de Dados Geográficos
- Evolução dos SIGs
- Sistemas Gerenciadores de Bancos de Dados (SGBD)
- Extensões Espaciais
- PostGIS e Oracle Spatial
- Simple Feature Specification (SFS) - OGC
3Sistema de Informação Geográfica (SIG)
- Geographic Information System (GIS)
- Sistema computacional capaz de armazenar,
processar e manipular dados geográficos (Worboys
and Duckham, 2004) - Funcionalidades de um SIG (Rigaux et al, 2002)
- Entrada e validação de dados espaciais
- Armazenamento e gerenciamento
- Saída e apresentação visual
- Transformação de dados espaciais
- Interação com o usuário
- Combinação de dados espaciais para criar novas
representações do espaço geográfico e - Ferramentas para análise espacial.
4Sistema de Informação Geográfica (SIG)
Users
Presentation, Script Languages and Graphical User
Interface
Modeling
Analysis
Processing
Storage and Retrieval
Sources of Geographical Data
Spatial Database Systems
Files
.
Spatial Data Server
5Exemplos de SIG
SPRING
Quantum GIS
TerraView
ArcGIS
GRASS
6Exemplos de SIG
SPRING
Free
Quantum GIS
TerraView
Free and Open Source
Commercial
ArcGIS
GRASS
7Organização lógica de dados em um SIG
- Plano de informação (nível, camada, layer)
- Contém informações referentes a um único tipo de
dados - Área geográfica definida
- Ex
- Divisão política
- Elevação
- Rios
8Consultas Espaciais Seleção Espacial
- Dados um conjunto de objetos espaciais D e um
predicado de seleção espacial p sobre atributos
espaciais dos objetos em D, determine todos os
objetos em D cujas geometrias satisfazem p.
Fonte Karine Ferreira (2006)
9Consultas Espaciais Junção Espacial
- Dados dois conjuntos de objetos espaciais D1 e D2
e um predicado de seleção espacial ? determine
todos os pares (d1, d2) ? D1 X D2 cujas
geometrias satisfazem ?. - Ex. Para cada rodovia
- selecione as escolas que
- estão a menos de
- 1000 metros.
Fonte Karine Ferreira (2006)
10Consultas Espaciais Vizinhança
- Vizinho mais próximo
- Definição Localizar o(s) objeto(s) q mais
próximo(s) de um dado objeto p - Vizinho(s) mais próximo(s) a uma certa distância
- Definição Localizar o(s) objeto(s) q mais
próximo(s) de um dado objeto p, a uma distância
máxima de d unidades
11Operadores Espaciais
- Topológicos
- Relacionamentos espaciais entre objetos
- Conjunto
- Interseção, União, Diferença e Diferença
Simétrica - Métricos
- Comprimento, Área, Perímetro
- Criação de Novas Geometrias
- Centróide, Ponto sobre Superfície, Buffer, Convex
Hull - Operações Básicos sobre Geometrias
- Extent, IsValid
12Predicados topológicos
- Freqüentemente utilizados nas consultas espaciais
para analisar informações. - Definem restrições baseadas no relacionamento
espacial entre os objetos. - Aparecem em consultas como
- Cristalina e Paracatu são vizinhas?
- O trecho em vermelho da BR-040cruza quais
municípios?
Fonte Gilberto Ribeiro (2006)
13Predicados topológicos Matriz 9-Interseções
B
A
A
A
B
A
B
B
?B B? B-
?B B? B-
?B B? B-
?B B? B-
?? ? ?? ?? ?? ?? ? ? ??
?A A? A-
? ? ?? ? ? ?? ?? ?? ??
?A A? A-
?? ? ?? ? ? ?? ?? ?? ??
?A A? A-
? ? ?? ?? ?? ?? ? ? ??
?A A? A-
meet
disjoint
contains
covers
B
A
B
A B
B
A
B
A
?B B? B-
?B B? B-
?B B? B-
?B B? B-
?? ?? ?? ?? ?? ?? ?? ?? ??
?A A? A-
?? ? ? ? ?? ? ? ? ??
?A A? A-
? ?? ? ? ?? ? ?? ?? ??
?A A? A-
?? ?? ? ? ?? ? ?? ?? ??
?A A? A-
overlap
equal
inside
covered by
Fonte Adaptado de Egenhofer e Herring (1991)
14Predicados topológicos Matriz 9-Interseções
Perdizes (A)
Araxá (B)
?B B? B-
?A A? A-
??
?
??
TOCA
?
?
??
??
??
??
Fonte Gilberto Ribeiro (2006)
15Processamento de Consultas Espaciais
- Por quais municípios brasileiros passa o trecho
da BR-040 destacado?
- Métodos de Acesso Multidimensionais
Fonte Gilberto Ribeiro (2006)
16Processamento de Consultas Espaciais
Consulta Espacial
Testes Geométricos
Índice Espacial
Objetos Espaciais
Filtragem
Refinamento
Fonte Gilberto Ribeiro (2006)
17Métodos de Acesso Multidimensionais
- Árvore binária.
- Decomposição do espaço ao
- longo das dimensões x e y compara os valores da
componente x nos - níveis pares da árvore e da componente y nos
níveis ímpares.
Fonte Gilberto Ribeiro (2006)
18Métodos de Acesso Multidimensionais
- Grade regular que cobre todo o espaço.
Fonte Gilberto Ribeiro (2006)
19Métodos de Acesso Multidimensionais
- - Árvore cada nó ou tronco gera quatro
folhas - - Cada nó corresponde a uma região quadrada do
espaço - - Cada região é subdividida em quatro partes
iguais - sucessivamente até ter um ou nenhum objeto
geográfico dentro - de cada quadrante.
Fonte Gilberto Ribeiro (2006)
20Métodos de Acesso Multidimensionais
- Árvore-R - Baseada no retângulo envolvente
mínimo (MBR) dos objetos
Fonte Gilberto Ribeiro (2006)
21Sistema de Informação Geográfica (SIG)
- Geographic Information System (GIS)
- Sistema computacional capaz de armazenar,
processar e manipular dados geográficos (Worboys
and Duckham, 2004) - Funcionalidades de um SIG (Rigaux et al, 2002)
- Entrada e validação de dados espaciais
- Armazenamento e gerenciamento
- Saída e apresentação visual
- Transformação de dados espaciais
- Interação com o usuário
- Combinação de dados espaciais para criar novas
representações do espaço geográfico e - Ferramentas para análise espacial.
22Representação Computacional de Dados Geográficos
Modelos Conceituais
Representação Computacional
Geo-Objetos
Tipos de Dados Vetoriais
Geo-Campos
Tipos de Dados Matriciais
23Geo-Objectos X Geo-Campos
- Geo-Objetos (entidades, feições, objects,
features) - Coleção de entidades distintas e identificáveis,
onde cada entidade é definida por uma fronteira
fechada - Homogeneidade interna
- Descrito por seus atributos (descreve o que está
dentro dele)
24Geo-Objectos X Geo-Campos
- Geo-Campos (superfícies, distribuições, fields,
coverage) - Representam uma superfície contínua, sobre a qual
variam os fenômenos observados - Para cada ponto da região, temos um valor distinto
IDH
Imagem satélite
Altimetria
Geologia
25Estruturas Vetoriais
- Representam as fronteiras de cada entidade
geográfica - Ponto par ordenado (x, y)
- Linha conjunto de pontos conectados
- Área (polígono) região limitado por uma ou mais
linhas fechadas
26Estruturas Vetoriais - Topologia
Polígonos sem topologia ou polígonos fechados
Polígonos com topologia arco-nó-polígono
Rede com topologia arco-nó
27Estruturas Vetoriais - Topologia
- Possíveis problemas com estruturas vetoriais com
polígonos fechados
fonte John Elgy
28Estruturas Vetoriais 2,5 D
- Associação de um valor numérico a cada
localização do espaço 2D - Não são tridimensionais, suporte espacial são
localizações 2D
29Estruturas Vetoriais 2,5 D
- Três alternativas de estruturas vetoriais 2,5 D
- Conjunto de amostras
- Isolinhas (curva de nível)
- Malha Triangular ou TIN
30Estruturas Matriciais
- Grade regular sobre a qual se associa, célula a
célula, o elemento que está sendo representado - Matriz de células P(m,n)
- Índice espacial (i,j) para cada elemento
- Cada célula, um ou mais valores
31Representação Vetorial X Matricial
32Representação Vetorial X Matricial
- Vetorial
- Objetos descontínuos
- Preserva relacionamentos topológicos
- Associar atributos a elementos gráficos
- Eficiência de armazenamento
- Matricial
- Processos contínuos
- Fenômenos variantes no espaço
- Adequado para simulação e modelagem
33Conversão Vetorial ? Matricial
fonte Mohamed Yagoub
34Representação Matricial
fonte Mohamed Yagoub
35Evolução dos SIGs
(1) Gerenciamento e utilização dos dados
geográficos
36Evolução dos SIGs
(2) Armazenamento de dados geográficos
Arquitetura Integrada
SIG
SGBD
Arquitetura Dual
SIG
SGBD
Dados alfanuméricos Dados espaciais
Dados Espaciais
Dados Alfanuméricos
Arquivos
37SIGs e Sistemas de Banco de Dados
- Os Sistemas de Informações Geográficas (SIG)
estão evoluindo para utilizar Sistemas
Gerenciadores de Bancos de Dados (SGBD) para
armazenar e gerenciar dados geográficos - A responsabilidade de gerenciamento dos dados
geográficos passa a ser dos SGBDs e não dos SIGs. - SGBDs tradicionais são estendidos para suportar
dados espaciais.
38Arquitetura Dual - Exemplos
- SPRING
- Dados alfanuméricos SGBD relacional (DBase,
Access, MySQL, Oracle) - Dados espaciais Arquivos com formato específico
- ArcView/ ARC/INFO (até versão 7)
- Dados alfanuméricos SGBD relacional
- Dados espaciais shapefiles
SIG
SGBD
Dados Espaciais
Dados Alfanuméricos
Arquivos
39Arquitetura Dual
- SPRING SGBD - modelo relacional
40Arquitetura Dual
- SPRING Arquivos ASCII-SPRING
Ancoras (.an1, .an2) Polígonos (.po1,
.po2) Linhas (.lin) Pontos das linhas
(.blk) Pontos 2D (.p2d) Pontos 3D (.p3d) Imagens
(.grb, .thm) Luts (.lut) Grades (.grb) Cartas
(.cht) Árvores rtree (.rtl, rtp, .rta) Árvores de
indexação kdtree (.kdt)
41Arquitetura Dual
Fonte Karine Ferreira (2006)
42Arquitetura Dual
- ArcView (versão 3.0) Banco de Dados de São Paulo
- Arquivos sampa.shp, sampa.dbf, sampa.shx
43Arquitetura Dual
- Problemas
- Falta de interoperabilidade
- Consultas são divididas em duas partes
- Dificuldade em manter a integridade entre os
dados espaciais e atributos - Não permite ambiente multiusuário
- Compartilhamento de dados exige duplicação dos
dados - Atualização da informação requer nova cópia para
todos os usuários
44Arquitetura Integrada
SIG
SGBD
O que é um SGBD? Como ele armazena e
gerencia dados geográficos?
Dados alfanuméricos Dados espaciais
45SGBD
- SGBD Sistemas Gerenciadores de Bancos de Dados
ou DBMS Database Management Systems
Banco de Dados
46SGBD
- SGBD Sistemas Gerenciadores de Bancos de Dados
ou DBMS Database Management Systems
Sistema Gerenciador de Bancos de Dados (SGBD ou
DBMS) é uma coleção de programas para criar,
gerenciar e manipular um banco de
dados. Exemplos MySQL, Oracle, PostgreSQL, ...
SGBD
Banco de Dados
47SGBD
- SGBD Sistemas Gerenciadores de Bancos de Dados
ou DBMS Database Management Systems
Usuários de Aplicação
Programadores de Aplicação
DBA
Aplicações
SGBD
Banco de Dados
48SGBD
- SGBD Sistemas Gerenciadores de Bancos de Dados
ou DBMS Database Management Systems
Usuários de Aplicação
Programadores de Aplicação
DBA
Aplicações
Sistema de Bancos de Dados Banco de
Dados SGBD Programas de Aplicação
SGBD
Banco de Dados
49SGBD
- Armazenar, consultar e atualizar o banco de dados
de maneira eficiente - Linguagem de definição de dados (SQL-DDL)
- Linguagem de consulta e manipulação de dados
(SQL-DML) - Manter a consistência e integridade dos dados
- Evitar redundância
- Controlar acessos concorrentes (multiusuários)
- Manter a segurança dos dados
- Recuperar falhas e fazer cópias de reserva
(backup) - Restringir e controlar os acessos dos usuários
- Restrições de segurança
50SQL - Structured Query Language
- Linguagem padrão (ISO) para sistemas de bancos de
dados - É uma linguagem declarativa de alto nível que
permite - Consultar dados
- Definir e alterar dados
- Definir visões
- Especificar autorização e regras de segurança
- Definir restrições de integridade
- Criar índices
- Controlar transações
- ...
51SQL - Structured Query Language
SQL-DDL
SQL-DML
INSERT INTO Estados VALUES (Minas Gerais,
MG, 9999)
CREATE DATABSE Teste
CREATE TABLE Estados ( NOME VARCHAR(100) SIGLA
VARCHAR(2) POP NUMBER(10,10))
SELECT FROM Estados WHERE SIGLA MG
SGBD
Banco de Dados
52SGBD Relacional
- Modelo de Dados Relacional
- Banco de dados é organizado em uma coleção de
relações ou tabelas relacionadas entre si.
Aluno
MATRICULA NOME CURSOID
98765 João MAT
67765 José BIO
84562 Maria ENG
34256 Luis INFO
3452672 Ana MAT
34529 Luana MAT
Curso
CURSOID TITULO DURAÇÃO
INFO Informática Indust. 4
BIO Biologia 4
ENG Engenharia Civil 5
MAT Licenciatura Mat. 4
53SGBD Objeto-Relacional
- Modelo de Dados Objeto-Relacional
- É uma extensão do Modelo Relacional com conceitos
da modelagem Orientada por Objeto. - Combina os benefícios dos dois modelos.
- Fornecem suporte para
- Criar objetos complexos
- Executar consultas avançadas sobre dados
complexos - A linguagem de consulta OR é uma extensão da
linguagem SQL para suportar o modelo de objetos
54SGBD Objeto-Relacional
CREATE TYPE SDO_GEOMETRY AS OBJECT ( SDO_GTYPE
NUMBER, SDO_SRID NUMBER, SDO_POINT
SDO_POINT_TYPE, SDO_ELEM_INFO SDO_ELEM_INFO_ARRA
Y, SDO_ORDINATES SDO_ORDINATE_ARRAY)
CREATE TABLE Estados ( SIGLA VARCHAR(2) POP
NUMBER(10,10) GEOM SDO_GEOMETRY)
SIGLA POP GEOM
MG 222222
RJ 333333
SP 444444
55Extensão Espacial
- SGBD-OR são estendidos para suportar
- Tipos de dados espaciais polígono, ponto, linha,
raster, etc - Operadores e funções utilizados na SQL para
manipular dados espaciais (consultas e junção) - Métodos eficientes de acesso aos dados espaciais
- Extensões existentes (seguem padrão OGC)
- Comerciais
- Oracle Spatial
- IBM DB2 Spatial Extender
- Livres
- PostGIS
- Extensão espacial para MySQL
56Open Geospatial Consortium OGC
- Consórcio formado por empresas, universidades e
agências governamentais. - Promover o desenvolvimento de padrões que
facilitem a interoperabilidade entre sistemas
envolvendo informação geo-espacial. - Os produtos do trabalho do OGC são apresentados
sob a forma de especificações de interfaces e
padrões de intercâmbio.
57Open Geospatial Consortium OGC
- Algumas especificações OGC
- SFS-SQL (Simple Feature Specification For SQL)
especificações sobre o armazenamento e
recuperação de dados espaciais vetoriais em
sistemas de bancos de dados. - GML (Geography Markup Language) intercâmbio de
dados. - OWS (OGC Web Services) especificações de
serviços WEB - WFS Web Feature Service
- WMS Web Map Server
58OGC Panorama Geral
ARMAZENAMENTO
SERVIÇOS
APLICAÇÃO
SLD
Web Map Service
GML/Filter
Web Feature Service
Simple Feature Specification for SQL
Web Coverage Service
Outros Serviços
59SFS Modelo Geométrico
Fonte da Figura OGC
60SFS Modelo Geométrico
- Tipos de geometrias vetoriais - exemplos
- Criar uma tabela para armazenar os municípios de
São Paulo - CREATE TABLE municipiossp
- (cod INTEGER,
- nomemunicp VARCHAR(255) NULL,
- populacao REAL
- geometria POLYGON)
-
- Criar uma tabela para armazenar os rios de São
Paulo - CREATE TABLE drenagemsp
- ( cod INTEGER,
- nomerio VARCHAR(255) NULL,
- geometria LINESTRING)
61SFS Modelo Geométrico
- Dimensionalidade da figura geométrica
- 0-dimensional ponto
- 1-dimensional linha
- 2-dimensional polígono
- Obs não diz respeito ao espaço onde a figura
está inserida! - Dimensionalidade do espaço onde está inserida a
figura geométrica - 2D plano cartesiano
- 3D espaço tridimensional
- 2DM plano cartesiano com uma medida associada
- 3DM espaço tridimensional com uma medida
associada
62SFS Geometria
Fonte da Figura OGC
63SFS Geometria Simples
Fonte da Figura OGC
64SFS Geometria Simples
Fonte da Figura OGC
65SFS Coleções Homogêneas
Fonte da Figura OGC
66SFS Coleções Homogêneas
Fonte da Figura OGC
67SFS Coleções Homogêneas
Fonte da Figura OGC
68SFS Coleções Heterogêneas
- São permitidas coleções heterogêneas como
instâncias da classe GeometryCollection
69SFS Operadores Topológicos
- Operadores topológicos baseados na matriz de
9-Interseções estendida dimensionalmente (DE-9IM)
touches, equals, overlaps, disjoints,
intersects, contains, insides, covers, coveredBy.
70SFS Outros Operadores
- Outros operadores distance, buffer, convexHull,
intersection, union, difference, area, centroid e
pointOnSurface ....
71SFS-SQL
- Spatial SQL - Exemplos
- Encontre todos os municípios de SP que são
vizinhos do município de São Paulo - SELECT d2.nomemunicp
- FROM municipiossp d1, municipiossp d2
- WHERE TOUCHES(d1.geometria, d2.geometria)
- AND (d2.nomemunicp ltgt 'SAO PAULO')
- AND (d1.nomemunicp 'SAO PAULO')
72SFS-SQL
- Spatial SQL - Exemplos
- Encontre todos os municípios de SP que estão num
raio de 3Km do rio X - SELECT nomemunicp FROM municipiossp,
drenagemsp - WHERE INTERSECTS
- (BUFFER(drenagemsp.geometria, 3000),
- municipiossp.geometria)
- AND drenagemsp.nomerio X
73SFS-SQL
74Extensão espacial - PostGIS
- Extensão do SGBD PostgreSQL (SFS-SQL)
- Tipos de dados geométricos.
- Operadores espaciais
- Através da biblioteca GEOS
- Métodos de Acesso Espacial
- R-Tree sobre GiST
75Extensão espacial - Oracle Spatial
- Extensão do SGBD Oracle (SFS-SQL)
- Tipos de dados geométricos.
- Operadores e funções espaciais
- Métodos de Acesso Espacial
- R-Tree e QuadTree
CREATE TYPE SDO_GEOMETRY AS OBJECT ( SDO_GTYPE
NUMBER, SDO_SRID NUMBER, SDO_POINT
SDO_POINT_TYPE, SDO_ELEM_INFO
SDO_ELEM_INFO_ARRAY, SDO_ORDINATES
SDO_ORDINATE_ARRAY)
Fonte Karine Ferreira (2006)
76Arquitetura Integrada- Exemplos
Arquitetura Integrada
- TerraLib/TerraView
- ArcView SDE
- Quantum GIS
SIG
SGBD
Dados alfanuméricos Dados espaciais
77TerraLib
- É uma biblioteca de software, livre e de código
fonte aberto, que oferece suporte para a
construção de aplicativos geográficos baseados na
arquitetura integrada. - Desenvolvida em C
- Suporta
- SGBD relacional
- Access, Oracle, Postgres, MySQL, SQLServer
- SGBD OR
- Oracle Spatial, PostGIS
78TerraLib
- Livre e de código fonte aberto
- GNU Library License (or Lesser General Public
License - LGPL) - Parceiros de desenvolvimento
79TerraLib
Interface com SGBDs
Database
MySQL Driver
PostgreSQL
ADO Driver
Oracle Driver
Oracle Spatial
PostGIS
Access
MySql
Oracle
PostgreSQL
SQL Server
Oracle Spatial
PostGIS
80TerraLib - Tabelas de Dados Vetoriais
- SGBD sem e com extensão espacial
TerraLib
Driver
Driver Oracle Spatial
DBMS Without spatial extent
Oracle Spatial
Fonte Karine Ferreira (2006)
81TerraLib - Drivers
- Diferentes implementações dos métodos do Database
- Ex. LocatePolygon ? Qual o polígono que contém o
ponto P?
82TerraLib - Drivers
- LocatePolygon SGBD sem extensão espacial
TerraLib
Driver
SELECT FROM polygons p WHERE p.lower_x lt
P.x() AND p.upper_x gt P.x() AND p.lower_y lt
P.y() AND p.upper_y gt P.y()
DBMS Without spatial extent
Fonte Karine Ferreira (2006)
83TerraLib - Drivers
- LocatePolygon SGBD sem extensão espacial
TerraLib
TerraLib functions
Driver
result
SELECT FROM polygons p WHERE p.lower_x lt
P.x() AND p.upper_x gt P.x() AND p.lower_y lt
P.y() AND p.upper_y gt P.y()
DBMS Without spatial extent
Fonte Karine Ferreira (2006)
84TerraLib - Drivers
- LocatePolygon SGBD com extensão espacial
TerraLib
Driver Oracle Spatial
SELECT FROM polygons WHERE MDSYS.SDO_RELATE(spa
tial_data, MDSYS.SDO_GEOMETRY(2001,
NULL, MDSYS.SDO_POINT_TYPE(P.x(),P.y(),
NULL), NULL, NULL), 'maskcontains querytype
window') 'TRUE'"
result
Oracle Spatial
Fonte Karine Ferreira (2006)
85TerraView
- Um Aplicativo Geográfico que utiliza a TerraLib
86TerraView
- É um aplicativo construído sobre a biblioteca
TerraLib - Exemplifica a utilização da biblioteca TerraLib
- Funcionalidades
- Visualização e manipulação de dados vetoriais
(pontos, linhas e polígonos) e matriciais (grades
e imagens) - Consultas espaciais e por atributos
- Agrupamentos e geração de legendas
- Gráficos (histogramas) e pie bar
- Análise espacial (Índice de Moran, Mapa de
Kernel, etc) - Operações geográficas (Buffer, Interseção,
Diferença, etc)
87TerraView
88ArcGIS e ArcSDE
89ArcSDE
- Interface entre os softwares do ArcGIS e os SGBDs
- Responsável pelo armazenamento, gerenciamento e
recuperação dos dados geográficos nos SGBDs - IBM DB2 com extensão espacial
- IBM Informix com extensão espacial
- Microsoft SQL Server
- Oracle
- Oracle com extensão espacial ou Locator
90ArcSDE
- Dados vetoriais são armazenados em tipos de dados
espaciais (SGBD com extensão espacial) ou em
BLOBs (SGBD sem extensão) - Dados matriciais são armazenados em BLOBs em
todos os SGBDs
Dados Vetoriais
91Referências
- Worboys, M. and Duckham, M. GIS A computing
Perpective, Second Edition, 2004 - Rigaux, P. Michael, S. and Voisard, A. Spatial
Databases with Application to GIS. 2002