You are on page 1of 81

Viso geral sobre o i3Geo

GPL
O i3Geo software livre, por isso voc tem:

A liberdade de executar o programa, para qualquer


propsito (liberdade n 0)
A liberdade de estudar como o programa funciona e
adapt-lo para as suas necessidades (liberdade n
1).
A liberdade de redistribuir cpias de modo que voc
possa ajudar ao seu prximo (liberdade n 2).
A liberdade de aperfeioar o programa, e liberar os
seus aperfeioamentos, de modo que toda a
comunidade se beneficie deles (liberdade n 3).

http://pt.wikipedia.org/wiki/Richard_Matthew_Stallman
O que garante essas
liberdades algo fundamental:
O acesso ao cdigo-fonte
(veremos mais detalhes sobre isso no final)
de forma legvel por favor
Um pouco de histria
O ano de nascimento do i3Geo pode ser marcado como 2004, apesar de
no ser utilizado esse nome desde o incio

Foi criado pelo Ministrio do Meio Ambiente e publicado como GPL

A motivao principal foi a implantao do Sistema Nacional de Informao


sobre Meio Ambiente, o SINIMA
Foi um dos primeiros softwares
a integrar o Portal do Software
Pblico
J no incio utilizava o
Mapserver e PHP
O que ?
i3GEO significa: Interface Integrada para Internet (3is) de
Ferramentas de Geoprocessamento

Como o nome diz, a idia integrar funcionalidades


existentes em outros softwares livres em um ambiente web

No se quer inventar a roda

Mas se no tiver a gente

inventa

https://www.facebook.com/NessaInfinitaHighway
O que no ?
No um banco de dados com vrias camadas prontas para uso

No um software em C ou algo assim que voc instala no servidor.


Para isso existe o Mapserver

Pode ser utilizado como um software desktop, mas existem coisas


melhores para isso (gvSIG, QGIS...)

No algo que ir resolver todos os seus problemas sem um pouco


de investimento

No apenas uma API. Para isso existe o Openlayers. Apesar


disso, voc pode customizar o software

http://openclipart.org
Pra que serve?
Colocar seus dados na web em mapas interativos

Criar mapas para atender usurios especficos sem ter de programar


muito

Organizar seus dados em um catlogo

Gerar servios para acesso aos dados

Compartilhar dados e cdigo

Criar mapas que vo alm do pan e zoom

Ajudar na implantao de IDEs


Tecnologia
Os mapas funcionam com base em cdigo
HTML e Javascript no navegador
O processamento no servidor Web utiliza PHP
No h reload de pgina. Tudo feito via
Ajax
A mistura de PHP e HTML muito rara
As funcionalidades do lado navegador so
carregadas sob demanda (script tag), visando
o menor trfego de dados possvel

http://thenextweb.com/2009/04/17/eric-a-meyer-javascript-will-save-us-all/
Javascript
O i3Geo possu muito cdigo prprio mas para o
controle dos mapas utiliza-se:
Openlayers
Google Maps e Google Earth
Essas bibliotecas so responsveis por:
Montar o mapa no navegador Web
Controlar a interao com o usurio
Controlar a visibilidade e a ordem das camadas no mapa
Estruturar os tiles e realizar as requisies corretas ao
servidor
Exemplo com OpenLayers
Exemplo com GoogleMaps
Exemplo com GoogleEarth
Componentes Javascript
Alm do OL e GM a principal biblioteca utilizada a
YUI do Yahoo!
Com a YUI so construdos os componentes da
interface como menus, rvores, janelas flutuantes,
etc.
Vrias outras bibliotecas so complementares:
Eudock para a barra de botes
CCC2 para grficos
Proj4js para manipulao de projees
Wicket para tratamento de WKT
Simile para linhas de tempo
Etc, etc...
Exemplos YUI
PHP
O processamento de dados no servidor web feito com a
linguagem PHP

Vrias bibliotecas escritas em PHP complementam as funes


que o i3Geo precisa

Essas bibliotecas fazem coisas como gerar pdf, ler e escrever


arquivos CSV, manipular imagens, manipular arquivos KML, etc.

O PHP utilizado principalmente para realizar operaes no


banco de dados de administrao do i3Geo e no mapa que o
usurio est usando
Mapserver
O software livre Mapserver roda no servidor e o corao
do i3Geo

utilizado como mdulo do PHP - tambm chamado de


PHP-Mapscript

o PHP-Mapscript que faz o desenho dos mapas vistos


no navegador web

As camadas utilizadas nos mapas so configuradas


utilizando-se arquivos compatveis com o Mapserver
(mapfiles)

http://mapserver.org/
Discutindo a relao
Toda vez que o usurio acessa um mapa o i3Geo cria uma rea
temporria no servidor Web

Nessa rea temporria so criados arquivos do tipo Mapfile que


valem apenas para o mapa atual

Esses arquivos contm todos os parmetros necessrios para a


construo do mapa, sendo alterado conforme o usurio
interage com o navegador

Por meio do PHP-Mapscript esse mapfile fsico alterado


quando alguma operao realizada

Por exemplo, a funo de criao de buffer cria um shapefile


