Banco de Dados Espaciais Disciplina BD Não Convencionais Prof. Ricardo Rodrigues Ciferri São Carlos, 20 de Agosto de 2010
Sumário Tipos de Dados Espaciais Representação dos Dados Processamento de Consultas Espaciais Filtragem Refinamento Tipos de Consulta Espacial Exemplos de MAM 2
Tipos de Dados Espaciais 3
Tipos de Dados Espaciais Ponto (0-dimensional) Menor unidade possível para representar um objeto espacial Um objeto espacial representado por um ponto não possui extensão Usado para representar localizações discretas. Ex: cidade em um mapa 4
Tipos de Dados Espaciais Linha (1-dimensional) Sequência de pontos conectados retilinearmente Linha poligonal (1-dimensional) Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar objetos espaciais lineares. Ex: rios, estradas, ferrovias e redes de infra-estrutura 5
Tipos de Dados Espaciais Polígono (2-dimensional) Sequência fechada de linhas ou linhas poligonais Funcionalmente equivalente a uma linha poligonal fechada Polígonos complexos podem permitir buracos ou consistir de diversas partes disjuntas Usado para representar objetos bidimensionais. Ex: área ocupada por um bairro 6
Tipos de Dados Espaciais Poliedro (3-dimensional) Limitado por quatro ou mais polígonos, denominados faces Interseção das faces formam as arestas Interseção das arestas formam os vértices Usado para representar sólidos no espaço. Ex: peça mecânica ou membro humano 7
Tipos de Dados Espaciais Os principais tipos espaciais oferecidos pelo PostGIS: POINT: define um Ponto com as dimensões fornecidas; POINTM: define um Ponto com duas dimensões (X e Y) e mais uma dimensão M, que tem semântica livre, podendo ser temporal; LINESTRING: define uma linha utilizando uma coleção de pontos de mesma dimensão; MULTILINESTRING: define uma coleção de linhas; POLYGON: Define um polígono, composto por uma LINESTRING fechada; MULTIPOINT: coleção de Pontos de mesma dimensão; MULTILINESTRING: coleção de LINESTRINGs; MULTIPOLYGON: coleção de polígonos; GEOMETRYCOLLECTION: coleção de geometrias diversas; 8
Tipos de Dados Espaciais 9
Tipos de Representação Matricial 10
Tipos de Representação Vetorial 11
Exemplos Dados temáticos Podem ser representados de forma matricial ou vetorial 12
Exemplos Imagens Armazenadas em representação matricial 13
Exemplos Modelos numéricos de terreno Armazenadas em grades regulares (matricial), grades triangulares (vetorial), ou isolinhas (representação vetorial sem topologia) 14
Exemplos Redes Sua parte gráfica é armazenada em forma de coordenadas vetoriais, e seus atributos não gráficos são guardados em um banco de dados 15
Representação dos Dados no MAM Utilização de abstrações (aproximações) para representar a geometria do objeto espacial Diminuição de requisitos de armazenamento Redução do custo para se determinar a satisfação de relacionamentos métricos, topológicos e direcionais Aproximação deve ser conservativa 16
Representação dos Dados no MAM 17
Processamento de Consultas Espaciais Recuperação de um falso candidato (dead space) 18
Processamento de Consultas Espaciais 19
Processamento de Consultas Espaciais Aproximação progressiva Aproximação de um objeto é um subconjunto de seus pontos Deve ser utilizada antes da fase de refinamento Recuperação de candidatos verdadeiros Seu cálculo é mais custoso se comparado com a aproximação conservativa 20
Tipos de Consultas Espaciais Exact Match Query Dado um objeto o com atributo espacial o.g E d, encontre todos os objetos o que possuam as mesmas coordenadas que o, ou seja, que possuam a mesma extensão e localização no espaço EMQ (o, dataset) = { o o dataset o.g = o.g } 21
Tipos de Consultas Espaciais Partial Match Query Dado um objeto o com atributo espacial o.g E d, encontre todos os objetos o que possuam, em uma dada dimensão, a mesma extensão e localização no espaço que o 22
Tipos de Consultas Espaciais Point Query Dado um ponto p E d, encontre todos os objetos o que sobrepõem p 23
Tipos de Consultas Espaciais Range Query Intersection Range Query: dado um retângulo d- dimensional iso- oriented R E d, encontre todos os objetos o que tenham pelo menos um ponto em comum com R 24
Tipos de Consultas Espaciais Range Query Containment Range Query: dado um retângulo d- dimensional iso- oriented R E d, encontre todos os objetos o contidos em R 25
Tipos de Consultas Espaciais Range Query Enclosure Range Query: dado um retângulo d- dimensional iso- oriented R E d, encontre todos os objetos o englobam R 26
Tipos de Consultas Espaciais Region Query É uma versão mais genérica de Range Query, permitindo que a área de pesquisa tenha orientação e formatos arbitrários Intersection / Containment / Enclosure Region Query: similar à definição utilizada para Range Query, substituindo-se somente o retângulo d- dimensional iso- oriented R por um objeto o com atributo espacial o.g Ed 27
Tipos de Consultas Espaciais Adjacency Query Dado um objeto o com atributo espacial o.g E d, encontre todos os objetos o que são adjacentes a o 28
Tipos de Consultas Espaciais Nearest Neighbor Query One-Nearest Neighbor Query: dado um objeto o com atributo espacial o.g E d, encontre todos os objetos o que tenham a distância mínima de o 29
Tipos de Consultas Espaciais Nearest Neighbor Query k-nearest Neighbor Query: dado um objeto o com atributo espacial o.g E d, encontre os k objetos o mais próximos de o 30
Tipos de Consultas Espaciais Direction Query Dado um objeto espacial o com atributo espacial o.g E d, encontre todos os objetos o posicionados na direção s com relação ao objeto o Valores válidos para a direção s incluem: ao norte de, ao sul de, a leste de, a oeste de, a nordeste de, a sudeste de, a noroeste de, e a sudoeste de 31
Tipos de Consultas Espaciais Distance Query Dado um objeto o com atributo espacial o.g E d, encontre todos os objetos o cuja distância com relação ao o seja no máximo q DTQ (o, dataset, q) = { o o dataset dist (o.g, o.g) q } IReQ (o, dataset) onde o = região formada por o.g e distância q 32
Tipos de Consultas Espaciais Spatial Join Para dois conjuntos de objetos espaciais A e B e um predicado espacial θ, determine todos os pares de objetos (o, o ) A x B onde θ (o.g, o.g) é verdadeiro O predicado espacial pode ser definido a partir de um relacionamento topológico, métrico ou direcional Nomenclatura de alguns subtipos de Spatial Join: Intersection / Containment / Enclosure / Adjacency / Exact Match / Nearest Neighbor / Distance Minor / Direction North Spatial Join 33
Tipos de Consultas Espaciais Spatial Join exemplos Nearest Neighbor Spatial Join Direction North Spatial Join Intersection Spatial Join 34
Exemplos de MAM R-tree Mecanismo de indexação espacial estruturado hierarquicamente na forma de uma árvore balanceada Similar a B-tree Suporte dinâmico para a manipulação de objetos de dimensão não-zero no espaço multidimensional R*-tree Mecanismo de indexação espacial derivado da R-tree Proporciona um bom desempenho na recuperação destes objetos através da utilização dos critérios de coverage, overlap, margin e storage 35
100 R-tree Extensão e localização dos objetos no espaço 95 90 85 80 75 70 65 60 55 R 1 R 3 R 4 r 1 r 2 P 1 R 6 r 3 R 7 r 4 L 5 P 5 R 2 50 45 L 6 P 4 R 5 40 35 L 2 r 5 30 P 3 25 P 2 L 3 20 L 4 15 10 5 0 R 8 L 1 P 6 r 6 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 36
R-tree Estrutura de dados 37
Pesquisa na R-tree Ramificação do percurso pela sobreposição entre os MBB das entradas de um nó interno janela de consulta E 2 E 1 E 3 38
Pesquisa na R-tree Ramificação do percurso causado pelo armazenamento de MBB grandes E 1 E 3 Entradas (MBB) JC Janela de Consulta Extent E 2 39
Pesquisa na R-tree Ramificação do percurso causado pela escolha de uma janela de consulta abrangente E 1 E 3 Entradas (MBB) Janela de Consulta Extent JC E 2 40
Pesquisa na R-tree Relacionamento de inclusão (está contido) e relacionamento de interseção obj 2 MBB da entrada de um nó interno obj 2 obj 1 obj 3 janela de consulta obj 3 obj 1 janela de consulta MBB da entrada de um nó interno 41
Pesquisa na R-tree Existência do relacionamento de inclusão (contém) do MBB de um objeto espacial com relação à janela de consulta (a) engloba a JC e também possui um MBB de objeto espacial que contém a JC (a) (b) (b) não possui nenhum MBB de objeto espacial que contém a JC, apesar da entrada englobar a JC JC (c) não engloba a JC e portanto não possui nenhum MBB de objeto espacial que possa conter a JC (c) 42
Pesquisa na R-tree Candidatos falsos e influência da área de dead space na determinação dos relacionamentos topológicos de (a) Interseção e (b) Inclusão (contém) Entrada (MBB) Janela de Consulta Objeto Espacial Área de Dead Space (a) (b) 43
Representando incerteza Fuzzy Minimum Bounding Rectangle (FMBR) CR Retângulo Circunscrito 44
Representando incerteza Fuzzy Minimum Bounding Rectangle (FMBR) IR Retângulo Inscrito 45
Representando incerteza Fuzzy Minimum Bounding Rectangle (FMBR) Regiões vagas Dentro de IR: =1 Fora de IR: valor decrescente 46
Representando Incerteza Egg-Yolk 47
Perguntas Ricardo Rodrigues Ciferri ricardo@dc.ufscar.br 48