CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo 1 Consulta, manipulação e apresentação de dados geográficos Linguagem espacial para geoprocessamento algébrico (LEGAL) CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo Linguagens de Consulta Espacial • Linguagens de consulta Ferramentas para interação entre usuário e SGBD • Propriedades da linguagem Capacidade de expressar uma consulta com componentes espaciais e não-espaciais Simplicidade de expressão para permitir uso amplo CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo Linguagens de Consulta Espacial • Consultas Básicas • Seleção Espacial Ache todos os rios em uma área especificada Ache todas as cidades a 100 km de São Paulo • Junção Espacial Ache todas as cidades a 10km de distância de qualquer rio • Linguagens de Consulta Extensões de SQL (SQL/OpenGIS, Spatial SQL) CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo Formalização de operações id nome CPF tabelas dados geográficos seleção projeção prod. cartesiano união e diferença SELECT nome FROM tabela WHERE “CPF = 21” álgebra relacional linguagem SQL operações s/ campos e geo-objetos ? álgebra geográfica linguagem para SIG CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo Propriedades de Álgebra Geográfica • Extensibilidade • permitir especializações de tipos básicos • Quais tipos de dados ? • tipo único x varios tipos • Operações sobre objetos complexos • tipos atômicos (polígonos) e compostos (mapas) • Completeza • existe critério formal para operadores geográficos ? CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo Estendendo SQL para dados espaciais • Motivação SQL tem tipos de dados atômicos simples, como inteiros, datas e string. Não são apropriados para dados e consultas espaciais • Dados espaciais (ex.: polígonos) são complexos • Operações espaciais: topológicas, euclideanas Tipos de dados espaciais e operações podem ser adicionados ao SQL3 • Open GIS Consortium (OGIS) Vários tipos de dados espaciais e operações espaciais Suportado pela maioria dos grandes vendedores: ESRI, Intergraph, Oracle, IBM,... CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo Modelo de dados espaciais OGIS • Consiste de uma classe geométrica base e quatro subclasses: Point, Curve, Surface and GeometryCollection • As operações dividem-se em três categorias Aplicacadas para todos os tipos geométricos • SpatialReference, Envelope, Export,IsSimple, Boundary Predicados para relacionamentos topológicos • Equal, Disjoint, Intersect, Touch, Cross, Within, Contains Análise de dados espaciais • Distance,Buffer,Union, Intersection, ConvexHull, SymDiff CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo Consultas espaciais com SQL/OGIS • SQL/OGIS – Informações gerais Ambos padrões são adotados por vários empresas vendedoras A escolha de tipos de dados e operações são similares entre os vendedores empresas A sintaxe difere de vendedor para vendedor Leitores podem precisar alterar consultas SQL/OGIS dadas em um texto para fazê-las rodar em um produto comercial específico • • Usando OGIS com SQL Tipos de dados espaciais podem ser usados em DML para tipos de colunas Operações espaciais podem ser usadas em DML CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo Lista de exemplos de consultas espaciais • Operações de análises espaciais • Operador unário: Area • Operador binário: Distance Operadores boleanos espaciais de operações topológicas – Cláusula WHERE • Touch • Cross Usando analises espaciais e operações topológicas • Buffer, overlap (Q4) • Exemplos de SQL complexos Consultas SQL agregadas Consultas aninhadas CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo Extensão do SQL em OpenGIS • Utiliza a cláusula WHERE • Visão ideal SELECT parcel.name FROM parcels WHERE parcels.value < 100.000 AND parcels.geometry INTERSECT “Pampulha” • Implementação OpenGIS SELECT Parcel.Name, Parcel.Id FROM Parcels WHERE Intersects (Parcels.Location, PolygonFromWKB(:wkb, : srid)) = 1 • Em muitas aplicações Extensão espacial do SQL acaba ficando “escondido” CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo Extensão do SQL no OpenGIS • Consulta: Encontre todos os vizinhos de Belo Horizonte • SELECT c1.name FROM Município M1,Município M2 WHERE Touch(M1.location,M2.location)=1 AND M2.Name =‘Belo Horizonte ’ • Este tipo de consulta implica na existência de um atributo indexador e único (nome do objeto) CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo Extensão do SQL no OpenGIS • Query: Encontre todos os postos de saúde que estão dentro de favelas em Belo Horizonte SELECT postos.name FROM postos WHERE Inside (postos.location, (SELECT bairros.location FROM bairros WHERE bairro.tipo == “favela”)) = 1 • Problema Resultado = lista de postos de saúde Desejado = lista de pares (postos, favelas) CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo Consulta e Apresentação de Geo-objetos • Combinação de resultados de consulta • Controle dos objetos apresentados • Apresentação do contexto espacial • e.g. “vizinhos do Equador” sem contexto com contexto CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo Linguagem de Consulta Espacial Orientada a Objetos • Princípio do OQL (Object Query Language) • Definir uma coleção como resposta de consulta • COLLECTION postos_favela postos_favela = SELECT postos.location, favela.location FROM postos, favelas WHERE postos.location INSIDE favela.location CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo Linguagem de Apresentação • Combinação de resultados de consulta SET MODE <NEW | UNION | INTERSECT | REMOVE> • Controle do tipo de apresentação SHOW < colecao de objetos | valores > AS < SHADING | SYMBOL | CARTOGRAM | CHART > WHERE <parametros> GROUP BY <HALFS | THIRDS | QUARTILES > CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo Linguagem de Apresentação • SET MODE OVERLAY; • regioes = (SELECT regioes • FROM regioes IN REGIOES_BRASIL); • SHOW regioes.miseria • AS CARTOGRAM • WHERE CARTOGRAM_COLOUR= “Yellow” • AND CARTOGRAM_SCALE = LINEAR; CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo Geo-campos: Ponderação • Transforma temático em numérico ex.: mapa de solos classe peso LE 0.35 Aq 0.6 outros 0.2 LA LV LE Aq • Atribuição de pesos • reflete importância relativa do tema 0.35 0.35 0.20 0.20 0.20 0.20 0.20 0.60 0.60 CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo Álgebra de campos • Fatiamento: a cada valor, um tema (inverso da ponderação) • • • • • ex. mapa de declividade (em graus) decliv. tema 0-9.0 Baixa 10.0-19.0 Média 20.0- acima Alta 5.0 3.0 8.0 5.0 10.0 15.0 10.0 12.0 20.0 baixa média CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo alta Álgebra de campos: operações • Média ponderada • ex. combinar declividade e solo (ponderado) • adequação = [ 2* solo_ponderado + 5*(1/declividade)] /5 0.35 0.35 0.20 0.20 0.20 0.20 0.20 0.60 0.60 5.0 3.0 8.0 5.0 10.0 15.0 10.0 12.0 20.0 • Funções matemáticas • equação universal de perda de solo • P = (erosividade) * (erodibilidade) *(declividade) *(comp. encosta) * • (cobertura solo) *(índice proteção) CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo Campos Objetos • Campos Atributos de Objetos Operador “Atualize” valor de atributo calculado a partir de temático, numérico ou imagem • Objetos Campos Operador “Espacialize” Mapa temático ou numérico gerado a partir de atributo de objeto CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo Linguagem espacial para geoprocessamento algébrico (LEGAL) • Padrão SQL para o acesso ao atributos dos dados • Extensão do SQL: operadores que expressam relações espaciais • Principais características de LEGAL: Orientada a objetos Definida de forma semelhante ao padrão ODMG – sintaxe baseada em SQL Operações de consulta espacial e operações de manipulação Operações sobre campos, operações combinadas campos-objetos e a linguagem de apresentação implementadas por operadores do mesmo nível semântico da linguagem SQL CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo • Cada dado em LEGAL pertence a uma das seguintes classes: GEOOBJECT, NOSSPATIAL, NETWORK, CADASTRAL, THEMATIC, IMAGE (instâncias de dados sensor remoto), DTM (modelo numérico de terreno) Classes auxiliares: • PROJECT: com os atributos básicos PROJECTION (projeção cartográfica) • TABLE: para as tabelas de transformação entre geo-campos • MASK: máscaras aplicáveis a filtros • RECTANGLE E CIRCLE: para definir vizinhanças Conjunto de objetos recuperados do banco: • COLLECTION: agrupamento de objetos de classes diferentes Tipos de dados tradicionais e de multimídia CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo Definição de dados em LEGAL • A parte de definição de dados em LEGAL inclui: Criar e definir bancos de dados geográficos Definir os esquema de banco de dados Criar instâncias das classes deste esquema • Sintaxe: CREATE <ESPECIALIZAÇÃO> (<ATRIBUTOS GERAIS>) IS_A <CLASSE BÁSICA> | <ESPECIALIZAÇÃO> (ATRIBUTOS ESPECÍFICOS> Exemplo: Criar uma classes “Uso_do_Solo”, especialização de mapa temático, com os temas “Floresta Primária”, “Cerrado” e “Floresta Secundária”, e com os atributos área e anos de regeneração: CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo • Criação de geo-objetos e planos de informação A criação explícita de instâncias de cada classe é obtida pelo comando NEW. É preciso indicar qual a representação associada (matricial ou vetorial) e os parâmetros associados a cada representação. Exemplo: Criar uma instância da classe Uso_do_Solo denotada por ação antrópica_1990, cuja representação matricial será uma grade de 100 x 100 metros de resolução na escala 1:250.000 CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo Consulta espacial em LEGAL • É aplicável a geo-objetos e a geocampos Para geo-objetos: oferece mecanismos para recuperação baseada em atributos e em restrições espaciais Para geo-campos ou geo-objetos complexos (objetos cadastrais e rede): os operadores em LEGAL permitem apenas a recuperação baseada em atributos • Expressão de busca A cláusula SELECT pode assumir a recuperação de instâncias de classes em LEGAL e de valores de atributos destas instâncias CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo A cláusula FROM contém a indicação das classes de objetos sobre os quais se realiza a consulta e do objeto cadastral (ou de rede) sobre o qual será computada a restrição espacial. Este objeto cadastral será indicado pelo qualificativo ON MAP, que pode ser omitido, no caso de haver apenas uma geometria presente para o geo-objeto. A cláusula WHERE pode conter as restrições topológicas INSIDE, TOUCH, CROSS, OVERLAP, DISJOINT e restrição métrica DISTANCE. CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo • Formulação geral de busca em LEGAL: SELECT <VALOR> | <OBJETO> | <LISTA DE OBJETOS E VALORES> FROM <OBJETO> IN <CLASSE> ON MAP <CADASTRAL> | <REDE> WHERE <WHERE_CLAUSE> Exemplo: Selecione todas as regiões da França a menos de 50 km da cidade de Toulouse: CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo • Resposta de consulta Recuperação de geo-objetos e geo-campos, e não tabelas. Mecanismo orientado a objetos como modelo de resposta. Baseado nos conceitos do ODMG e contempla a idéia de coleções. Serão utilizadas instâncias da classe COLLECTION para armazenar (de forma não-persistente) as respostas de uma consulta com sintaxe: COLLECTION <COLECAO> OF <CLASSES_OBJETOS | CLASSES_ATRIBUTOS> A resposta da consulta pode devolver uma coleção de geo-objetos e de valores. CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo • Exemplos de consultas espaciais em Legal: Exemplo 1: Selecione todas as fazendas da família Magalães cruzadas pela Linha Verde que liga Salvador a Aracaju, adjacentes a estas ou a menos de 5 km dela”. Suporemos a existência das classes Fazenda, Estrada, Redes_Estradas, Cadastro_Fazendas. CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo Exemplo 2: Selecione todas as fazendas cadastradas pelo INCRA na região do Pontal do Paranapanema, com mais de 1000 há, e cujos proprietários pagam mais de 10000reais de ITR • Caso de uma ligação entre duas tabelas • A consulta deve combinar os objetos da classe FAZENDAS com o objeto não-espacial cadastro da classe CADASTRO_INCRA, onde está arrolado o cadastro alfanumérico de propriedades. • A chave de ligação entre as duas relações é o número do cadastro INCRA (chave primária da segunda relação). • Observemos a figura a seguir: CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo • Operações de junção espacial Compara dois conjuntos de geo-objetos, computando um predicado espacial sobre suas representações em mapas de objetos. Sua sintaxe é análoga à junção convencional Exemplo: Mostre os aeroportos que estão dentro das reservas indígenas da Amazônia ou a menos de 50 km de uma reserva. Suporemos a existência das classes Aeroporto, Reserva, Mapa_Reserva e Mapa_Aerportos. CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo Referências • [1] Livro de cartografia • [2] Site com imagem de latitude • [3] Site com imagem de longitude • [4] Site sobre cartografia • [5] Outro site sobre cartografia • [6] Referência base • [7] FILHO, Jugurta Lisbôa; IOCHPE, Cirano. Introdução a Sistemas de Informação Geográfica com ênfase em Banco de dados. • [8] SILVA, Rosângela. Banco de dados geográficos: uma análise da arquitetura dual (SPRING) e integrada (Oracle Spatial). CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo 39 CIn/UFPE – Tópicos especiais em BD: Business Inteligence - Prof. Robson Fidalgo 40