temporrio que adicionado ao mapa e ento mostrado no
navegador para o usurio
Discutindo a relao
Mapfiles so utilizados para iniciar o i3Geo
Ao iniciar um mapa, o i3Geo utiliza arquivos de inicializao que
tambm so mapfiles
Esses arquivos montam o mapa inicial e o administrador do
i3Geo pode usar diferentes arquivos conforme desejar
O usurio final pode tambm empregar parmetros de
inicializao que modificam o comportamento do mapa default
Mapfiles so utilizados para configurar qualquer
outra camada que o i3Geo utiliza
Os arquivos mapfile criados formam um depsito de mapfiles
Cada mapfile nesse depsito como uma camada que ser
adicionada ao mapa
A organizao desse depsito compe o catlogo de camadas
do i3Geo
Exemplo de um mapfile
Exemplo de parte do editor de mapfiles
Em um mapa possvel a incluso de camadas
diretamente, sem passar pelo servidor e de forma
independente do Mapserver

Isso se faz utilizando-se a API que est disponvel no


mapa (GM ou OL)

Por exemplo, possvel adicionar camadas utilizando-se


os vrios tipos de layers suportados pelo OpenLayers

Nesses casos, as camadas so manipuladas


diretamente em Javascript e no so processadas via
PHP-Mapscript
Exemplos de interfaces

Um dos parmetros para iniciar um mapa a interface que ser utilizada


Interfaces so na prtica arquivos HTML ou PHP+HTML que contm
parmetros de configurao do mapa
Esses parmetros definem entre outras coisas:
A API que ser utilizada (Openlayers ou Google)
Extenso geogrfica do mapa
Camadas ligadas e desligadas
Funcionalidades permitidas (quais botes, quais itens de menu, etc)
Disposio dos elementos do mapa
Comportamento das ferramentas
Eventos (clicar no mapa por exemplo)
Openlayers com OSM no modo aquarela
GoogleMaps com estilo noturno
Mdulo de anlise de dados estatsticos
Interface simplificada para incluso em outras pginas
Exemplo de incluso em pginas
Opes em local fixo
Menu do tipo sanfona
Camadas em um menu lateral
Funcionalidades

Navegao
Simbologia
Atributos
Anlise
Navegao

So as ferramentas que permitem modificar a extenso geogrfica do mapa


Podemos classificar essas operaes em dois tipos:
Interao grfica: quando o usurio utiliza algum dispositivo de
apontamento (mouse por exemplo) para interagir com o mapa
Interao por atributos: quando o usurio precisa digitar algo para
que a operao seja executada
Interao grfica

Pan tocando a tela


Pan usando botes
Pan usando as teclas de direo
Zoom tocando a tela (inclusive movimento de pina)
Zoom usando a roda do mouse
Zoom desenhando um box na tela
Zoom manipulando o boto mvel de escala
Interao por atributos

Alterao do valor da escala numrica


Localizao de coordenadas de um ponto (o formulrio que mostra as
coordenadas do mouse o mesmo utilizado nessa opo)
Zoom para um elemento do mapa mostrado na tabela de atributos
Zoom para um tema
Zoom para uma extenso geogrfica
Zoom para um lugar
Navegao integrada
Algumas ferramentas operam de forma integrada com as operaes de
navegao

Exemplo
Navegao integrada

Com a navegao integrada


com o Google Maps possvel
traar rotas. O resultado
convertido em pontos e
adicionado como uma nova
camada ao mapa
Legenda

A legenda do mapa mostrada de diversas formas:


Na rvore de camadas
Em uma janela flutuante
Em uma guia fixa
Classes
A ferramenta legenda permite alterar
a classificao e a simbologia original,
definida pelo administrador do i3Geo
Para alterar a classificao possvel
utilizar tcnicas automticas para o
clculo dos intervalos ou definir os
valores manualmente
Exemplo de alterao da classificao

Simbologia
A ferramenta
legenda permite
ainda a
alterao da
simbologia
utilizada nas
classes
Ao clicar em um
smbolo o editor
aberto com
uma srie de
opes
Atributos

A tabela de atributos alfanumricos relacionada cada camada utilizada


em diferentes situaes
Para a escolha de valores que so parmetros em determinadas
operaes
Para incluir textos no mapa
Para localizao
Identificao

Identificar corresponde ao evento clicar no mapa atrelado busca pelos


registros existentes nas tabelas de atributos
No i3Geo existem duas formas de fazer isso:
Basta clicar no mapa em qualquer momento para exibir um balo de
informaes
Escolhe-se a opo identifica e depois feito o clique sobre o mapa
Balo de identificao

Ao configurar uma camada o administrador informa quais as colunas


sero utilizadas na operao de identificao
Quando o usurio clica no mapa essas camadas so pesquisadas e o
resultado mostrado no mapa
Identificao completa

A ferramenta identifica abre uma janela sobre o mapa com vrias opes:
Mostrar os valores encontrados para um ou para todos os temas do
mapa, mesmo os que no esto ligados
Identificao completa

Criar um buffer no ponto clicado


Identificao completa

