Documentação do Tdk

   Tutorial / Modelo de Dados do TDK
 
Esta etapa do tutorial tem como objetivo apresentar o modelo de dados do TDK.

Aguarde. Em construção !!! Abaixo uma visão inicial do que faremos.


 Introdução

Este tutorial está dividido nas seguintes seções:


Seção 1

Na primeira seção, será dada uma visão geral de sistemas de informação geográfica.


Seção 2

Na segunda seção, será dado um resumo das principais classes da Terralib.


Seção 3

Na terceira seção, será apresentado um resumo das principais tabelas da Terralib.


Seção 4

Na quarta seção, serão mostradas as principais classes do modelo de dados do Tdk.

Seção 1. Introdução aos conceitos de Sistema de Informação Geográfica

 

Um Sistema de Informação Geográfica é um sistema para gerenciamento, análise e apresentação de conhecimento geográfico. Para conseguir prover tais funcionalidades, este sistema deve ser capaz de manter uma estrutura organizada de conjuntos de informações geográficas, o que pode se traduzir em um tipo especial de banco de dados, um banco de dados geográfico .

As informações geográficas de que tratamos são conceitos do mundo real, naturais e humanos, tais como propriedades de solo, altitude, população, entre outros, que tem como característica comum o fato de serem referenciáveis geograficamente (altitude de um local, população de um município).

Note que as informações geográficas tem dois componentes distintos: um componente descritivo e um componente espacial . No exemplo da população de um município, o componente descritivo é a quantidade de pessoas que moram no município, enquanto o componente espacial é o mapa municipal, com suas fronteiras.

Para que estas informações possam ser utilizadas em um Sistema de Informação Geográfica, traduzimos estes conceitos do mundo real em representações computacionais dos mesmos, o que em geral dará origem a dados vetoriais (linhas, pontos, polígonos) e dados matriciais (tabelas de dados, imagens).

Figura 1. Representações vetoriais e matriciais utilizadas em SIG.

 

Como toda informação geográfica está disposta sobre um local da superfície terrestre, e sobre um mesmo local podemos ter várias tipos de informações diferentes, podemos imaginar vários planos de informação cobrindo a superfície.

Figura 2. Camadas de informações sobre a superfície da Terra.



Um plano de informação, ou layer (termo mais utilizado em SIG), agrupa informações sobre coisas semelhantes, coisas que compartilham os mesmos atributos, como por exemplo um mapa de municípios, que tem informações sobre os diversos municípios que ocupam a região representada.

Alguns cuidados precisam ser tomados ao serem combinadas informações de camadas diferentes. Por exemplo, ambas as camadas devem utilizar uma mesma projeção cartográfica, pois de outra forma, as camadas não irão “encaixar”. Projeção é o meio utilizado para apresentar em um plano a superfície curva da Terra. Existem várias formas de fazer uma projeção, e todas elas envolvem algum tipo de deformação, como podemos ver nas figuras.

 

Figura 3. Projeção cônica de Albers

 

Figura 4. Projeção cilíndrica de Miller

Em alguns tipos de aplicações pode haver o interesse em apenas parte da totalidade dos dados contidos em um layer, e por isso é utilizado o conceito de tema , para definir uma seleção sobre o conteúdo de layers. Para uma certa aplicação, por exemplo, pode ser interessante visualizar informações apenas sobre municípios com mais de um milhão de habitantes, ou apenas sobre municípios em regiões de floresta. Critérios como estes podem definir uma seleção temática sobre os dados de um layer, formando um tema.

Por motivos gerenciais, ou de segurança, pode ser necessário que apenas um grupo de usuários do SIG tenha acesso ilimitado às informações contidas no banco de dados, e outros grupos (ou indivíduos) tenham acesso limitado. Uma vista do banco de dados é um mecanismo para controlar quais temas um usuário pode visualizar em conjunto.

Seção 2 - Modelo de classes da TerraLib

 

Podemos apresentar a modelagem dos dados na TerraLib de duas formas: um modelo de classes, que é utilizado para modelar a camada de software, e um modelo de dados, que mostra como é feito o armazenamento em tabelas no banco de dados relacional. Nesta seção apresentamos o modelo de classes, e na próxima apresentamos o modelo de dados.

 

Figura 5. Parte do modelo de classes da TerraLib.

 

