Title: TerraLib: Tecnologia para constru
1TerraLib Tecnologia para construção de SIGs
Outubro/2005
Gilberto Ribeiro de Queiroz gribeiro_at_dpi.inpe.br
(Time TerraLib)
2Divisão de Processamento de Imagens
(www.dpi.inpe.br)
- Existe desde 1984 com uma equipe
multi-disciplinar - Linhas de atuação
- Geoinformação
- Processamento de Imagens
- Uso da Terra na Amazônia
- GEOMA - Modelagem Amazônia
- História em desenvolvimento de sistemas para
geoinformação - SITIM, SGI, SPRING e atualmente TerraLib e
TerraView
3Geotecnologia na DPI A Experiência SPRING
- SISTEMA DE PROCESSAMENTO DE INFORMAÇÕES
GEOREFERENCIADAS - Sistema nacional, desenvolvido pelo INPE,
disponível na Internet como freeware
(www.dpi.inpe.br/spring) - GIS monolítico
- Funções de entrada de dados
- análise espacial
- processamento de imagens
- modelagem numérica de terreno
- consulta/manipulação de dados cadastrais
- geração de documentos cartográficos
- Arquitetura dual
- Público alvo Usuários de GIS
4TerraLib (www.terralib.org)
- É uma biblioteca de classes escritas em C para
o desenvolvimento de aplicativos geográficos de
arquitetura integrada. - Busca atender aos usuários desktop, usuários
coorporativos e centros de dados geográficos. - Código fonte aberto, distribuído via Web.
- Permite construir aplicativos customizados de
acordo com o interesse do usuário
5TerraLib Motivação
- Novas tendências no desenvolvimento de GIS
- Aplicativos Geográficos
- transição dos atuais sistemas monolíticos para
sistemas dedicados - Arquitetura Integrada
- uso de Sistemas de Banco de Dados (SGBDs)
extensíveis para armazenar, manipular e gerenciar
os dados geográficos - A falta de tecnologias free na área de Sistemas
Geográficos (GIS)
6SPRING X TerraLib
SPRING Arquitetura Dual
TerraLib Arquitetura Integrada
7Estrutura da TerraLib
Interface Java
Interface COM
Serviços OGIS
Interface C
Interface PHP
Funções
kernel
Estruturas de dados espaço-temporais
Acesso a arquivos e SGBD
Controle de Visualização
Drivers E/S
SGBD
Arquivos Externos
8Estrutura da TerraLib
- Kernel
- Estruturas de dados vetoriais e matriciais
- Containeres de dados geográficos (geometrias
atributos) - Tratamento de sistemas de referência espacial
- Interface genérica de acesso a SGBDs
- Operações topológicas (a matriz 9-I)
- Drivers SGBD
- ADO (Access, SQLServer)
- MySQL
- Oracle e Oracle Spatial
- PostgreSQL e PostGIS
9Estrutura da TerraLib
- Controle de Visualização e Processamento
- Vista definir uma projeção comum
- Tema seleção sobre os objetos a serem
visualizados. Visual de apresentação e
Agrupamento de objetos - Conversão de Dados
- MID/MIF, Shapefile, SPRING, BNA para dados
vetoriais - GeoTIFF (TIFF tfw), JPEG (jgw) e raw para
dados matriciais
10Estrutura da TerraLib
- Funções
- Biblioteca de funções de estatística espacial
- Funções de análise espaço-temporal
- Álgebra de Mapas
- Biblioteca de algoritmos de processamento de
imagens - Geocodificação de endereços
- Modelagem dinâmica
11TerraLib Parceiros e Usuários
- TerraLib tem usuários em diferentes áreas de
atuação - Meio Acadêmico
- Corporativo
- TerraLib tem também uma rede de parcerias que
trabalha junto no desenvolvimento da biblioteca - TecGraf-RJ
- FUNCATE
12Prefeitura de Santos
FUNCATE, www.funcate.org.br, 2004
13Palm-top
14(No Transcript)
15Nexus
www.nexusbr.com.br
16Enalta
- SIG para as usinas de cana-de-açúcar de São Paulo
17EcosConsult
- Coleta de lixo em Angola
- Distribuição de produtos de geoprocessamento para
Linux
18InfoPae
- Sistema de tratamento de emergências em dutos de
óleo para Petrobras
19TerraStat
- LESTE UFMG construção de uma biblioteca de
algoritmos de estatística espacial
20aRT
- ESTE UFPR Integração entre o R e TerraLib
21Fluxos e Redes DPI-INPE/IBGE/SUS/FIOCRUZ
- Classificação da rede baseado na metodologia de
Rabino e Occelli (1997)
22TerraME
- Ambiente para a construção de modelos
Fonte Tiago Senna Carneiro
23Deter e Proarco
- Demandas institucionais que o INPE tem que
atender
24TerraView (www.dpi.inpe.br/terraview)
- É um aplicativo construído sobre a biblioteca
TerraLib - Visualizador de dados geográficos com recursos de
consulta a análise destes dados - Exemplifica a utilização da biblioteca TerraLib
- O TerraView manipula dados vetoriais (pontos,
linhas e polígonos) e matriciais (grades e
imagens) - Armazenados em SGBD relacionais ou
geo-relacionais como o ACCESS, PostgreSQL, MySQL
e Oracle e OracleSpatial - Versão 3.0.3
25TerraView
- Cada seção de TerraView trabalha em um banco de
dados TerraLib - Importa dados vetoriais em formato Shapefile,
MID/MIF, SPRING e BNA (TabWin) - Importa dados matriciais em formato GeoTIFF,
Tifftwf, JPEG (jgw), raw
26TerraView - Visualização
27TerraView - Consulta
28TerraView Consulta Espacial
29TerraView - Análise
30TerraView - Análise
31TerraView Operações Geográficas
32TerraView Superfície de Kernel
33Disseminação Web
- TerraLib está criando alternativas para a
disseminação de um banco na Web
34Disseminação Web
- Servidor WMS para bancos TerraLib
35TerraPHP
- Extensão da Linguagem PHP
- Habilita desenvolvedores PHP a usarem recursos da
TerraLib - Visualização e consultas a bancos de dados
geográficos - Extensão escrita em C
- Código fonte aberto e gratuito como tudo na
TerraLib - Uso de diversas bibliotecas open-source
- FreeType, IJG JPEG, GD, lib PNG, zlib
- Exemplo de aplicação
- TerraWeb
36TerraPHP
37TerraPHP Como fica o script PHP
- lt? / Conecta com um banco de dados MySQL e exibe
o mapa do Brasil agrupado por algum atributo
/ - t TerraWeb()
- // Conecta-se a um banco MySQL
- if(!t-gtconnect("localhost", "root", "",
"terraweb", 3306, 1)) -
- echo("Nao foi possivel conectar-se ao banco
de dadosltBRgt") - echo(t-gterrorMessage())
- exit()
-
-
- // Torna a vista BRASIL a vista corrente
- if(t-gtsetCurrentView("BRASIL") false)
-
- echo(t-gterrorMessage() . "ltBRgt")
- exit()
-
38TerraPHP Como fica o script PHP ?
- ...
- // Pega o retângulo envolvente de todos os
temas da vista - box t-gtgetCurrentViewBox()
- // Ajusta a visão do canvas onde os dados
geográficos serão - // desenhados PNG de 800x600
- t-gtsetWorld(box0, box1, box2,
box3, 800, 600) - // Seta o tema corrente
- result t-gtsetTheme("municipios", 0)
-
- rampColors array("RED", "GREEN", "BLUE")
- // Plota o tema corrente, sem restrições de
atributo, agrupando - // o mapa pelo atributo LATITUDE em 5 classes
usando quantil - // e com os tons de cores RED/GREEN/BLUE
- result t-gtplotVector("", "LATITUDESE", "",
5, 0, - rampColors)
39TerraPHP Como fica o script PHP ?
- ...
- imagemSaida t-gtgetPNG()
- if(imagemSaida false)
- echo(t-gterrorMessage() . "ltBRgt")
- exit()
-
- header("Content-type image/png")
- echo(imagemSaida)
- ?gt
40TerraPHP
41Integração MapServer e TerraLib
- layerInitItemInfo() - layerFreeItemInfo() -
msLayerOpen() - msLayerWhichShapes() -
msLayerNextShape() - msLayerGetShape() -
msLayerClose() - msLayerGetItems() -
msLayerGetExtent()
- layerObj
- rectObj
- shapeObj
maplayer.c
mapserver.c main()
mappostgis.c
mapsde.c
maporacle.c
mapterralib.c
mapshape.c
42Exemplo MapServer com TerraLib
43Exemplo MapServer com TerraLib
44TerraHidro
- Framework para Modelagem de recursos hídricos
- Funcionalidades básicas
- Delimitação de Bacias
- Extração automática de drenagem
- Morfometria
- Estudos de inundação
- Estudos de dinâmica de água no solo
45Conclusões
- DPI /INPE apoiamos e fazemos software livre
- Sustentamos o desenvolvimento da TerraLib e do
TerraView - Promovemos o desenvolvimento de recursos humanos
- Promovemos treinamento em geoinformação
- Incentivamos empresas na área de desenvolvimento
de software para geoinformação
46Conclusões
- Buscamos uma rede de parcerias
- E é o que pretendemos continuar fazendo...
47Fim!!!