Buscar dados no mesmo ponto clicado em sistemas de busca


existentes na internet
Incluso de textos
A incluso de textos pode ser feita das seguintes formas:
O usurio define o texto, suas propriedades e clica em um ponto no
mapa
O usurio define as propriedades e a fonte dos dados (coluna na
tabela de atributos) e clica no mapa
O usurio define a fonte dos dados e suas propriedades mas o
posicionamento feito de forma automtica
Exemplo de textos inseridos automaticamente
Visualizao da tabela de atributos

A ferramenta tabela mostra todos os registros de uma camada


Visualizao da tabela de atributos

Os registros podem ser marcados na tabela e marcados no mapa. Essa


seleo pode gerar uma nova camada, independente da original
Visualizao da tabela de atributos
Os registros marcados podem ser sumarizados ou pode-se criar um grfico
para representao dos valores
Visualizao da tabela de atributos

Outras opes incluem


Paginar a lista de registros
Vincular a listagem ao mapa, alterando-a conforme feita a
navegao
Remover linhas da listagem
Remover colunas
Ordenar por coluna
Mostrar na listagem o smbolo da classe em que se enquadra o
registro
Gerar um relatrio em HTML ou CSV
Abrir vrias tabelas de atributos para permitir a pesquisa integrada
entre elas
Anlise
As operaes de anlise de dados espaciais
no so comuns em mapas interativos na web

Isso se deve ao volume de processamento,


que pode sobrecarregar o servidor

O i3Geo disponibiliza algumas ferramentas de


anlise que operam de forma a minimizar
esse risco

A seguir so mostrados alguns exemplos


desses processos
Criao de Grades
As grades podem ser retangulares,
hexagonais ou pontuais

Servem para gerar amostras ou


agregaes de dados
Exemplo de uma grade hexagonal
sobreposta a um mapa de localidades
Exemplo de uso da ferramenta de clculo
de nmero de pontos em polgono e
gerao de uma legenda em cores
Mapa de calor calculado graas a
integrao entre o i3Geo e o R
Buffer
Seleo de elementos de um tema com
base em outro
Grfico de linha do tempo
Clculos entre geometrias
Clculo de distncias
Clculo de rea
Outras operaes de anlise incluem:

Clculo de distncia entre elementos de uma ou mais


camadas
Cruzamento entre uma camada de pontos e vrias
camadas poligonais ou raster
Centro mdio de uma distribuio de pontos
Centride
Eliminao de bordas entre polgonos de mesmo atributo
Triangulao
Seleo por atributos
Representao grfica (barras, linhas, pizzas, correlao,
etc.)
Grfico de perfis
Incluso de grficos no mapa (com base nos atributos de
cada elemento do mapa)
Catlogo de temas
As camadas configuradas para uso no i3Geo podem ser
organizadas em um catlogo de temas

O catlogo composto de menus, grupos e subgrupos

Cada mapfile registrado em um banco de dados de


administrao, passando a ser chamado de tema.
Temas recebem nomes e outros parmetros

Uma vez registrados, os temas podem ser inseridos no


catlogo
Telas do catlogo de temas
Usos mltiplos do catlogo de
temas

O catlogo utilizado em diferentes aplicativos


adicionais do i3Geo para mostrar a lista de
camadas autorizadas em determinado contexto

Download de dados
Acesso via WMS
Acesso via KML
Acesso via RSS
Exemplo de uso do catlogo em
outros aplicativos
Saiba mais
Como parte do Portal do Software Pblico Brasileiro
o i3Geo conta com um espao de colaborao
Ao se inscrever no PSPB o usurio pode se
inscrever como membro da comunidade
Os membros tem acesso pgina do i3Geo no
Portal
Frum

Wiki com a documentao


Lista de instituies usurias
Orientaes para download e instalao
Pgina inicial do PSPB
Comunidade i3Geo
Parceria gvSIG
O gvSIG um software livre para
geoprocessamento
uma soluo completa para uso em
computadores locais
O i3Geo possu algumas formas de integrao
com o gvSIG
Em funo dessa integrao, foi estabelecida uma
parceria entre os dois projetos
Com isso o i3Geo ganhou maior visibilidade
internacional e foram criadas listas de discusso
em Espanhol e Ingls
i3Geo no site do gvSIG
Espao de colaborao
Como software livre, a qualidade do i3Geo
depende da participao das pessoas
Essa participao se d de diferentes formas
No que se refere ao desenvolvimento de
cdigo, o i3Geo conta com um espao
colaborativo
Nesse espao o usurio pode apresentar
novas demandas e relatar erros no programa

Os desenvolvedores que quiserem colaborar


podem usar o sistema de versionamento de
cdigo
TRAC
Timeline
Roadmap
Tickets
Ohloh
Twitter
http://i3geo.com.br/
http://www.gvsig.org/web/home/project
s/i3Geo
http://www.softwarepublico.gov.br/
http://svn.softwarepublico.gov.br/svn/i3
geo/i3geo
http://devel.gvsig.org/svn/i3geo/
http://svn.softwarepublico.gov.br/trac/i3
geo/wiki
https://twitter.com/i3geo

You might also like