Escolar Documentos
Profissional Documentos
Cultura Documentos
• Linguagem de Consulta
❑ Introdução
❑ SQL
o Características;
o Álgebra Relacional;
o Comandos;
o Componentes;
o Exemplos de Consultas
❑ Propriedades espaciais;
❑ Relações espaciais
❑ Exemplos de Consultas Espaciais
❑ Principal deficiência:
o Essas linguagens tradicionalmente forneciam apenas tipos de dados simples
(inteiros, datas e strings)
• Surgimento SQL3:
❑ SQL 3 permite tipos e operações definidas pelo usuário;
• Surgimento SQL3:
❑ Um TAD é um tipo definido pelo usuário e suas funções associadas;
• OGIS:
❑ Consórcio OGIS foi formado pelos principais fornecedores de software para
formular um padrão amplo da indústria relacionado à interoperabilidade de
GIS;
• OGIS:
❑ O OGIS é baseado em um modelo de dados de geometria:
• OGIS:
Geometry
• Classe base;
• Especifica um sistema de referência
espacial aplicável a todas as suas
subclasses;
• OGIS:
Classes Derivadas
• As quatro subclasses principais derivadas
da superclasse GEOMETRY são Point, Curve
Surface e Geometry Collection;
• Associado a cada classe um conjunto de
operações que atua em instâncias das
classes.
• OGIS: Operações
❑ As operações especificadas no padrão OGIS se dividem em três categorias:
1. Operações Básicas;
2. Operações de Testes;
3. Operações Gerais;
• OGIS: Operações
❑ Operações Básicas;
• OGIS: Operações
❑ Operações Básicas;
• OGIS: Operações
❑ Operações de Testes:
o Por exemplo, a sobreposição testa se o interior de dois objetos tem uma interseção
não vazia do conjunto.
• OGIS: Operações
❑ Operações de Testes:
• OGIS: Operações
❑ Operações Gerais:
o Por exemplo, a distância retorna a menor distância entre dois objetos espaciais.
• OGIS: Operações
❑ Operações Gerais:
• Exemplo: BD DE PAISES
• Exemplo: BD DE PAISES
❑ Dados:
• Extensão OGIS:
o Primeiro, redefinimos o esquema relacional, assumindo que os tipos de dados e
operações do OGIS estão disponíveis no SQL.
• Exemplos SELECT:
❑ 1ª Consulta:
o Lista todos os países que são vizinhos ao EUA.
• DICA: Use a operação Touch.
Touch
• O predicado Touch verifica se há dois objetos geométricos adjacentes sem sobreposição. É uma
operação útil para determinar objetos geométricos vizinhos.
• Uma das boas propriedades das operações topológicas é que elas são invariantes sob muitas
transformações geométricas. Em particular, a escolha do sistema de coordenadas
• Exemplos SELECT:
❑ 1ª Consulta:
o Lista todos os países que são vizinhos ao EUA.
Touch
• O predicado Touch verifica se há dois objetos geométricos adjacentes sem sobreposição. É uma
operação útil para determinar objetos geométricos vizinhos.
• Uma das boas propriedades das operações topológicas é que elas são invariantes sob muitas
transformações geométricas. Em particular, a escolha do sistema de coordenadas
• Exemplos SELECT:
❑ 2ª Consulta:
Para todos os rios listados na tabela do rio, encontre os
países através dos quais eles passam!
• Exemplos SELECT:
❑ 2ª Consulta:
o Para todos os rios listados na tabela do rio, encontre os países através dos quais
eles passam.
Cross
• A Cross é também um predicado topológico. É mais frequentemente usado para verificar a interseção
entre objetos LineString e Polygon, como neste exemplo, ou um par de objetos LineString.
• Exemplos SELECT:
❑ 3ª Consulta:
o O rio St. Lawrence pode fornecer água para cidades que estão dentro de 300 km.
Liste as cidades que podem usar a água do St. Lawrence.
• DICA: Use a operação Buffer e Overlap.
Buffer
• O Buffer de um objeto geométrico é uma região geométrica centralizada no
objeto;
• No exemplo, a consulta determina o tamanho da região do buffer (300 km).
• A operação de buffer é usada em muitas aplicações GIS;
Buffer de um rio
• Exemplos SELECT:
❑ 3ª Consulta:
o O rio St. Lawrence pode fornecer água para cidades que estão dentro de 300 km.
Liste as cidades que podem usar a água do St. Lawrence.
Buffer
• O Buffer de um objeto geométrico é uma região geométrica centralizada no
objeto;
• No exemplo, a consulta determina o tamanho da região do buffer (300 km).
• A operação de buffer é usada em muitas aplicações GIS;
Buffer de um rio
Prof. Caio Falcão UFMA / Ciência da Computação – Sistemas de Informações Geográficas 28
Consultas Espaciais
• Exemplos SELECT:
❑ 4ª Consulta:
o Liste o nome, a população e a área de cada país listado na tabela País;
• Exemplos SELECT:
❑ 4ª Consulta:
o Liste o nome, a população e a área de cada país listado na tabela País;
Area
• Esta função é aplicável apenas para tipos de geometria Polygon e MultPolygon. Calcular a área
depende claramente do sistema de coordenadas subjacente do banco de dados.
• Por exemplo, se a forma das tuplas País for dada em termos de latitude e longitude, uma
transformação de coordenada intermediária deverá ser executada antes que a Área possa ser
calculada. O mesmo cuidado deve ser tomado para a distância e a função Length.
• Exemplos SELECT:
❑ 5ª Consulta:
o Liste a extensão dos rios em cada um dos países pelos quais eles passam.
• DICA: Use a operação Intersection, Length e Cross.
Intersection
• O valor de retorno da operação binária Intersection é um tipo de geometria.
• A operação Intersection é diferente da função Intersects, que é um predicado topológico para
determinar se duas geometrias se cruzam. A intersecção de um LineString e Polygon pode ser um tipo
Point ou LineString. Se um rio passar por um país, o resultado será um LineString.
• Nesse caso, a função Length retornará o comprimento diferente de zero do rio em cada país pelo qual
ele passa.
• Exemplos SELECT:
❑ 5ª Consulta:
o Liste a extensão dos rios em cada um dos países pelos quais eles passam.
Intersection
• O valor de retorno da operação binária Intersection é um tipo de geometria.
• A operação Intersection é diferente da função Intersects, que é um predicado topológico para
determinar se duas geometrias se cruzam. A intersecção de um LineString e Polygon pode ser um tipo
Point ou LineString. Se um rio passar por um país, o resultado será um LineString.
• Nesse caso, a função Length retornará o comprimento diferente de zero do rio em cada país pelo qual
ele passa.
• Exemplos SELECT:
❑ 6ª Consulta:
o Listar todos os países, ordenados por número de países vizinhos.
Nesta consulta, todos os países com pelo menos um vizinho são classificados com base no número de
vizinhos.
• Exemplos SELECT:
❑ 7ª Consulta:
o Listar os países com somente um país vizinho.
• Exemplos SELECT:
❑ 7ª Consulta:
o Listar os países com somente um país vizinho.
• Exemplos SELECT:
❑ 7ª Consulta:
o Listar os países com somente um país vizinho.
• Exemplos SELECT:
❑ 7ª Consulta:
o Listar os países com somente um país vizinho.
• Views:
❑ Maneira alternativa de observação de dados de uma ou mais entidades
(tabelas), que compõem uma base de dados;
❑ Pode ser considerada como uma tabela virtual ou uma consulta armazenada;
• Views:
❑ A aplicação das views normalmente está vinculada ao encapsulamento de uma
instrução SELECT;
❑ Portanto, pode ser mais rápido ter uma consulta armazenada em forma de
view, em vez de ter que retrabalhar uma instrução;
❑ Vantagens:
o Economia de tempo com retrabalho;
o Velocidade de acesso às informações;
o Simplifica o gerenciamento de permissão;
• View: Exemplo
❑ 8ª Consulta:
o Quais países possuem o máximo de vizinhos?
❑ Essa consulta demonstra o uso de VIEWs na simplificação de consultas
• Primeira consulta (VIEW) calcula o número
complexas.
de vizinhos para cada país. Essa visão cria
uma tabela virtual que pode ser usada
como uma tabela normal em consultas
subsequentes.
• Extensão SQL3:
❑ O SQL3 permite a criação de novos tipos de dados como os TADs;
❑ Tipo Abstrato de Dados (TAD/ADT):
o Um ADT pode ser definido usando uma instrução CREATE TYPE;