CBG 2013 – Modelagem Conceitual de Dados Espaciais Modelagem de Banco de Dados Geográficos Paulo José de Alcantara Gimenez [email protected] 1 Diretoria de Geociências Coordenação de Cartografia Belo outubro GerênciaHorizonte, de Infraestrutura de Dadosde 2005 Agenda • Introdução • • Motivação e Alinhamento de Conceitos Uso de Tecnologias de Banco de Dados • Níveis de abstração • Modelagem de dados geográficos • • Modelagem do mundo real Técnicas de modelagem • Modelos de dados geográficos • Modelo conceitual e Modelo lógico • Modelos OO • Modelo OMT-G • Modelos de Banco de Dados • • Modelo Relacional Estendido. Padrão OpenGIS e Padrão SQL MM • Mapeamento Objeto-Relacional (ORM) • • Técnicas de Mapeamentos Caso IBGE: implementação EDGV em SGBD • Tendências em SGBD 2 Introdução (1) • Abrangência: – 80% de todos os dados existentes no mundo possui algum componente geográfico . [*1] • Finalidade: – Multidisciplinar com múltiplos domínios de aplicação: • Planejamento urbano, uso da terra, transportes, meio ambiente, riscos, recursos naturais etc. • Disponibilidade: – Diversidade de recursos de dados geográficos: satélites, sensores, dispositivos móveis etc. – Massificação de informações espaciais por provedores. • Importância (para E-Governo): – No Brasil: • INDA: relevância da componente espacial. • INDE: geotransparência das ações de governo. – No mundo: • Geo-habilitação e engajamento do cidadão: perspectiva de proximidade, governança cidadã (colaboração, participação). 3 Introdução (2) • Modelagem de Dados • É um processo progressivo usado para definir uma estrutura de representação de um conjunto de conceitos e elementos de um contexto do mundo real através do uso de técnicas formais para a construção de modelos de dados. • Modelo Conceitual de Dados • Abstração de um conjunto de conceitos que possam ser usados para descrever características de entidades observáveis do mundo real em um sistema de informação. • Banco de Dados • Coleção organizada de dados (ou objetos) segundo um modelo que represente aspectos relevantes da realidade para propósito específico. • Modelo de Banco de Dados • Modelo de dados que representa a estrutura lógica de um banco de dados e determina como o dado pode ser armazenado, organizado e manipulado. • Alguns exemplos: modelos lógicos de dados (relacional, OO, multidimensional, estrela...), modelos físicos (índice invertido, arquivo “flat”, árvore B ...). 4 Introdução (3) • Uso de Tecnologias de Banco de Dados – + 40 anos de evolução em pesquisas e aplicação. – Bastante difundida. • Nos centros de pesquisas. • Nas organizações. – Foco em coleções e volumes de dados. – Suporta níveis de abstração de uso dos dados. – Tecnologia Relacional ou OO? • Relacional: + madura, + disseminada, lida melhor com coleções. – “Ajustada” para tratar as principais características OO. • OO: - madura (p/grande volumes), - disseminada, - não lida bem com coleções (operações full, range scan). 5 Níveis de Abstração Representação do Conhecimento Mundo Real Modelo conceitual Modelo Modelo Modelo conceitual conceitual conceitual Conceitos do mundo real ( fenômenos e entidades geográficas ) Universo do discurso ( abstração da realidade segundo uma visão ) Modelo Lógico Modelo Físico Estruturas abstratas de dados para um domínio Estruturas dependente da tecnologia. Nível externo (perspectiva do usuário) Nível conceitual (visão global e coerente da informação) Nível interno [ou físico] Arquitetura de Banco de Dados 6 Modelagem de dados geográficos • Modelagem do mundo real envolve a discretização do espaço geográfico: – – – – Transcrição da informação geográfica em modelo computacional. Percepção espacial = aspecto cognitivo. Natureza diversificada = provedores distintos. Existência de relações espaciais. • Técnicas de modelagem de dados – Segundo um padrão de modelo de dados: • Convencionais (ER+, OMT, IFO, UML ...); • Geográficos (UML GeoFrame, Geo-UML, OMT-G ...) – Caracterização dos conceitos, propriedades, regras e relacionamentos em função da semântica e simbologias de representação do modelo de dados de referência. – Muitas técnicas e padrões de modelo de dados atuam na modelagem conceitual e também na modelagem lógica. 7 Modelos de dados geográficos • Modelo conceitual – Especificação de um fenômeno ou entidade geográfica segundo um propósito (ou visão) de uso. – Tende a capturar a semântica dos dados. – Principal ferramenta utilizada: abstração. – Caracterização do conceito através de suas propriedades e comportamentos. – Preponderância: uso de Modelos OO. • Modelo lógico – Caracterização pelo desenho de solução de banco de dados: • Quando a possibilidade de mapeamento dos esquemas produzidos para implementação em SGBD; • Quanto a abstração de conceitos geográficos; – Captura a organização e esquematização lógica entre os dados. – Principal ferramenta utilizada: modelos de dados padronizados associados às técnicas de modelagem de dados. – Preponderância: uso de Modelos Relacionais Estendidos (ou equivalentes). 8 Modelagem de dados geográficos • Modelo OO (Orientado a Objetos) – Duas possibilidades de apresentação: • Simplificada: somente identificação da classe (nome, ícone, esteriótipo). • Detalhada: com atributos e operações 9 Modelo OO usado na EDGV • Modelo OMT-G: usado na ET-EDGV – É um modelo OO com perfil para o domínio Geo. – Baseado no diagrama de classes da UML • Classes: georreferenciadas contínuas (geo-campos) ou discretas (geo-objetos), convencionais. • Relacionamentos. • Esteriotipos e simbologias. – Expansão (profile UML) para as primitivas geográficas. – Mapeia novos tipos de restrições de integridade: • Topológicas; • Geossemânticas; • Geográficas definidas pelo usuário. 10 Modelo OMT-G (1) • Tipificação da estrutura “estática”: Classes • Associações entre objetos: Relacionamentos – – – – – – 11 Evitar significados difusos. Qualificar a relação. Representar a Cardinalidade da relação. Estabelecer o sentido. Definir as restrições. Espacial: • Conformação com matriz interseções de tipos de primitivas geométricas. (EDGV) Modelo OMT-G (2) • Tipos especiais– Agregação (Todo-Parte) – Podem haver agregação entre classes: convencional e georreferenciada. – Agregação espacial: são relacionamentos topológicos “todo-parte”. – Agregação por Composição: • Quando a classe “parte” não existe sem a classe “Todo”. • Um objeto da classe “Parte” tem dependência existencial de um (e somente um) objeto da classe “Todo”. 12 Modelo OMT-G (3) • Tipos especiais– Generalização de Abstração (É-um) Diferente de Generalização Cartográfica: •Variação em função da Escala. •Disjunto 13 Modelo Relacional • Modelo Relacional É um modelo de dados para Banco de Dados. Conceitos encapsulados em Tabelas. Propriedades definidas como Campos ou Colunas. Relacionamentos definidos em função da cardinalidade e materializados em tabela ou campo de ligação. – Restrições ou regras definidas como restrição de integridade de domínio, referencial, semântica e de chave. – – – – • Modelo Relacional Estendido: – Capacidade de representar tipos complexos de dados. • Tipos geométricos, tipos binários, rasters ... • Permite extensão do SGBD para suporte a esses “novos” tipos. 14 Padrão – Modelo OpenGIS SFS 15 Padrão – Modelo SQL MM Espacial • • Especificação ISO/IEC 13249-3 SQL/MM Part 3 Adequação do Modelo de Hierarquia de classes da OpenGIS para SQL Exemplos 16 Padrão – Modelo SQL MM Espacial • Métodos para conversão com formatos externos (DE-e-PARA) – WKT: Well-Known text representation. – WKB: Well-Known binary representation. – GML: Geography markup language. • Métodos para recuperação de propriedades ou medidas: ST_X, ... • Métodos para comparação entre geometrias: ST_Intersects, ... • Métodos para geração de novas geometrias: ST_Intersection, ... • Dissonância entre Modelos SFS e SQL: Composite – Linha, Ponto, Poligono hierarquicamente distinto de MultiLinha, MultiPonto e Multipolígono respectivamente. Produtos SGBD comerciais: • • • • 17 SpatialWare – IDS: implementa cenário ao lado. DB2 Spatial Extender: segue o padrão. Oracle 9i Spatial: tipo próprio = SDO_Geometry. PostgreSQL com PostGIS: segue o padrão geométrico e topológico. Mapeamento Objeto-Relacional (1) • Modelagem Conceitual OO: é + natural. • Implementação (modelo físico, e eventualmente lógico) em Modelo Relacional Estendido: + comum. • Então como tratar as diferenças de representação de conceitos? – Técnica ORM (mapeamento objeto-relacional) Depende de como tratar o mapeamento da Hierarquia. 18 Mapeamento Objeto-Relacional (2) • Exemplo de Opções de Mapeamento de Hierarquias de Classes. 19 Mapeamento Objeto-Relacional (3) • Estratégias para mapear hierarquias: – Caso 1: • Dependendo do balanceamento dos atributos entre as subClasses: podem haver muitos campos vazios. • Requer uma coluna/campo “Object Type” para identificar a subClasse. – Alternativa: usar colunas lógicas, uma para cada subClasse. • Melhor quando há correlação de uso do conjunto da hierarquia toda e hajam mais atributos em comum do que próprios das classes. • Melhor quando há baixo/médio volume de dados. • => EDGV: Hierarquia de Vegetação ... – Caso 2: Uma tabela/relação por classe concreta. • Cada subClasse concreta gerará uma tabela com todos os seus atributos e da SuperClasse. • Problemas de manutenção estrutural da SuperClasse. • Melhor se as subClasses possuem + atributos próprios e são geralmente acessadas de forma independentes. • Melhor quando há grande volume de dados. • => EDGV: Hierarquia de Isolinha_Hipsometrica (Curva_Nivel, Curva_Batimétrica). – Caso 3: Uma tabela/relação por classe. • • • • • 20 Cada classe gerará uma tabela com todos os seus atributos. Relação da hierarquia será via Chave estrangeira (atributo de ligação pelo ID). Problemas de manutenção estrutural da SuperClasse. Qualquer acesso ou visualização exigiria uma junção das tabelas. => EDGV: Não há cenários ideais. Não é adequado para dados espaciais. Caso IBGE: Implementação EDGV • ET-EDGV modelada conceitual-logicamente OO (OMT-G). • Implementação lógico-físico em: – SGBD Relacional+ PostgreSQL (versão 9.2+). – Uso de extensão espacial PostGIS (versão 2.0). Relacionamento de tabelas – Metadado PostGIS – Mapeamento objeto-relacional utilizado: • • • • 21 Toda classe georrefenciada corresponde a uma tabela. Uma hierarquia de classes (caso 1) para uma tabela. Exceção por otimização: Isolinha_Hipsometrica. Exceção por criação: tabela única (caso 1) para Caso IBGE: Implementação EDGV • Classes com mais de uma primitiva geométrica: – Uso de visões de dados para dar suporte. • Classes da EDGV ganham um sufixo no nome para exprimir a primitiva geométrica. • Convivência da ET-EDGV de disseminação e ET-EDGV implementada de produção. – ET-EDGV implementada para produção IBGE – Cartografia deve fornecer meio automático para que os dados espaciais sejam disponibilizados no padrão ET-EDGV publicado. • Uso de mapeamento de correlação de atributos e conteúdo (domínio). • Uso de visões de dados para dar suporte. • Publicação dos dados geoespaciais através de geosserviços – SGBD Postgresql/PostGIS com base de publicação. – Geoserver acessa diretamente a base e disponibiliza como Geosserviço INDE. 22 Caso IBGE: Implementação EDGV 23 Tendências (em SGBD) • • Agregar mais “formatos” de intercâmbio, complexidade de representação, exposição dos dados. Representação da dados espaciais em : – Em termos de topologia: face (F), aresta (E), nó (N) . • Topology Data Model =>Exemplos em PostgreSQL/PostGIS e Oracle Spatial • • Conversão DE-e-PARA formatos derivados de XML. Recuperação e manipulação dos dados espaciais – Interface via Geosserviços = padronização OGC/ISO: WFS, WMS ... • É o caso da INDE (geoservicos.inde.gov.br; geoservicos.ibge.gov.br) – Combinação de RESTFul e RDF = possibilita Geo-spatial Linked (Open) Data. – Uso de Ontologias: OWL, RDF. 24 Contato Modelagem de Banco de Dados Geográficos Paulo José de Alcantara Gimenez [email protected] IBGE – Diretoria de Geociências Coordenação de Cartografia Gerência de Infraestrutura de Dados 25 Anexo – EDGV2.1 – HID 26 Anexo – EDGV2.1 – REL 27 Anexo – EDGV2.1 – VEG 28 Anexo – EDGV2.1 - TRA 29