120 likes | 217 Views
TerraWeb ?. Março/2006. Gilberto Ribeiro de Queiroz – gribeiro@dpi.inpe.br Sueli Castellari – sueli@dpi.inpe.br. Time TerraLib. TerraPHP. Extensão da Linguagem PHP: Habilita desenvolvedores PHP a usarem recursos da TerraLib: Visualização e consultas a bancos de dados geográficos
E N D
TerraWeb ? Março/2006 Gilberto Ribeiro de Queiroz – gribeiro@dpi.inpe.br Sueli Castellari – sueli@dpi.inpe.br Time TerraLib
TerraPHP • 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
Arquitetura de Aplicações PHP com TerraPHP Image PNG ou JPEG, Nomes de Vistas, Temas, Identificadores de objetos Servidor Web (Apache) AplicaçõesPHP PHP C++ TerraPHP (C++) TerraLib – C++ Oracle MySQL
Exemplo de aplicação PHP com TerraPHP <?/* 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->connect("localhost", "root", "", "terraweb", 3306, 1)) { echo("Nao foi possivel conectar-se ao banco de dados<BR>"); echo($t->errorMessage()); exit(); } // Torna a vista BRASIL a vista corrente if($t->setCurrentView("VISTA_SP") == false) { echo($t->errorMessage() . "<BR>"); exit(); }
Exemplo de aplicação PHP com TerraPHP ... // Pega o retângulo envolvente de todos os temas da vista $box = $t->getCurrentViewBox(); // Ajusta a visão do canvas onde os dados geográficos serão // desenhados: PNG de 800x600 $t->setWorld($box[0], $box[1], $box[2], $box[3], 800, 600); // Seta o tema corrente $result = $t->setTheme("DISTRITOS", 0); // Plota o tema corrente $result = $t->plotVector();
Exemplo de aplicação PHP com TerraPHP ... $imagemSaida = $t->getPNG(); if($imagemSaida == false) { echo($t->errorMessage() . "<BR>"); exit(); } header("Content-type: image/png"); echo($imagemSaida); ?>
Arquitetura TerraPHP AplicaçõesPHP PHP C++ TerraView C++ TerraPHP (C++) TerraManager – C++ TerraLib – C++ PostGIS Oracle MySQL Access
TerraManager • TeGDCanvas: • Desenho de objetos geométricos da TerraLib: • TePoint, TePolygon, TeLine2D, TeRaster • Exportação dos desenhos em memória: • PNG ou JPEG • TerraManager: • Conexão com Bancos de Dados • Desenho de Temas • Localização de objetos • Estado de uma aplicação de consulta • Documentação: • DOxygen código fonte
TerraWeb? AplicaçõesPHP AplicaçõesASP AplicaçõesXXXX PHP C++ ASP C++ (?) TerraView C++ TerraPHP (C++) TerraASP(C++) TerraX (C++) TerraManager – C++ TerraLib – C++ PostGIS Oracle MySQL Access
TerraWeb ? • Conceito geral de desenvolvimento de aplicações Web: • PHP • ASP • Java • Phython • ... • Plataforma de suporte: • TerraManager
TerraWeb: Futuro? • Melhoria do ambiente de desenvolvimento • Aperfeiçoamento do Canvas: • Uso de símbolos • Cache Geográfica: • Servidor • Protocolos de comunicação do TerraWeb: • WMS, WFS, WLS... • Documentação: • Guia do usuário TerraWeb • Guia do desenvolvedor TerraWeb