View
221
Download
0
Category
Preview:
Citation preview
BANCO DE DADOS EM
SISTEMAS DE
INFORMAÇÕES
GEOGRÁFICAS
Modelagem espacial e PostGIS
- Paulo Henrique Pisani
- Rosanne da Silva Vieira 20111
Apresentação
Introdução
GIS: Definições, Funções, Componentes, Dados
Espaciais, Breve histórico, Arquitetura
Modelagem Conceitual em GIS: OMT-G
SGBDs Espaciais
PostGIS
Conclusão e Trabalhos Futuros
2
Introdução
Dados espaciais são onipresentes atualmente:
◦ Serviços Web (e.g. GoogleMaps);
◦ Dispositivos móveis (e.g. GPS).
EOS (Earth Observing System) da NASA
(National Aeronautics and Space Administration)
◦ gera 1 terabyte/dia.
4
Introdução
Sistemas de informação geográfica
(SIG/GIS)
◦ Sistema = conjunto de elementos com
relação (entrada, processamento, saída);
◦ Informação = dados que descrevem um
domínio.
Sistemas utilizados para coletar, modelar,
armazenar e analisar informações
geográficas ou relacionadas à geografia;
5
Introdução
Principais características:
Inserir e integrar dados espaciais em umaúnica base de dados;
dados censitários;
informações espaciais;
imagens de satélite;
GPS.
6
Introdução
Oferecer mecanismos para combinar as várias
informações;
Possuir ferramental para realizar analises,
oferecendo alternativas para o entendimento
ocupação
utilização do meio físico
7
Introdução
Importância do SIG
Facilidade para trabalhar com grande quantidade de
informação;
Tempo de resposta em tempo real no apoio à decisão;
Maior facilidade para gestão e armazenamento de dados
geográficos;
Rapidez com que a informação pode ser atualizada.
8
Introdução
Aplicações SIG
Aplicações de SIG
Cartográficas Aplicação de Modelagem Aplicações de
Digitalizada de Terra Objetos Geográficos
Adaptado de [Elmasri & Navathe, 2005]
9
Introdução
Aplicações SIG
◦ Cartográficas
Irrigação;
Análise de produção de safras;
Avaliação da terra;
Gerência de facilidades e planejamento;
Estudos sobre paisagem;
Análise do padrão de tráfego.
10
Introdução
Aplicações SIG
◦ Aplicações de Modelagem Digitalizada
de Terra
Estudos sobre recursos da ciência terrestre;
Avaliação para Engenharia civil e militar;
Levantamento sobre o solo;
Estudos sobre a poluição do ar e da água;
Controle de enchentes;
Gerenciamento de recursos hídricos.
11
Introdução
Aplicações SIG
Cartográficas e Aplicações de Modelagem Digitalizada
de Terra:
Capturados por características:
Solo;
Densidade;
Qualidade do ar.
12
Introdução
Aplicações SIG
◦ Aplicações de Objetos Geográficos
Sistema para veículos de navegação;
Análise do mercado geográfico;
Distribuição e consumo de utilidades;
Produtos e serviços de consumo:
análise econômica.
13
Introdução
Aplicações SIG
Aplicações de Objetos Geográficos
Identificados por domínios físicos:
Usina elétrica;
Distritos eleitorais;
Lotes de propriedades;
Pontos de referencias em cidades.
14
Definições de SIG
Aronoff (1989), conjunto de procedimentos usadospara armazenar e manipular dados geo-referenciados;
Burrough (1986), conjunto de ferramentas paracoletar, armazenar, recuperar, transformar e visualizardados;
Cowen (1998), sistema de suporte à decisão que faza junção de dados em um ambiente de respostas aproblemas;
16
Definições de SIG
Smithet et al. (1987), banco de dados indexados
espacialmente, onde opera um conjunto de
procedimentos com respostas a consultas sobre
entidades;
Silva (2010), os SIGs usam o meio digital, onde são
armazenados os dados geo-referenciados e com
controle de erro. Contêm funções de análise destes
dados que variam de álgebra cumulativa até a não
cumulativa.
17
Funções
Funções do SIG
Função de “input”; Aquisição de dados
Função de validação e edição;
Função de estruturação e armazenamento de
informação;
19
Funções
Função de análise; Inquirição / seleção
Análise de vizinhança
Análise de superfície
Análise de redes
“Overlay” (sobreposição)
Função de “output” Saídas gráficas
20
Funções
Deve ser aberto, flexível e estar capacitado a se
relacionar com outros sistemas;
Manter-se estável, com o mínimo custo quando em
operação;
◦ Na fase de criação, demanda muito trabalho, devido ao
tratamento e centralização das informações;
Viabilizar a tomada de decisão, documentar a ação e a
intervenção, como resultado desta atitude.
21
Componentes
Hardware: equipamentos para coletar, armazenar, processar e representar os
dados.
Software: para manipular dados e diversas informações desejadas.
Dados/Informação: a partir da realidade para armazenados em sistemas de
informação.
Pessoas: administradores.
Métodos: para o uso do sistema de informação.
23
Componentes
Relacionamento hierárquico
Relacionamento dos componentes de um GIS - Adaptado de [Camara, 1994]
24
Componentes
Nível mais próximo ao usuário, o sistema é operado e
controlado:
Interface homem com máquina.
Nível intermediário, deve ter mecanismos de
processamento de dados espaciais:
Entrada e integração, consulta e análise, visualização plotagem.
Nível mais interno, armazenamento e recuperação dos
dados espaciais e seus atributos:
SGBD Espacial.
25
Dados espaciais
São elementos definidos por variáveis;
Possuem localização no espaço;
Estão relacionados a sistemas de coordenadas;
Exemplo: Projeção de Mercator:
Atributos: tipo de rocha, solo, temperatura, vegetação, etc.
27
Dados espaciais
Fenômenos do mundo real:
Espacial - ocorre a variação de lugar para lugar:
declividade, altitude e profundidade do solo.
Temporal - acontece com a variação do tempo:
densidade demográfica e a ocupação do solo.
Temática - incide variações nas mudanças de
características.
28
Dados espaciais
Fenômenos são arquivados como:
◦ Dados:
Conjunto de valores numéricos.
◦ Informação:
Conjunto de dados, com determinada aplicação.
29
Dados espaciais
O SIG lida com informações geo-referenciada que
podem ser divididas em:
Entidades geográficas;
Atributos.
30
Dados espaciais
Informação geográfica
é organizada em
camadas ou níveis de
informação,
consistindo cada uma
em um conjunto
selecionado de
objetos associados e
respectivos atributos.
Camadas dados espaciais [Pinto, 2009]
32
Dados espaciais
O mundo real pode
ser representado em
forma de:
Raster/Imagem;
Vetores.
Dados espaciais [Pinto, 2009]
33
Dados espaciais
Modelo Vetorial:
– Pontos;
– Linhas;
– Polígonos.
Modelo Raster:
São constituídas por
números, cada um deles
com uma entidade.
Modelos dados espaciais [Pinto, 2009]
34
Dados espaciais
Análise espacial
◦ Construção da base de dados e sua geo-codificação
Resolve problemas de análise espacial, tais como:
Cruzar dois ou mais níveis de polígonos, para gerar uma
combinação entre eles;
Calcular o caminho mais curto entre dois pontos;
Calcular área e/ou volume de superfícies;
Permitir visualização das entidades a partir de consultas ao
banco de dados que armazenam os atributos.
35
Dados espaciais
Modelo Vetorial Modelo Raster
Estrutura Complexa Simples
Topologia Melhor definição Fraca
Saídas Gráficas Com qualidade Baixa qualidade
Manipulação
de dados
Fácil Difícil
Visualização Rápida Lenta
Comparação dos modelos, adaptado de [Pinto, 2009]
36
Breve Histórico
A evolução do SIG é dividida em quatro fases:
Primeira Fase - década de 60 e de 70
Desenvolveu-se o primeiro sistema:
SIG Canadense: capacidade de armazenar e recuperar dados,
reclassificar os atributos, mudar a escala de representação e
fornecer relatórios.
Há poucos dados em máquina e são ações individuais,
com contribuições de diversas personalidades;
38
Breve Histórico
Primeira Fase - década de 60 e de 70
(continuação)
Desenvolvimento voltado para o planejamento e
modelagem de situações relacionados com o meio
urbano:
◦ aparecimento das imagens de sensoriamento remoto;
◦ produtos derivados do processamento digital de imagens de satélites.
39
Breve Histórico
Segunda Fase - década de 80
Forte financiamento do estado e diminuição do protagonismo individual;
Caracterizada pela realização de várias experiências;
Ligação em rede dos periféricos e aplicativos, fez o SIG ter uma poderosa capacitação de produção gráfica, processamento de atributos e análise espaciais.
40
Breve Histórico
Terceira fase - final dos anos 80
Forte esforço por parte do setor privado e desenvolvimento de bases de dados geográficas em grande escala;
Atividade comercial;
Começaram as operações em 3D, e surgiram as impressoras de alta resolução.
41
Breve Histórico
Quarta Fase - atualmente
Dados centralizados, acessíveis através de redes de
telecomunicações;
Preocupação centralizada nos utilizadores.
42
Arquitetura de um SIG
Interface gráfica com o usuário:
◦ Visualização de mapas e atributos associados
ao terreno;
◦ Manipulação dos dados:
com consultas e atualizações.
45
Arquitetura de um SIG
Entrada e Integração de dados
◦ Mapas obtidos através de técnicas de
sensoriamento remoto:
Técnica que registra características sem contato
entre os sensores e os objetos do terreno:
sensores em satélites;
fotografias aéreas.
46
Arquitetura de um SIG
Funções de processamento
◦ Análise geo-espacial;
◦ Processamento digital e de imagens;
◦ Modelagem numérica do terreno;
◦ Operações sobre redes.
47
Arquitetura de um SIG
Visualização e plotagem:
◦ Componente responsável por apresentações
gráficas.
Armazenamento e recuperação:
◦ Definição, armazenamento e manipulação de
dados geográficos.
48
Arquitetura de um SIG
Arquitetura Dual – os atributos convencionaissão armazenados em forma de tabela e umsistema separado arquiva e armazena os dadosespaciais.
Arquitetura Dual – Adaptado de [Camara, 1994]
49
Arquitetura de um SIG
Arquitetura baseada em Campos Longos –
armazena a representação geométrica dos
objetos geográficos;
Arquitetura baseada em mecanismos de
expansão - baseada em sistemas gerenciadores
de banco de dados extensíveis.
50
Modelagem Conceitual em GIS:
Modelo OMT-G
Modelos de dados são classificados de acordo
com o nível de abstração empregado.
Para aplicações geográficas, são considerados
quatro níveis distintos de abstração:
Níveis de abstração [Borges et al., 2001]
52
Modelagem Conceitual em GIS:
Modelo OMT-G
Nível mundo real:
◦ fenômenos geográficos reais:
rios, ruas, cobertura vegetal, etc.
Nível representação conceitual:
◦ definidas as classes básicas, contínuas e
discretas.
53
Modelagem Conceitual em GIS:
Modelo OMT-G
Nível de apresentação:
◦ oferece ferramentas, para especificar diferentes aspectos visuais que as entidades devem assumir.
Nivel de implementação:
◦ define padrões, forma de armazenamento e estrutura de dados para implementar:
relacionamentos, funções e métodos.
54
Modelagem Conceitual em GIS:
Modelo OMT-G
Prevê primitivas para modelar a geometria e a
topologia dos dados geográficos, oferecendo:
◦ Estruturas topológicas “toda - parte”;
◦ Estruturas de rede;
◦ Múltiplas representações de objetos;
◦ Relacionamentos espaciais.
55
Modelagem Conceitual em GIS:
Modelo OMT-G
Permite a especificação de atributos alfanuméricos e métodos associados para cada classe;
Os principais pontos do modelo:◦ expressividade gráfica;
◦ capacidade de codificação.
As anotações textuais são substituídas pelo desenho de relacionamentos explícitos, denotando a dinâmica da interação entre os diversos objetos espaciais e não espaciais.
56
Modelagem Conceitual em GIS:
Modelo OMT-G
O modelo OMT-G é baseado em três conceitos
principais:
◦ Classes;
◦ Relacionamentos;
◦ Restrições de integridade espaciais.
Classes e relacionamentos definem as primitivas básicas
usadas para criar esquemas estáticos de aplicação.
57
Modelagem Conceitual em GIS:
Modelo OMT-G
Propõe o uso de três diagramas diferentes
nos processos de desenvolvimento de uma
aplicação geográfica:
Diagrama de classes;
Diagrama de transformação;
Diagrama de apresentação.
58
Modelagem Conceitual em GIS:
Modelo OMT-G Diagrama de Classe
◦ Usado para descrever a estrutura e o conteúdo de
um banco de dados geográfico;
◦ Contém elementos específicos da estrutura de um
banco de dados:
classes de objetos;
relacionamentos.
◦ Contém regras e descrições que definem a estrutura
dos dados.
59
Modelagem Conceitual em GIS:
Modelo OMT-G
Diagrama de Classes
◦ Classe
◦ Representam três grandes grupos de dados:
Contínuos;
Discretos;
Não-espaciais.
60
Modelagem Conceitual em GIS:
Modelo OMT-G
◦ As classes podem ser:
Geo-referenciadas:
conjunto de objetos que possuem representação espacial e
estão associados a regiões da superfície da terra,
representando a visão de campos e de objetos.
Convencionais:
conjunto de objetos com propriedades, comportamento,
relacionamentos, e semântica semelhantes, e que possuem
alguma relação com os objetos espaciais, mas que não possuem
propriedades geométricas.
61
Modelagem Conceitual em GIS:
Modelo OMT-G
Classes convencionais são simbolizadas exatamente
como na UML;
Classes georreferenciadas são simbolizadas no modelo
OMT-G de forma semelhante:
◦ no canto superior esquerdo – retângulo usado para indicar a
forma geométrica da representação.
Métodos ou operações são especificados na seção
inferior do retângulo.
62
Modelagem Conceitual em GIS:
Modelo OMT-G
Classe geo-referenciadas e convencionais [Borges, 2005]
Nome da Classe
Atributos
Operações
Nome da Classe
Atributos
Operações
Nome da Classe
Nome da Classe
Classe
Georreferenciada
Classe Convencional
(a)
Representação
completa
(b)
Representação
simplificada
63
Modelagem Conceitual em GIS:
Modelo OMT-G
Exemplo de representação de forma geométrica
Representação de forma geométrica [Borges, 2005]
64
Modelagem Conceitual em GIS:
Modelo OMT-G
Diagrama de classes◦ Relacionamento
◦ O modelo OMT-G representa três tipos de relacionamentos entre suas classes: Associações simples;
Relacionamentos topológicos em rede;
Relacionamentos espaciais.
A discriminação dos relacionamentos ◦ definir explicitamente o tipo de interação que ocorre entre as
classes.
65
Modelagem Conceitual em GIS:
Modelo OMT-G
Associações simples:
◦ relacionamentos estruturais entre objetos de classes
diferentes, convencionais ou georreferenciadas.
Relacionamentos topológicos em rede:
◦ permitem que o sistema armazene e mantenha
atualizada informações.
Relacionamentos espaciais:
◦ relações topológicas, métricas e de ordem.
66
Modelagem Conceitual em GIS:
Modelo OMT-G
Relacionamentos [Borges, 2005]
EdificaçãoPertence a
Proprietário
(a) Associação Simples
EdificaçãoContém
(b) Relacionamento Espacial
Lote
Segmento de
Logradouro Rede Viária
(c) Relacionamento de Rede Arco-Nó
Cruzamento Rodovia
(d) Relacionamento de Rede Arco-Arco
Malha Rodoviária
67
Modelagem Conceitual em GIS:
Modelo OMT-G
Diagrama de Classes
◦ Cardinalidade
◦ Representa o número de instâncias de uma
classe que podem estar associadas a
instâncias da outra classe;
◦ A notação adotada pelo modelo OMT-G é a mesma
usada na UML.
68
Modelagem Conceitual em GIS:
Modelo OMT-G
Cardinalidade [Borges, 2005]
Nome da Classe
Zero ou Mais
0..*
Nome da Classe
Um ou Mais
1..*
Nome da Classe
Exatamente Um
1
Nome da Classe
Zero ou Um
0..1
69
Modelagem Conceitual em GIS:
Modelo OMT-G
Diagrama de Classes:
◦ Generalização e Especialização;
◦ Generalização - processo de definição de
superclasses a partir de subclasses;
◦ Especialização - classes mais específicas são
detalhadas a partir de genéricas.
70
Modelagem Conceitual em GIS:
Modelo OMT-G
Generalização/Especialização - Fonte Borges, 2005
Propriedade
Tipo de
Propriedade
Propriedade
Territorial
Propriedade
predial
Lote
Ocupação
Lote Edificado Lote Vago
Notação UML Generalização espacial
Um triângulo conecta a superclasse a suas subclasses
71
Modelagem Conceitual em GIS:
Modelo OMT-G
Uma generalização pode ser especificada:
Total: um ponto é colocado no ápice do triângulo, denotando a
totalidade;
Parcial.
Também adota a notação para os elementos de
restrição predefinidos como disjunto e sobreposto:
generalização disjunta o triângulo é em branco;
generalização sobreposta o triângulo é preenchido.
72
Modelagem Conceitual em GIS:
Modelo OMT-G
Diagrama de Classes
◦ Agregação
◦ Associação entre objetos, onde se considera
que um deles é formado a partir de outros;
◦ A agregação espacial é um caso especial, na
qual são explicitados relacionamentos
topológicos “todo-parte”.
73
Modelagem Conceitual em GIS:
Modelo OMT-G
Agregação – Fonte - Borges 2005
Trecho
Logradouro
Agregação pode ocorrer entre:• Classes convencionais, entre classes Modelo de
dados georreferenciadas ou entre uma classe
convencional e uma classe geo-referenciada.
74
Modelagem Conceitual em GIS:
Modelo OMT-G
A notação para agregação espacial Mostra que as quadras são geometricamente
equivalentes à união dos lotes contidos nelas.
LoteQuadra
Agregação Espacial– Fonte - Borges 2005
75
Modelagem Conceitual em GIS:
Modelo OMT-G
Diagrama de Classes
◦ Generalização Conceitual
◦ Série de transformações que são realizadas
sobre a representação da informação espacial;
◦ Objetivo: melhorar a legibilidade e aumentar a
facilidade de compreensão dos dados por
parte do usuário do mapa.
76
Modelagem Conceitual em GIS:
Modelo OMT-G
Diagrama de Classe:
◦ Restrições de integridades;
◦ Existem diversas restrições de integridade
que são implícitas às primitivas do modelo ou
que podem ser deduzidas a partir da análise
dos diagramas.
77
Modelagem Conceitual em GIS:
Modelo OMT-G
A identificação de restrições de integridade espacial é importante no projeto para uma aplicação;
As principais restrições de integridade, são:
Chave;
Restrições de domínio;
Integridade topológica;
Integridade semântica;
Integridade definida pelo usuário.
78
Restrições de integridade topológica:
◦ regras para geo-campos, relacionamentos espaciais e em rede, agregação espacial;
Restrições de integridade semântica:
◦ regras associadas a relacionamentos espaciais;
Restrições de integridade definidas pelo usuário:
◦ modeladas como métodos associados a cada classe.
Modelagem Conceitual em GIS:
Modelo OMT-G
79
Modelagem Conceitual em GIS:
Modelo OMT-G
Diagrama de transformação
◦ Usado para especificar transformações entre classes;
◦ Está no nível conceitual de representação;
◦ São baseados nas primitivas de classe, conforme definidas para os diagramas de classes.
80
Modelagem Conceitual em GIS:
Modelo OMT-G
As classes que estão envolvidas em algum tipo
de transformação são conectadas: Por meio de linhas contínuas, com setas que indicam a direção
da transformação.;
Os operadores de transformação e seus parâmetros, são
indicados por meio de texto sobre a linha que indica a
transformação.
EdificaçãoPertence a
Proprietário
Relacionamentos [Borges, 2005]
81
Modelagem Conceitual em GIS:
Modelo OMT-G
Diagrama de apresentação
◦ Estão reunidos os requisitos definidos pelo
usuário quanto às alternativas de
apresentação e saída para cada objeto
geográfico.
82
Modelagem Conceitual em GIS:
Modelo OMT-G
A seção superior indica o nome da classe, o nome da apresentação e a aplicação:◦ Nessa seção pode-se especificar uma faixa de escalas
onde a apresentação será usada.
A segunda é dividida em duas partes:◦ À esquerda, indica o aspecto visual dos objetos após a
transformação;
◦ À direita, especificações mais precisas quanto aos atributos gráficos: cor da linha, tipo e espessura de linha, padrão de
preenchimento, cor de preenchimento, e nome do símbolo.
83
Armazenamento de Dados Espaciais
Duas opções:
◦ Mecanismos próprios do GIS (primeiros GIS)
Problemas:
Dependência de dados;
Segurança de dados;
Controle de concorrência.
◦ SGBDs Espaciais (SDBMS – Spatial Database
Management System).
86
SGBD Espacial
Objetivos:
◦ Integrar a representação e manipulação dos
dados geométricos com dados não
geométricos no nível lógico;
◦ Armazenar e processar estes dados
eficientemente no nível físico.
87
SGBD Espacial
Requisitos:
◦ Representação lógica estendida para suportar
dados geométricos;
◦ Suporte a funções para dados geométricos na
DML;
◦ Representação física e acesso eficiente aos
dados espaciais.
R-Tree, GiST
88
SGBD Espacial
Extensões espaciais para os SGBDs;
Exemplos:
◦ PostGIS;
◦ Oracle Spatial;
◦ IBM BD2 Spatial;
◦ SQL Server Spatial.
89
PostgreSQL
SGBD Objeto-relacional (ORDBMS -
Object-relational Database Management
System).
Baseado no Postgres (Universidade da
Califórnia em Berkeley);
◦ Baseado no Ingres (um dos primeiros
SGBDS).
Disponível em (versão atual: 9.0.4):
<http://www.postgresql.org/>
90
PostGIS
Tanto o PostgreSQL quanto o PostGIS são softwares de código-fonte aberto;
Pacote que estende o PostgreSQL para suportar:◦ Objetos geográficos;
◦ Operações geográficas: Validação de dados;
Transformação de coordenadas;
Cálculo de distâncias;
Etc.
Disponível em (versão atual 1.5.2): <http://postgis.refractions.net/>
91
Padronização
PostGIS atende a padrões internacionais
◦ OGC (Open GIS Consortium);
◦ ISO/IEC 13249 SQL/MM:
Derivada da OpenGIS Simple Features
Specifications for SQL;
Funções para dados geográficos:
Converter;
Comparar;
Processar.
◦ Maior portabilidade de aplicações.
92
Sistema de Referência Espacial
SRS (Spatial Reference System)
◦ Define:
Como os dados geográficos são representados no mapa;
Unidade de medida (e.g. graus, metros) utilizada pelo sistema de coordenadas.
◦ Identificação por: SRS ID (SRS Identifier)
◦ Exemplo: EPSG:4326 (European PetroleumSurvey Group)
WGS 84: utilizado por diversas aplicações GIS (e.g. GPS).
93
Sistemas de Referência Espacial
PostGIS:
◦ Utiliza SRID (Spatial Reference Identifier),
similar ao SRS ID;
◦ A instalação básica inclui cerca de 3000 SRSs;
◦ Aspecto importante sobre sistemas espaciais:
Par ordenado (longitude; latitude) e não (latitude;
longitude).
94
POSTGIS
Objetos Espaciais, Funções básicas, Relacionamento entre Dados Geométricos, Junções Espaciais e Metadados
95
Ambiente
Máquina Virtual com:
◦ MS Windows Server 2003;
◦ PostgreSQL 9.0.4;
◦ PostGIS 1.5.2 (instalado após o PostgreSQL).
96
Objetos EspaciaisOpenGIS Simple Features
Specification 2010
Objetos geométricos oferecidos pelo PostGIS [OGS 2010]97
Objetos EspaciaisObjeto base: geometry
PostgreSQL possui o tipo geometry,
que é diferente do tipo geometry do
PostGIS:
Tipo geometry do PostgreSQL não
segue os padrões do OGC
Objetos geométricos oferecidos pelo PostGIS [OGS 2010]98
Objetos Espaciais
Tipos básicos definidos pelo PostGIS:
◦ POINT: define um ponto;
◦ LINESTRING: conjunto de dois ou mais
pontos;
◦ POLYGON: define um polígono.
99
Objetos Espaciais
CREATE TABLE tabela_teste (cod serial
NOT NULL PRIMARY KEY);
SELECT AddGeometryColumn('public',
'tabela_teste', 'teste_point', 4326,
'POINT', 2);
SELECT AddGeometryColumn ('public',
'tabela_teste', 'teste_linestring',
4326, 'LINESTRING', 2);
SELECT AddGeometryColumn('public',
'tabela_teste', 'teste_polygon',
4326,'POLYGON', 2);
100
Objetos Espaciais
INSERT INTO tabela_teste (teste_point,
teste_linestring, teste_polygon)
VALUES
(ST_GeomFromText('POINT(0 0)', 4326),
ST_GeomFromText('LINESTRING(0 0, 1 1,
1 2)', 4326),
ST_GeomFromText('POLYGON((0 0, 0 1, 1
1, 1 0, 0 0), (0.25 0.25, 0.25 0.75,
0.75 0.75, 0.75 0.25, 0.25 0.25))',
4326));
101
Objetos Espaciais
INSERT INTO tabela_teste (teste_point,
teste_linestring, teste_polygon)
VALUES
(ST_GeomFromText('POINT(0 0)', 4326),
ST_GeomFromText('LINESTRING(0 0, 1 1,
1 2)', 4326),
ST_GeomFromText('POLYGON((0 0, 0 1, 1
1, 1 0, 0 0), (0.25 0.25, 0.25 0.75,
0.75 0.75, 0.75 0.25, 0.25 0.25))',
4326));
102
Objetos Espaciais
Representação:
◦ WKT (Well-known Text)
Função: ST_GeomFromText(<wkt>, <srid>)
Exemplo: ST_GeomFromText(‘POINT(-77.036548 38.895108)’, 4326)
◦ WKB (Well-known Binary)
Função: ST_GeomFromWKB(<wkb>, <srid>)
Exemplo: ST_GeomFromWKB(‘0101000020E6100000F
D2E6CCD564253C0A93121E692724340’,
4326);
103
Objetos Espaciais
Coleções de geometrias:
◦ MULTIPOINTS;
◦ MULTILINESTRINGS;
◦ MULTIPOLYGONS;
Além destes, há suporte a todos os
objetos dos OpenGIS Simple Features
Specification;
Dados 3D: suporte limitado.
104
Funções do PostGIS
Podem ser agrupadas em:◦ Construtores;
◦ Exportação;
◦ Acesso e modificação de propriedades dos objetos espaciais;
◦ Decomposição;
◦ Composição;
◦ Medição;
◦ Simplificação;
Além destes grupos, é importante destacar as funções de relacionamento entre dados geométricos.
105
Funções do PostGIS
Construtores
◦ Criam dados espaciais a partir de WKTs e
WKBs;
◦ Exemplos:
ST_GeomFromText(<wkt>, <srid>)
ST_GeomFromWKB(<wkb>, <srid>)
106
Funções do PostGIS
Exportação
◦ Utilizadas para exportar os dados
armazenados para diversos formatos: WKT,
WKB, GeoJSON (Geometry JavaScript
Notation), GML e SVG (Scalable Vector
Graphics);
◦ Exemplo:
Próximos slides
107
Funções do PostGIS
Exportação
◦ KML (Keyhole Markup Language)
Formato baseado em XML;
Ganhou popularidade após ter sido incorporado
pelo Google:
Google Maps;
Google Earth.
Formato reconhecido pelo OGC;
ST_AsKML
108
Funções do PostGIS
ST_AsKML(ST_GeomFromText('POINT(0 0)',
4326));
<Point>
<coordinates>0,0</coordinates>
</Point>
109
Funções do PostGIS
select
ST_AsKML(ST_GeomFromText('POLYGON((0 0,
0 1, 1 1, 1 0, 0 0), (0.25 0.25, 0.25
0.75, 0.75 0.75, 0.75 0.25, 0.25
0.25))', 4326));
110
Funções do PostGIS
<Polygon>
<outerBoundaryIs>
<LinearRing>
<coordinates>0,0 0,1 1,1
1,0 0,0</coordinates>
</LinearRing>
</outerBoundaryIs>
<innerBoundaryIs>
<LinearRing>
<coordinates>0.25,0.25
0.25,0.75 0.75,0.75
0.75,0.25 0.25,0.25
</coordinates>
</LinearRing>
</innerBoundaryIs>
</Polygon>111
Funções do PostGIS
Exportação
◦ GML (Geography Markup Language)
Formato baseado em XML;
Padrão de transporte do OGC;
Geralmente utilizado por WFSs (Web Features
Services).
ST_AsGML
112
Funções do PostGIS
select ST_AsGML(ST_GeomFromText('POINT(0
0)', 4326));
<gml:Point srsName="EPSG:4326">
<gml:coordinates>0,0</gml:coordinates>
</gml:Point>
113
Funções do PostGIS
select
ST_AsGML(ST_GeomFromText('POLYGON((0 0,
0 1, 1 1, 1 0, 0 0), (0.25 0.25, 0.25
0.75, 0.75 0.75, 0.75 0.25, 0.25
0.25))', 4326));
114
Funções do PostGIS
<gml:Polygon srsName="EPSG:4326">
<gml:outerBoundaryIs>
<gml:LinearRing>
<gml:coordinates>0,0 0,1 1,1
1,0 0,0</gml:coordinates>
</gml:LinearRing>
</gml:outerBoundaryIs>
<gml:innerBoundaryIs>
<gml:LinearRing>
<gml:coordinates>0.25,0.25
0.25,0.75 0.75,0.75 0.75,0.25
0.25,0.25</gml:coordinates>
</gml:LinearRing>
</gml:innerBoundaryIs>
</gml:Polygon>115
Funções do PostGIS
Exportação
◦ GeoJSON (Geometry JavaScript Object
Notation)
Formato baseado no JSON;
Utilizado por aplicações Ajax (compatível com
JavaScript);
ST_AsGeoJSON
116
Funções do PostGIS
select
ST_AsGeoJSON(ST_GeomFromText('POINT(0
0)', 4326))
"{"type":"Point","coordinates":[0,0]}"
117
Funções do PostGIS
{"type":"Polygon","coordinates":[[[0,0],[0,
1],[1,1],[1,0],[0,0]],[[0.25,0.25],[0.25,0.
75],[0.75,0.75],[0.75,0.25],[0.25,0.25]]]}
select
ST_AsGeoJSON(ST_GeomFromText('POLYGON((
0 0, 0 1, 1 1, 1 0, 0 0), (0.25 0.25,
0.25 0.75, 0.75 0.75, 0.75 0.25, 0.25
0.25))', 4326));
118
Funções do PostGIS
Acesso e modificação de propriedades
dos objetos espaciais:
◦ ST_GeometryType;
◦ GeometryType.
119
Funções do PostGIS
select GeometryType(geom), ST_GeometryType(geom)
from (VALUES(ST_GeomFromText('POINT(0 0)',
4326))) As temp(geom)
select GeometryType(geom), ST_GeometryType(geom)
from (VALUES(ST_GeomFromText('POLYGON((0 0, 0 1,
1 1, 1 0, 0 0), (0.25 0.25, 0.25 0.75, 0.75 0.75,
0.75 0.25, 0.25 0.25))', 4326))) As temp(geom)
geometrytype st_geometrytype
POINT ST_Point
geometrytype st_geometrytype
POLYGON ST_Polygon120
Funções do PostGIS
Composição
◦ Juntam dados espaciais para formar outro dado espacial.
Decomposição
◦ Extraem dados espaciais a partir de um único dado espacial.
Exemplo: ST_X
ST_Y
ST_Centroid
121
Funções do PostGIS
select ST_X(ST_GeomFromText('POINT(12 34)',
4326)), ST_Y(ST_GeomFromText('POINT(12 34)',
4326));
select
ST_AsText(ST_Centroid(ST_GeomFromText('POLYGON((0 0,
0 1, 1 1, 1 0, 0 0), (0.25 0.25, 0.25 0.75, 0.75
0.75, 0.75 0.25, 0.25 0.25))', 4326))) as centroid;
st_x st_y
12 34
centroid
POINT(0.5 0.5)
122
Funções do PostGIS
Medição
◦ Operações de medição escalar de dados
espaciais (e.g. medir a distância entre dois
pontos);
◦ Exemplo:
ST_Length (comprimento 2D)
ST_Length3D (comprimento 3D)
ST_Area (área)
123
Funções do PostGIS
SELECT
ST_Length(ST_GeomFromText('LINESTRING(
0 0, 1 1)')) as Comprimento2D,
ST_Length3D(ST_GeomFromText('LINESTRIN
G(0 0 0, 1 1 1)')) as Comprimento3D;
Comprimento2D Comprimento3D
1.4142135623731 1.73205080756888
124
Funções do PostGIS
SELECT
ST_Area(ST_GeomFromText('POLYGON((0 0,
0 1, 1 1, 1 0, 0 0), (0.25 0.25, 0.25
0.75, 0.75 0.75, 0.75 0.25, 0.25
0.25))', 4326));
ST_Area
0.75
125
Funções do PostGIS
Medição: outras funções
◦ ST_Distance (distância em linha reta)
Linha reta no plano cartesiano.
◦ ST_Distance_Sphere (distância esférica)
Considera que o planeta Terra tem a forma esférica e raio igual a 6.370.986m.
◦ ST_Distance_Spheroid
Considera que o planeta não é uma esfera perfeita.
◦ A escolha é feita pelo Projetista de acordo com os requisitos da aplicação em questão.
126
Funções do PostGIS
Simplificação
◦ Diminui a resolução de um dado geométricos
(remove pontos e arredonda coordenadas);
◦ Otimiza o processamento quando não é
necessário utilizar o dado espacial em
resolução total;
◦ Exemplos:
ST_SnapToGrid
ST_SimplifyPreserveTopology
127
Relacionamento entre Dados
Geométricos Funções que consideram mais de um
dado geométrico
◦ Podem retornar “t”, “f” ou outro dado
geométrico.
Exemplos:
◦ ST_Contains/ST_Within
◦ ST_Intersects/ST_Disjoint
◦ ST_Intersection
128
Relacionamento entre Dados
Geométricos
select ST_Contains(
ST_GeomFromText('POLYGON((0 0, 0 1, 1 1, 1
0, 0 0), (0.25 0.25, 0.25 0.75, 0.75 0.75,
0.75 0.25, 0.25 0.25))', 4326),
ST_GeomFromText('POLYGON((0.25 0.25, 0.25
0.75, 0.75 0.75, 0.75 0.25, 0.25 0.25))',
4326)
);
st_contains
f129
Relacionamento entre Dados
Geométricos
select ST_Contains(
ST_GeomFromText('POLYGON((0 0, 0 1, 1 1, 1
0, 0 0))', 4326),
ST_GeomFromText('POLYGON((0.25 0.25, 0.25
0.75, 0.75 0.75, 0.75 0.25, 0.25 0.25))',
4326)
);
st_contains
t130
Relacionamento entre Dados
Geométricos
select ST_Intersects(
ST_GeomFromText('POLYGON((0 0, 0 1, 1 1, 1
0, 0 0), (0.25 0.25, 0.25 0.75, 0.75 0.75,
0.75 0.25, 0.25 0.25))', 4326),
ST_GeomFromText('POLYGON((0 0, 0 0.5, 0.5
0.5, 0.5 0, 0 0))', 4326)
);
st_intersects
t131
Relacionamento entre Dados
Geométricos
select ST_AsText(ST_Intersection(
ST_GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0
0), (0.25 0.25, 0.25 0.75, 0.75 0.75, 0.75 0.25,
0.25 0.25))', 4326),
ST_GeomFromText('POLYGON((0 0, 0 0.5, 0.5 0.5,
0.5 0, 0 0))', 4326)
)) as intersection;
intersection
"POLYGON((0 0,0 0.5,0.25 0.5,0.25 0.25,0.5 0.25,0.5 0,0 0))"132
Junção com Funções Geométricas
Operações JOIN utilizando funções
geométricas;
Pode haver combinação de dados
geométricos com dados não-geométricos.
Exemplo 1:
◦ A empresa AlienZ deseja saber o volume de
vendas do disco voador Z11 na área SP.
133
Junção com Funções Geométricas
Tabela areas:
CREATE TABLE vendas (cod serial PRIMARY KEY,
produto varchar, qtd int);
SELECT AddGeometryColumn('public', 'vendas',
'local', -1, 'POINT', 2);
CREATE TABLE areas (nome varchar PRIMARY KEY);
SELECT AddGeometryColumn('public', 'areas',
'area', -1, 'POLYGON', 2);
Tabela vendas:
134
Junção com Funções Geométricas
Dados da tabela areas
nome area
RT POLYGON((0 0, 0 2, 4 2, 4 0, 0 0))
SP POLYGON((0 1, 1 2, 2 2, 3 1, 4 1, 3 0, 2 0, 1 1, 0 1))
y
x(0,0)
1
2 3
y
x(0,0)
1
2 3
135
Junção com Funções Geométricas
Dados da tabela vendas
cod produto qtd local
1 Z11 1 POINT(0.75 0.75)
2 Z11 2 POINT(1.5 1.5)
3 Z11 10 POINT(1.5 1.75)
4 Z11 1 POINT(1.5 0.75)
5 Z11 1 POINT(2.5 1.25)
6 Z11 2 POINT(2.5 0.25)
7 Z11 1 POINT(2.5 0.5)
8 Z11 1 POINT(2.5 0.75)
9 Z11 1 POINT(0.25 0.75)
10 Z11 5 POINT(3.5 1.5)
y
x
1
(0,0)
136
Junção com Funções Geométricas
Consulta:
volume_vendas
18
select sum(qtd) as volume_vendas from
vendas JOIN areas
ON ST_Contains(areas.area, vendas.local)
where areas.nome = 'SP'
137
Junção com Funções Geométricas
Consulta:
select sum(qtd) as volume_vendas from
vendas JOIN areas
ON ST_Contains(areas.area, vendas.local)
where areas.nome = 'SP'
JOIN utilizando a função ST_Contains do PostGIS
Somente a área „SP‟
Função agregada SUM
138
Junção com Funções Geométricas
cod produto qtd local
1 Z11 1 POINT(0.75 0.75)
2 Z11 2 POINT(1.5 1.5)
3 Z11 10 POINT(1.5 1.75)
4 Z11 1 POINT(1.5 0.75)
5 Z11 1 POINT(2.5 1.25)
6 Z11 2 POINT(2.5 0.25)
7 Z11 1 POINT(2.5 0.5)
8 Z11 1 POINT(2.5 0.75)
9 Z11 1 POINT(0.25 0.75)
10 Z11 5 POINT(3.5 1.5)
y
x
1
(0,0)
Registros utilizados
para a soma
139
Junção com Funções Geométricas
Exemplo 2:
◦ Algum tempo depois, a empresa AlienZ
precisa saber o volume de vendas do disco
voador Z11 por sub-área em SP (dividindo a
área total em sub-áreas, conforme mostrado
abaixo).
y
x
1
(0,0)140
Junção com Funções Geométricas
Geração de retângulos
◦ ST_MakeBox2D(<ponto1>, <ponto2>)
<Ponto1>
<Ponto2>
141
Junção com Funções Geométricas
Geração de retângulos
select
St_AsText(CAST(ST_MakeBox2d(ST_Point(0, 0),
ST_Point(1, 2)) As geometry));
POLYGON((0 0,0 2,1 2,1 0,0 0))
142
Junção com Funções Geométricas
Geração de sequências (PostgreSQL)
◦ Função:
generate_series(<início>, <limite>, <passo>)
◦ Exemplo:
select generate_series(0,8,2);
generate_series
0
2
4
6
8143
Junção com Funções Geométricas
Geração do conjunto de retângulos:
SELECT x || ' ' || y as nome_retangulo,
ST_AsText(CAST(
ST_MakeBox2d(
ST_Point(0 + x, 0 + y),
ST_Point(0 + x + 1, 0 + y + 1))
as geometry)) as area_retangulo FROM
generate_series(0, 3, 1) as x
CROSS JOIN generate_series(0, 1, 1) as y;
144
Junção com Funções Geométricas
Geração do conjunto de retângulos:
nome_retangulo area_retangulo
0 0 POLYGON((0 0,0 1,1 1,1 0,0 0))
0 1 POLYGON((0 1,0 2,1 2,1 1,0 1))
1 0 POLYGON((1 0,1 1,2 1,2 0,1 0))
1 1 POLYGON((1 1,1 2,2 2,2 1,1 1))
2 0 POLYGON((2 0,2 1,3 1,3 0,2 0))
2 1 POLYGON((2 1,2 2,3 2,3 1,2 1))
3 0 POLYGON((3 0,3 1,4 1,4 0,3 0))
3 1 POLYGON((3 1,3 2,4 2,4 1,3 1))
145
Junção com Funções Geométricas
Geração do conjunto de retângulos:
SELECT x || ' ' || y as nome_retangulo,
ST_AsText(CAST(
ST_MakeBox2d(
ST_Point(0 + x, 0 + y),
ST_Point(0 + x + 1, 0 + y + 1))
as geometry)) as area_retangulo FROM
generate_series(0, 3, 1) as x
CROSS JOIN generate_series(0, 1, 1) as y;
Gera
retângulo
Converte para geometryConcatenação de string
Combina as duas séries numéricas146
Junção com Funções Geométricas
Geração das subáreas:
select nome_retangulo as nome_area,
ST_AsText(ST_Intersection(R.area_retangulo, A.area)) as
subarea from areas2 A CROSS JOIN
(select x || ' ' || y as nome_retangulo,
CAST(ST_MakeBox2d(
ST_Point(0 + x, 0 + y),
ST_Point(0 + x + 1, 0 + y + 1)) as geometry) as
area_retangulo
from generate_series(0, 3, 1) as x
CROSS JOIN generate_series(0, 1, 1) as y) as R
where A.nome = 'SP'
147
Junção com Funções Geométricas
Geração das subáreas:nome_area subarea
0 0 LINESTRING(0 1,1 1)
0 1 POLYGON((1 2,1 1,0 1,1 2))
1 0 POLYGON((1 1,2 1,2 0,1 1))
1 1 POLYGON((1 1,1 2,2 2,2 1,1 1))
2 0 POLYGON((2 0,2 1,3 1,3 0,2 0))
2 1 POLYGON((2 1,2 2,3 1,2 1))
3 0 POLYGON((3 0,3 1,4 1,3 0))
3 1 LINESTRING(4 1,3 1)
y
x
1
(0,0)
148
Junção com Funções Geométricas
Geração das subáreas
select nome_retangulo as nome_area,
ST_AsText(ST_Intersection(R.area_retangulo, A.area)) as
subarea from areas A CROSS JOIN
(select x || ' ' || y as nome_retangulo,
CAST(ST_MakeBox2d(
ST_Point(0 + x, 0 + y),
ST_Point(0 + x + 1, 0 + y + 1)) as geometry) as
area_retangulo
from generate_series(0, 3, 1) as x
CROSS JOIN generate_series(0, 1, 1) as y) as R
where A.nome = 'SP'
Geração do conjunto de retângulos
Retorna a intersecção das áreas
Somente a área SP
Combina com todas as subáreas
149
Junção com Funções Geométricas
Consulta (volume de vendas por subárea)select nome_area as nome_subarea, sum(V.qtd) as qtd from
(select nome_retangulo as nome_area,
ST_Intersection(R.area_retangulo, A.area) as subarea
from areas A CROSS JOIN
(select x || ' ' || y as nome_retangulo,
CAST(ST_MakeBox2d(
ST_Point(0 + x, 0 + y),
ST_Point(0 + x + 1, 0 + y + 1)) as geometry)
as area_retangulo
from generate_series(0, 3, 1) as x
CROSS JOIN generate_series(0, 1, 1) as y) as R
where A.nome = 'SP') as S
LEFT JOIN
vendas as V ON ST_Within(V.local, S.subarea)
group by nome_subarea
order by nome_subarea150
Junção com Funções Geométricas
Consulta (volume de vendas por subárea)
nome_subarea qtd
0 0
0 1
1 0 1
1 1 12
2 0 4
2 1 1
3 0
3 1
y
x
1
(0,0)
10
2
11
1
1
1
1
2
5
151
Junção com Funções Geométricas
Consulta (volume de vendas por subárea)select nome_area as nome_subarea, sum(V.qtd) as qtd from
(select nome_retangulo as nome_area,
ST_Intersection(R.area_retangulo, A.area) as subarea
from areas A CROSS JOIN
(select x || ' ' || y as nome_retangulo,
CAST(ST_MakeBox2d(
ST_Point(0 + x, 0 + y),
ST_Point(0 + x + 1, 0 + y + 1)) as geometry)
as area_retangulo
from generate_series(0, 3, 1) as x
CROSS JOIN generate_series(0, 1, 1) as y) as R
where A.nome = 'SP') as S
LEFT JOIN
vendas as V ON ST_Within(V.local, S.subarea)
group by nome_subarea
order by nome_subarea152
Metadados no PostGIS
Database: template_postgis
Tabelas:
◦ geometry_columns: informações sobre
as colunas espaciais;
◦ spatial_ref_sys: sistemas de referência
espacial.
153
Metadados no PostGIS
f_table_catalog
f_table_schema
f_table_name
f_geometry_column
coord_dimension
srid
type
geometry_columns
srid
auth_name
auth_srid
srtext
proj4text
spatial_ref_sys
f_table_schema f_table_name f_geometry
_column
coord_dimension srid type
public areas area 2 -1 POLYGON
public vendas local 2 -1 POINT
Exemplo:
154
Conclusão
GIS
Onipresença dos dados
espaciais: serviços Web,
dispositivos móveis
SGBDs
Armazenamento e
processamento de dados
espaciais tornou-se
fundamental
Representação e
Manipulação de
dados espaciais
Modelo
Conceitual
OMT-G
Representação
PostgreSQL com
PostGIS
156
Conclusão
PostgreSQL com
PostGIS
Padronização
OGC
ISO/IEC 13249 SQL/MM
Objetos
Espaciais
Funções
Espaciais
Relacionamento
entre dados
Espaciais
Junção com
Funções
Espaciais
Exportação,
Medição,
etc.
POINT,
POLYGON,
etc.
157
Trabalhos Futuros
Melhor suporte
a dados 3D
SOLAP
Indexação de
dados espaciais
MR-Tree (combinação
de R-Tree com Grid
Index)
Técnicas para:
- Dados subterrâneos
- Integração com modelos topológicos
OLAP Espacial
Pré-processa
sobreposições
entre os dados
espaciais
Trabalhos
Futuros
158
Artigo recomendado
Breunig, M. & Zlatanova, S. (2011).
3D geo-database research:
Retrospective and future
directions. In: Computer &
Geosciences. Elsevier.
159
Eventos específicos
International Conference on
Geoinformatics:
◦ <http://www.cpgis.org/Conferences/Conferen
ceDefault.aspx?ID=61>
FOSS4G – Free and Open Source
Software for Geospatial:
◦ < http://2011.foss4g.org/>
160
Referências
Borges, K. A.V., Davis Jr. C. A., Laender, A. H. F. (2005). Modelagem Conceitual de dados geográficos.
Breunig, M. & Zlatanova, S. (2011). 3D geo-database research: Retrospective and future directions. In: Computer & Geosciences. Elsevier.
Camara, G. (1994). Análise de Arquiteturas para Banco de Dados Geográficos Orientados a Objetos. Tese para Título de Doutor, Instituto Nacional de Pesquisas Espaciais (INPE).
Câmara, G. (1995). Modelos, linguagens e arquiteturas para bancos de dados geográficos. Tese (Doutorado). INPE
Camara G., Casanova, M., Hemerly, A., Magalhães, G., Medeiros, C. (1996). Anatomia de Sistemas de Informação Geográfica. Instituto de Computação, UNICAMP.
Elmasri, R. & Navathe, S., B. (2005). Sistemas de Banco de Dados, Pearson, 4ª edição.
Gómez, L., Haesevoets, S., Kuijpers, B., Vaisman, A. A. (2009). Spatialaggregation: Data model and implementation. In: InformationSystems, 551-576. Elsevier.
161
Referências
Liu, G., Zhu, Q., He, Z., Zhang, Y., Wu, C., Li, X., Weng, Z. (2009). 3D GIS database model for efficient management oflarge scale underground spatial data. In: 2009 17th International Conference on Geoinformatics, 1-5. IEEE.
Obe, O. R. & Hsu, L. S. (2011). PostGIs in Action, Manning Publications.
OGC. (2010). OpenGIS Implementation Standard for Geographic information - Simple feature access - Part 2: SQL option, version 1.2.1, Open Geospatial Consortium Inc.
Pinto, I. (2009). Introdução aos Sistemas de Informação Geográfica (SIG). Instituto de Investigação Cientifica Tropical.
Ribeiro, G., Ferreira, K. Q. R. (2006). Tutorial sobre Bancos de Dados Geográficos – GeoBrasil. Instituto Nacional de pesquisas espaciais.
Soares, A. O. P. (2004). Sistemas municipais de informação geográfica. TFC Universidade de Évora.
162
Referências Souza, I. C. A. (2003). Utilização de Sistemas de Informação Geográfica na
Análise Espacial de Dados de Saúde Pública na Paraíba entre os anos de 1998 e 2001;
Thomé, R. (1998). Interoperabilidade em Geoprocessamento: conversão entre modelos conceituais de sistemas de informação Geográfica e Comparação com o Padrão Open GIS. Dissertação de mestrado em Computação Aplicada. INPE.
Rigaux, P., Scholl, M., Voisard, A. (2002). Spatial Databases - With Application to GIS, Elsevier.
Silberchatz, A., Korth, H. F., Sudarshan, S. (2006). Sistema de Banco de Dados, Elsevier, 5ª edição.
Silva, A. B. (2010). Sistemas de Informações Geo-referenciadas, Editora Unicamp.
Stolze, K. (2003). SQL/MM Spatial - The Standard to Manage Spatial Data in a Relational Database System. In: 2003 Conference on Database Systems in Business, Technology and Web - BTW (in German).
Wu, X. & Zang, C. (2009). A New Spatial Index Structure for GIS Data. In: 2009 Third International Conference on Multimedia and UbiquitousEngineering., 471-476 IEEE.
163
Recommended