O modelo de classes apresentado na Figura 5 é um modelo de alto nível, ilustrando apenas as relações entre as classes, sem entrar em detalhes sobre os atributos e métodos das classes. Estão presentes neste modelo vários dos conceitos introduzidos na seção 1. Um objeto da classe TeLayer corresponde a um plano de informação, um objeto TeView corresponde a uma vista. Vemos que não há limite para o número de layers e views que podem haver no banco de dados, representado por um objeto da classe TeDatabase .

Como podemos ver no diagrama, podemos ter apenas uma projeção cartográfica associada a cada objeto TeLayer ou a cada objeto TeView, e esta projeção é representada por um objeto da classe TeProjection . No caso do layer, temos uma projeção comum para todas as representações que este contiver porque podemos processar estas representações em conjunto, e já no caso da view, a projeção é a mesma pois tudo que encontra-se sobre uma mesma view será visualizado em conjunto.

Os objetos da classe TeTheme representam o conceito de tema apresentado na seção 1, e cada tema está associado a um layer específico. Cada tema também está sempre associado a uma única vista.

Seção 3 - Modelo de dados da TerraLib

 

Em um banco de dados TerraLib há dois tipos de tabelas: tabelas de dados e tabelas de meta-dados. As tabelas de dados são os dados geográficos em si, tanto o componente descritivo quanto o componente espacial, de que falamos na seção 1. Já as tabelas de meta-dados, contém informações sobre como estão organizados os dados, e ajudam as aplicações a decodificar as informações contidas nas tabelas de dados. Chamamos o conjunto de tabelas de meta-dados de modelo conceitual do banco de dados.

Apresentamos na Figura 6 uma parte do modelo conceitual da TerraLib, que iremos explicar em seguida.

 

Figura 6. Parte do modelo conceitual da TerraLib.

A tabela principal neste modelo conceitual é a tabela te_layer, que representa um plano de informação geográfica. As tabelas te_layer, te_view, te_theme e te_projection representam respectivamente os conceitos de plano de informação, vista, tema e projeção cartográfica, e os relacionamentos entre elas são semelhantes aos relacionamentos entre as classes TeLayer, TeView, TeTheme e TeProjection, que foram apresentadas na seção 2.

As tabelas te_representation e te_layer_table serão utilizadas para armazenar, respectivamente, os componentes espaciais e descritivos das informações geográficas que estão em um mesmo plano de informação, ou layer, conceitos que foram apresentados na seção 1.

Como podemos ver pelos campos da tabela te_representation, cada representação tem um identificador único, que é sua chave primária repres_id, e está associada a um layer específico através de uma chave estrangeira layer_id , que é o identificador de um dos layers armazenado na tabela te_layer.

Além disso, cada representação tem um campo geom_type, que indica o seu tipo: pode ser uma representação de pontos, linhas, polígonos, matricial, de geo-campo, etc. Por fim, o campo geom_table aponta para uma tabela de dados (não meta-dados!) que contém os dados do componente espacial da informação geográfica em si.

A tabela te_layer_table é utilizada para armazenar o componente descritivo de uma informação geográfica, como por exemplo dados demográficos sobre um município. Esta tabela também tem uma chave primária table_id e uma associação com um layer através da chave estrangeira layer_id. Assim como a tabela te_representation, há um campo apontando para uma tabela de dados, chamada attr_table , que contém os dados do componente descritivo da informação geográfica representada.

Seção 4 - Modelo de classes do Tdk

 

Informações aqui sobre TdkProject, TdkView, TdkTheme, TdkLayer, TdkGeographicObject, TdkObject, etc.


 

O modelo de dados conceitual do Tdk foi definido a partir do modelo da TerraLib, seguindo as especificações do padrão de projeto Composite e pode, portanto, ser estendido para acomodar novos componentes.

O elemento que define um objeto Tdk (TdkObject) é a raiz do modelo e pode representar três tipos básicos de elementos:

  • Geometria – Uma representação geométrica simples (um ponto, linha, polígono, imagem, ou qualquer outra representação geométrica).
  • Objeto Simples – Um objeto geográfico composto por n geometrias em atributos.
  • Coleção – Um conjunto de objetos simples ou de outras coleções.

Esses elementos são organizados hierarquicamente segundo as regras de que um objeto simples agrupa um conjunto de geometrias e uma coleção agrupa objetos simples ou outras coleções. Uma vez definida uma interface única e comum a objetos e coleções, torna-se possível o tratamento uniforme entre estes elementos.

 

 
Para saber mais

  • GIS.com - As figuras 1 e 2 foram retiradas deste site. Lá você encontra várias informações sobre GIS.
  • Wikipedia - Map Projection - As figuras 3 e 4 foram retiradas deste site.
  • Terralib

  •          Topo ^