29
TDK Terralib Development Kit

TDK Terralib Development Kit. Agenda Visão Geral Modelo de Dados Módulo Gráfico Módulo de Interface com o Usuário Módulo de Persistência Módulo de Processamento

Embed Size (px)

Citation preview

Page 1: TDK Terralib Development Kit. Agenda Visão Geral Modelo de Dados Módulo Gráfico Módulo de Interface com o Usuário Módulo de Persistência Módulo de Processamento

TDKTerralib Development Kit

Page 2: TDK Terralib Development Kit. Agenda Visão Geral Modelo de Dados Módulo Gráfico Módulo de Interface com o Usuário Módulo de Persistência Módulo de Processamento

Agenda

• Visão Geral• Modelo de Dados• Módulo Gráfico• Módulo de Interface com o Usuário• Módulo de Persistência• Módulo de Processamento

Page 3: TDK Terralib Development Kit. Agenda Visão Geral Modelo de Dados Módulo Gráfico Módulo de Interface com o Usuário Módulo de Persistência Módulo de Processamento

Agenda

• Visão Geral• Modelo de Dados• Módulo Gráfico• Módulo de Interface com o Usuário• Módulo de Persistência• Módulo de Processamento

Page 4: TDK Terralib Development Kit. Agenda Visão Geral Modelo de Dados Módulo Gráfico Módulo de Interface com o Usuário Módulo de Persistência Módulo de Processamento

Terralib

Visão Geral Modelo de Dados Gráfico Interface Persistência Processamento

• Biblioteca de classes e funções para apoiar o desenvolvimento de aplicações SIG

• Banco de dados espacial• Análise espacial• Software livre• www.terralib.org

Page 5: TDK Terralib Development Kit. Agenda Visão Geral Modelo de Dados Módulo Gráfico Módulo de Interface com o Usuário Módulo de Persistência Módulo de Processamento

Histórico do desenvolvimento

Visão Geral Modelo de Dados Gráfico Interface Persistência Processamento

• Antes da Terralib– GeoMedia (MAPS)– Shapefile (VistaPAE)

• Antes do TDK (Terralib Development Kit)– Código duplicado– Equipes grandes

• Hoje– Código comum– Equipes menores– Colaboração

Page 6: TDK Terralib Development Kit. Agenda Visão Geral Modelo de Dados Módulo Gráfico Módulo de Interface com o Usuário Módulo de Persistência Módulo de Processamento

Arquitetura Geral

Visão Geral Modelo de Dados Gráfico Interface Persistência Processamento

TDK

Terralib

Banco de Dados da Terralib

Aplicação

Page 7: TDK Terralib Development Kit. Agenda Visão Geral Modelo de Dados Módulo Gráfico Módulo de Interface com o Usuário Módulo de Persistência Módulo de Processamento

Requisitos do TDK

• Atender a aplicações SIG• Flexibilidade

– Linguagens de programação e plataformas

• Reuso e extensibilidade• Acesso simplificado a Terralib• Compatibilidade com OGC• Software livre• Desenvolvimento colaborativo

Visão Geral Modelo de Dados Gráfico Interface Persistência Processamento

Page 8: TDK Terralib Development Kit. Agenda Visão Geral Modelo de Dados Módulo Gráfico Módulo de Interface com o Usuário Módulo de Persistência Módulo de Processamento

Módulos do TDK

Módulo GráficoMódulo de

Interface com o Usuário

Módulo de Persistência

Módulo de Processamento

TDK

Page 9: TDK Terralib Development Kit. Agenda Visão Geral Modelo de Dados Módulo Gráfico Módulo de Interface com o Usuário Módulo de Persistência Módulo de Processamento

Componentes e Serviços do TDK

Visão Geral Modelo de Dados Gráfico Interface Persistência Processamento

Módulo GráficoMódulo de

Interface com o Usuário

Módulo de Persistência

Módulo de Processamento

Serviço de ProcessamentoServiço IU Serviço de PersistênciaServiço Gráfico

TDK

Aplicação

Page 10: TDK Terralib Development Kit. Agenda Visão Geral Modelo de Dados Módulo Gráfico Módulo de Interface com o Usuário Módulo de Persistência Módulo de Processamento

Agenda

• Visão Geral• Modelo de Dados• Módulo Gráfico• Módulo de Interface com o Usuário• Módulo de Persistência• Módulo de Processamento

