TerraWeb ?
Março/2006
Gilberto Ribeiro de Queiroz – [email protected]
Sueli Castellari – [email protected]
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
Servidor Web
(Apache)
Aplicações
PHP
TerraPHP
(C++)
PHP
C++
TerraLib – C++
Oracle
MySQL
Exemplo de aplicação PHP com TerraPHP
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ções
PHP
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ções
PHP
Aplicações
ASP
Aplicações
XXXX
PHP
C++
ASP
C++
(?)
TerraPHP (C++) TerraASP(C++)
TerraX (C++)
TerraView
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
Download

terraweb_2006_03_29 - DPI