Page 11: TDK Terralib Development Kit. Agenda Visão Geral Modelo de Dados Módulo Gráfico Módulo de Interface com o Usuário Módulo de Persistência Módulo de Processamento

Conceitos – SIG/BD Geográfico

Visão Geral Modelo de Dados Gráfico Interface Persistência Processamento

• Sistema para gerenciamento, análise e apresentação de conhecimento geográfico– SIG - Sistema de Informação Geográfica

• Este sistema deve ser capaz de manter uma estrutura organizada de conjuntos de informações geográficas– Banco de dados geográfico

Page 12: TDK Terralib Development Kit. Agenda Visão Geral Modelo de Dados Módulo Gráfico Módulo de Interface com o Usuário Módulo de Persistência Módulo de Processamento

Conceitos – Informações Geográficas

• As informações geográficas são conceitos do mundo real, naturais e humanos, que tem como característica comum o fato de serem referenciáveis geograficamente

• Possuem os seguintes componentes: – descritivo – espacial

• Ex. população de um município• componente descritivo: quantidade de pessoas que moram

no município • componente espacial: o mapa municipal com suas

fronteiras.

Visão Geral Modelo de Dados Gráfico Interface Persistência Processamento

Page 13: TDK Terralib Development Kit. Agenda Visão Geral Modelo de Dados Módulo Gráfico Módulo de Interface com o Usuário Módulo de Persistência Módulo de Processamento

Conceitos – Projeção

Visão Geral Modelo de Dados Gráfico Interface Persistência Processamento

• 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

Page 14: TDK Terralib Development Kit. Agenda Visão Geral Modelo de Dados Módulo Gráfico Módulo de Interface com o Usuário Módulo de Persistência Módulo de Processamento

Conceitos - Layer

Visão Geral Modelo de Dados Gráfico Interface Persistência Processamento

• Um plano de informações espaciais e descritivas semelhantes

• Exemplo: mapa de municípios

Page 15: TDK Terralib Development Kit. Agenda Visão Geral Modelo de Dados Módulo Gráfico Módulo de Interface com o Usuário Módulo de Persistência Módulo de Processamento

Conceitos – Dado Vetorial

• Valores discretos– Localizações ou eventos

discretos como pontos, linhas e polígonos

• Representado como coordenadas (x, y) no espaço

• O SIG conecta os pontos desenhando linhas e contornos

Visão Geral Modelo de Dados Gráfico Interface Persistência Processamento

Page 16: TDK Terralib Development Kit. Agenda Visão Geral Modelo de Dados Módulo Gráfico Módulo de Interface com o Usuário Módulo de Persistência Módulo de Processamento

Conceitos – Raster

• Valores numéricos contínuos– como elevação

• Representado como uma matriz de células em um espaço contínuo

Visão Geral Modelo de Dados Gráfico Interface Persistência Processamento

Page 17: TDK Terralib Development Kit. Agenda Visão Geral Modelo de Dados Módulo Gráfico Módulo de Interface com o Usuário Módulo de Persistência Módulo de Processamento

Conceitos - Tema

Visão Geral Modelo de Dados Gráfico Interface Persistência Processamento

• Restrições– Algum tipo de aplicação pode ter o interesse em

apresentar apenas parte dos dados contidos em um layer

– Exemplo: municípios com mais de um milhão de habitantes

• Estilo de desenho– Os dados de um layer podem ser desenhados com cores

diferentes, por exemplo– Exemplo:

• População > 1.000.000 – vermelho• População <= 1.000.000 – amarelo

Page 18: TDK Terralib Development Kit. Agenda Visão Geral Modelo de Dados Módulo Gráfico Módulo de Interface com o Usuário Módulo de Persistência Módulo de Processamento

Conceitos - View

Visão Geral Modelo de Dados Gráfico Interface Persistência Processamento

• Agrupador de temas– Contém um conjunto de temas– Define a visualização de um mapa– Obs.: Na Terralib, um tema só pode pertencer

a uma view

• Projeção– A projeção da view define em qual projeção os

dados dos temas serão apresentados

Page 19: TDK Terralib Development Kit. Agenda Visão Geral Modelo de Dados Módulo Gráfico Módulo de Interface com o Usuário Módulo de Persistência Módulo de Processamento

Agenda

• Visão Geral• Modelo de Dados• Módulo Gráfico• Módulo de Interface com o Usuário• Módulo de Persistência• Módulo de Processamento

Page 20: TDK Terralib Development Kit. Agenda Visão Geral Modelo de Dados Módulo Gráfico Módulo de Interface com o Usuário Módulo de Persistência Módulo de Processamento

Visão Geral Modelo de Dados Gráfico Interface Persistência Processamento

Módulo Gráfico

• Composto por:– Canvas– Imagens– Cache de visualização– Biblioteca de estilos– Serviço gráfico

• Responsável por:– Desenho de mapa (views e temas)

• Desenhar linhas, retângulos, etc.• Desenhar textos• Desenhar imagens

– Gerar imagens– Exportar arquivos (gráficos)

Page 21: TDK Terralib Development Kit. Agenda Visão Geral Modelo de Dados Módulo Gráfico Módulo de Interface com o Usuário Módulo de Persistência Módulo de Processamento

Exemplo

Visão Geral Modelo de Dados Gráfico Interface Persistência Processamento

Page 22: TDK Terralib Development Kit. Agenda Visão Geral Modelo de Dados Módulo Gráfico Módulo de Interface com o Usuário Módulo de Persistência Módulo de Processamento

Agenda

• Visão Geral• Modelo de Dados• Módulo Gráfico• Módulo de Interface com o Usuário• Módulo de Persistência• Módulo de Processamento

Page 23: TDK Terralib Development Kit. Agenda Visão Geral Modelo de Dados Módulo Gráfico Módulo de Interface com o Usuário Módulo de Persistência Módulo de Processamento

Módulo de Interface com o Usuário

• Definição– O módulo de interface com o usuário trata de

controles (ou widgets) de interface gráfica de usuário.

– Um widget é um elemento da interface que o usuário interage como um canvas, uma janela, uma caixa de texto, um botão, um menu, etc.

• Composto por:– Objetos visuais– Controladores de diálogos– Diálogos abstratos

Visão Geral Modelo de Dados Gráfico Interface Persistência Processamento

Page 24: TDK Terralib Development Kit. Agenda Visão Geral Modelo de Dados Módulo Gráfico Módulo de Interface com o Usuário Módulo de Persistência Módulo de Processamento

Agenda

• Visão Geral• Modelo de Dados• Módulo Gráfico• Módulo de Interface com o Usuário• Módulo de Persistência• Módulo de Processamento

Page 25: TDK Terralib Development Kit. Agenda Visão Geral Modelo de Dados Módulo Gráfico Módulo de Interface com o Usuário Módulo de Persistência Módulo de Processamento

Módulo de Persistência

Visão Geral Modelo de Dados Gráfico Interface Persistência Processamento

• Definição– O módulo de persistência disponibiliza

funcionalidades de alto nível que permitem persistir, consultar e atualizar informações em um banco de dados Terralib

– Este módulo faz acesso ao banco de dados através de drivers

– Os drivers permitem criar um banco de dados novo e estabelecer conexão com algum banco de dados existente

• Composto por:– Serviço de persistência

Page 26: TDK Terralib Development Kit. Agenda Visão Geral Modelo de Dados Módulo Gráfico Módulo de Interface com o Usuário Módulo de Persistência Módulo de Processamento

Agenda

• Visão Geral• Modelo de Dados• Módulo Gráfico• Módulo de Interface com o Usuário• Módulo de Persistência• Módulo de Processamento

Page 27: TDK Terralib Development Kit. Agenda Visão Geral Modelo de Dados Módulo Gráfico Módulo de Interface com o Usuário Módulo de Persistência Módulo de Processamento

Módulo de Processamento

Visão Geral Modelo de Dados Gráfico Interface Persistência Processamento

• Definição– O módulo de processamento provê

funcionalidades que auxiliam as tarefas de calcular e converter informações, selecionar áreas georreferenciadas, etc.

• Composto por:– Serviço de processamento

• Funcionalidades– Rotação, translação e escala– Cálculo de distância– Conversão de projeção

Page 28: TDK Terralib Development Kit. Agenda Visão Geral Modelo de Dados Módulo Gráfico Módulo de Interface com o Usuário Módulo de Persistência Módulo de Processamento

Tutorial

www.tecgraf.puc-rio.br/tdk

Page 29: TDK Terralib Development Kit. Agenda Visão Geral Modelo de Dados Módulo Gráfico Módulo de Interface com o Usuário Módulo de Persistência Módulo de Processamento