I3geo/Instalação

Origem: Wikilivros, livros abertos por um mundo aberto.

Instalação[editar | editar código-fonte]

Download[editar | editar código-fonte]

O I3Geo pode ser obtido no endereço: http://mapas.mma.gov.br/download

No diretório arquivos estão os arquivos compactados da última versão disponível, para Windows e Linux. Na versão Linux, o arquivo zip contém apenas o diretório i3geo, e na versão para Windows o diretório ms4w, que deve ser tratado como explicado nos tópicos seguintes.

O ms4w (veja) é um pacote para Windows que traz o Apache, PHP e Mapserver já instalados, bastando copiar a pasta ms4w para o diretório local (drive c:).

Requisitos para instalação[editar | editar código-fonte]

O seguinte software é necessário para o correto funcionamento do I3Geo:

  • Servidor Apache;
  • PHP 5;
  • Mapserver;
  • PHP Mapscript.
  • R + biblioteca spatstat ver. Caso o R não seja instalado, algumas funcionalidades de geração de gráficos e análises de distribuição de pontos, não poderão ser executadas.

No caso da compilação do Mapserver, geralmente realizada em sistemas Linux, deve-se utilizar as opções GEOS, WMS/WFS Client e WMS/WFS Server. Exemplo do retorno do comando mapserv.exe -v de uma instalação padrão:

MapServer version 4.8.3 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP OUTPUT=PDF OUTPUT=SWF OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=FREETYPE SUPPORTS=WMS_SERVER SUPPO RTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT SUPPORTS=WCS_SERVER SUPPORTS=THREADS SUPPORTS=GEOS INPUT=JPEG INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE DEBUG=MSDEBUG

As seguintes extensões devem também ser ativadas no PHP:

  • php_mbstring
  • php_gd
  • php_xmlrpc
  • php_xsl

Instalação padrão[editar | editar código-fonte]

O uso da instalação padrão é recomendado quando não é desejado alterar os arquivos originais do I3Geo, o que simplifica a instalação. No caso de já existir um servidor de internet, ou a estrutura de diretórios da instalação padrão não ser adequada, pode-se optar pela alteração desses arquivos.

Para a instalação padrão no sistema operacional Windows, basta copiar para a raiz do drive C o diretório ms4w e todo seu conteúdo. Se o ms4w já estiver instalado no computador, basta copiar o diretório i3geo para o diretório C:\ms4w\apache\htdocs\. Nesse caso, deve-se também configurar o arquivo c:\ms4w\apache\cgi-bin\php.ini conforme indicado no tópico anterior (diretiva para variáveis globais e extensões).

Para iniciar o I3Geo, ative primeiro o servidor Apache, dando um duplo clique no arquivo c:\ms4w\apache-install.bat. Após esse procedimento e não ocorrendo erros, abra o navegador de Internet e digite no lugar da URL http:\\localhost\i3geo.

No sistema operacional Linux, o software necessário ao funcionamento do I3Geo deve ser instalado a priori no computador. Estando esse software funcionando, crie o diretório /opt/www/html e copie o diretório i3geo, existente no arquivo zip, para esse diretório. Crie também o diretório /var/tmp/ms_tmp, dando direito de escrita e leitura para os grupos necessários a operação do Apache.

O diretório ms_tmp é utilizado pelo Mapserver para o armazenamento de arquivos de desenho do mapa, devendo estar disponível ao servidor web Apache para escrita e leitura. É necessário também editar os arquivos php.ini e httpd.conf, adaptando-os para os novos diretórios. Basicamente, o servidor Apache precisa reconhecer o diretório /opt/www/html como a raiz dos documentos web. Em muitas instalações pode ocorrer do servidor web não reconhecer o diretório ms_tmp como um diretório válido. Nesse caso, uma alternativa é criar um link simbólico dentro do diretório 'html' apontando para o ms_tmp.

Instalação específica[editar | editar código-fonte]

O I3Geo pode ser instalado em um diretório diferente do indicado no tópico anterior. Nesse caso, são necessárias alterações em alguns arquivos para que o local de instalação seja reconhecido. Essas alterações estão documentadas nos próprios arquivos listados abaixo.

  • i3geo/ms_configura.php
  • i3geo/aplicmap/geral1.map
  • i3geo/aplicmap/geral1windows.map
  • i3geo/aplicmapa/geral.htm

Descrição dos diretórios[editar | editar código-fonte]

O diretório i3geo contém os seguintes sub-diretórios:

  • aplicmap: arquivos map e html que são utilizados na inicialização e em algumas operações que necessitam de mapas básicos, utilizados como se fossem templates.
  • classesjs: programas em JavaScript utilizados no controle da interface principal.
  • classesphp: programas em PHP utilizados pelas ferramentas e pela interface principal.
  • css: arquivos do tipo css com os estilos de formatação das páginas html.
  • documentação: documentação do sistema.
  • ferramentas: arquivos html, javaScript PHP utilizados em funções específicas, geralmente abertas como janelas internas na interface principal da aplicação.
  • imagens: ícones e demais figuras.
  • menutemas: arquivos utilizados na criação do menu para adição de temas.
  • pacotes: arquivos dos pacotes de terceiros integrados ao I3Geo.
  • symbols: arquivos com a simbologia utilizada na representação dos temas no mapa.
  • temas: arquivos .map correspondentes aos temas disponíveis para inclusão no mapa.
  • exemplos: arquivos com exemplos de uso e customização do I3Geo.

Utilização do R[editar | editar código-fonte]

Configuração[editar | editar código-fonte]

Inclusão de temas (camadas)[editar | editar código-fonte]

Alguns arquivos no formato shape file são fornecidos junto com o I3Geo possibilitando a geração de um mapa do Brasil. Esses dados são utilizados apenas para demonstrar que o mapa interativo está funcionando, devendo ser feita a adequação dos mesmos para atender as necessidades dos usuários do sítio que está sendo construído.

Os formatos de dados que podem ser visualizados no I3Geo são os mesmos aceitos pelo Mapserver, que por sua vez, utiliza as bibliotecas OGR, GDAL e implementações próprias de acesso a dados.

Tendo os dados preparados e organizados, seja na forma de arquivos ou bancos de dados, é possível incluir no menu de adição de temas as camadas desejadas. Para isso, é necessário a criação de arquivos do tipo mapfile, que definem os parâmetros de apresentação de uma camada, e a organização desses no arquivo XML usado pelo I3Geo na apresentação do menu.

Configuração de uma camada[editar | editar código-fonte]

Para cada nova camada a ser incluída no I3Geo, deve-se criar um arquivo mapfile e armazená-lo no diretório i3geo\temas.

Um arquivo mapfile típico é mostrado a seguir (note que esse arquivo não precisa de todas as TAGS exigidas pelo Mapserver).

Arquivo municip.map: (o caractere # indica uma linha comentada)

SYMBOLSET ../symbols/simbolos.sym 
FONTSET   "../symbols/fontes.txt" 
LAYER 
 #código da camada
 NAME municip
 #tipo de representação 
 TYPE line
 #status de visibilidade off|default
 STATUS off
 #endereço do shape file, se for arquivo desse tipo
 #DATA /opt/www/html/brasil/limitespol/muni2001
 #tipo de conexão se for postgis
 CONNECTIONTYPE postgis
 #parâmetros de conexão com o banco
 CONNECTION "user=geodados password=geodados dbname=geodados host=xx.xx.xx port=5432"
 #select de acesso aos dados
 DATA "the_geom FROM (select * FROM brasil.bralim6) as foo USING UNIQUE gid USING SRID=4291" 
 #deixe sempre assim
 TEMPLATE "none.htm"
 #inicio da definição de metadados
 METADATA 
   #lista dos itens existentes na tabela de atributos da camada
   #e que serão mostrados nas opções de identificação
   ITENS "codigo,nome2,uf,sit_2001,nome2,nome2,meso,nmeso,micro,nmicro"
   #descrição dos itens, um para cada item
   ITENSDESC "Código,Nome,Estado,Situação em 2001,Informações do IBGE,Área oficial 
              IBGE,Mesorregião,-,Microrregião,-"
   #opcional. lista de links que serão incluídos
   ITENSLINK ",,,,,http://www.ibge.gov.br/home/geociencias/areaterritorial/area.php?codigo=[geocodigo]"
   #opcional. Item que será utilizado como etiqueta
   TIP "nome2"
   #nome que será mostrado na legenda
   TEMA "Municípios"
   #o tema possuí classes?
   CLASSE "SIM"
   #opcional. Escala da fonte dos dados
   ESCALA "250000"
   #opcional. Será mostrado um ícone ao lado do tema permitindo seu download
   DOWNLOAD "sim"
   #opcional. Define se o tema ficará escondido, não aparecendo nas listagens e legenda
   #ESCONDIDO "sim"
 #fim da definição do metadado
 END
 #início da definição de uma classe
 CLASS
   #nome da classe. Deixe em branco se só tiver uma classe
   NAME ' '
   #cor
   COLOR 150 100 100
 #fim da definição de uma classe
 END 
#fim da definição da camada
END 
#fim do mapfile
END 

Mais exemplos[editar | editar código-fonte]

Conexão com PostGis e mais de uma classe[editar | editar código-fonte]
SYMBOLSET ../symbols/simbolos.sym
FONTSET   "../symbols/fontes.txt"
LAYER
  NAME bioma # ok
  TYPE Polygon
  STATUS OFF
  TEMPLATE "none.htm"
  CONNECTIONTYPE postgis
  CONNECTION "user=geodados password=geodados dbname=geodados host=10.1.1.36 port=5432"
  DATA "the_geom FROM (select * FROM brasil.brareg1) as foo USING UNIQUE gid USING SRID=4291"
  METADATA
   ITENS "cd_legenda"
   ITENSDESC "Nome"
   TEMA "Bioma"
   CLASSE "SIM"
   ESCALA "5000000"
 END
 TRANSPARENCY 80
 CLASS
   Name 'Amazônia'
   EXPRESSION ('[id]'eq '1')
   COLOR 255 255 204
   OUTLINECOLOR 50 50 50
 END  # CLASS
 CLASS
   Name 'Caatinga'
   EXPRESSION ('[id]'eq '2')
   COLOR 232 220 201
   OUTLINECOLOR 50 50 50
 END  # CLASS
 CLASS
   Name 'Cerrado'
   EXPRESSION ('[id]'eq '3')
   COLOR 244 214 0
   OUTLINECOLOR 50 50 50
 END  # CLASS
 CLASS
   Name 'Pantanal'
   EXPRESSION ('[id]'eq '6')
   COLOR 200 200 241
   OUTLINECOLOR 50 50 50
 END  # CLASS
 CLASS
   Name 'Pampa'
   EXPRESSION ('[id]'eq '5')
   COLOR 143 189 192
   OUTLINECOLOR 50 50 50
 END  # CLASS
 CLASS
   Name 'Mata Atlântica'
   EXPRESSION ('[id]'eq '4')
   COLOR 218 255 216
   OUTLINECOLOR 50 50 50
 END  # CLASS				
END
END
Conexão com PostGis e SQL mais complexo[editar | editar código-fonte]
SYMBOLSET ../symbols/simbolos.sym
FONTSET   "../symbols/fontes.txt"
LAYER
 NAME escolastups # ok
 TYPE point
 STATUS off
 CONNECTIONTYPE postgis
 CONNECTION "user=geodados password=geodados dbname=geodados host=10.1.1.36 port=5432"
 DATA "the_geom FROM (select the_geom,gid from public.censoescolar2006 as escolas,brasil.bracom5 as tups
 where escola_enderecocep = logradouro_cep and telefone_publico = num_fonepub1) 
 as foo USING UNIQUE gid USING SRID=4291"
 TEMPLATE "none.htm"
 METADATA
  TEMA "Escolas"
  CLASSE "SIM"
  ESCALA "250000"
 END
 TRANSPARENCY 100
 CLASS
  NAME ' '
  symbol "ponto"
  size 4
  COLOR 255 0 0
 END
END
Imagem de satélite[editar | editar código-fonte]
SYMBOLSET ../symbols/simbolos.sym
FONTSET   "../symbols/fontes.txt"
LAYER
 NAME bluemarble # ok
 TYPE RASTER
 STATUS off
 template "none.htm"
 METADATA
  TEMA "Blue Marble"
  CLASSE "NAO"
  ITENS "values,value_0,value_1,value_2"
  ITENSDESC "Valores,Banda_1,Banda_2,Banda_3"
 END
 TRANSPARENCY 70
 DATA brasil/modis/bluemarble_southamerica.tif
END
END
Conexão com WMS[editar | editar código-fonte]
SYMBOLSET ../symbols/simbolos.sym
FONTSET   "../symbols/fontes.txt"
LAYER
 NAME "biota"
 TYPE RASTER
 STATUS off
 CONNECTION "http://saruman.cria.org.br/cgi-bin/mapserv?map=/var/www/wms/biota_wms.map"
 CONNECTIONTYPE WMS
 METADATA
  "wms_srs"             "EPSG:4326"
  "wms_name"            "biota_coletas_wms"
  "wms_server_version"  "1.1.0"
  "wms_formatlist"      "image/png"
  "wms_format"          "image/png"
  "wms_connectiontimeout" "120"
  TEMA "BIOTA - Coletas"
  CLASSE "NAO"
 END
 TRANSPARENCY 100
END
END
Raster com tiles[editar | editar código-fonte]
LAYER
 NAME raster25
 TYPE RASTER
 TILEINDEX "/opt/www/html/geodados/brasil/basecarto/cigex/25000/base/index.shp"
 TILEITEM "LOCAL"
 TEMPLATE "none.htm"
 STATUS default
 MAXSCALE 100000
 METADATA
  TEMA "Planialtimetria"
  ITENS "value_0,value_1,value_2"
  ITENSDESC "Nível 5,Nivel 4,Nivel 3"
  CLASSE "SIM"
 END
END
Transformação de polígono em centroide[editar | editar código-fonte]
SYMBOLSET "../symbols/simbolos.sym"
FONTSET   "../symbols/fontes.txt"
LAYER
 NAME quilombolas_muni # ok
 TYPE point
 STATUS off
 CONNECTIONTYPE postgis
 CONNECTION "user=geodados password=geodados dbname=geodados host=10.1.1.36 port=5432"
 DATA "the_geom FROM (select brasil.bralim10.gid,centroid(brasil.bralim10.the_geom) as 
 the_geom,brasil.bralim10.geocodigo,brasil.bralim10.nome,brasil.bralim10.uf, 
 count(brasil.bralim14.municipio) as qtd from brasil.bralim10 LEFT JOIN brasil.bralim14 ON 
 (brasil.bralim10.geocodigo = brasil.bralim14.geocodigo) group by brasil.bralim10.gid,centroid
 (brasil.bralim10.the_geom),brasil.bralim10.geocodigo,brasil.bralim10.nome,brasil.bralim10.uf 
 having count(brasil.bralim14.municipio) > 0) as foo USING UNIQUE gid USING SRID=4291"
 TEMPLATE "none.htm"
 METADATA
  ITENS "geocodigo,nome,uf,qtd"
  ITENSDESC "Cód. IBGE,Município,UF,Quantidade"
  TEMA "Número Comunidades Quilombolas/Município"
  CLASSE "SIM"
  ESCALA ""
 END
 CLASS
  NAME ' '
  COLOR 252 18 18
  OUTLINECOLOR 179 178 178
  SIZE 4
  SYMBOL "ponto"
 END
END
END

Inclusão de camadas no menu de temas[editar | editar código-fonte]

Após a criação do arquivo .map, com a representação do tema, é necessário editar o arquivo menutemas/menutemas.xml, para que a nova camada fique disponível no menu de adição de temas.

O arquivo menutemas.xml utiliza o formato XML, podendo ser manipulado com qualquer editor de textos. Como XML, a estrutura do texto deve ser bem formada, respeitando-se a hierarquia de itens e seu correto fechamento, como no exemplo abaixo:

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="menutemas.xsl"?>
<TEMASGEO>
  <CABECALHO></CABECALHO>
  <GRUPO>
     <GTIPO>Base cartográfica</GTIPO>
     <DTIPO>Rios, estradas, relevo, etc. com abrangência contínua</DTIPO>
       <SGRUPO>
     	  <SDTIPO>Hidrografia</SDTIPO>
         <TEMA>
           <TID>hidrografia</TID>
           <TNOME>Hidrografia</TNOME>
           <TDESC>Rios, lagos e elementos associados. O conteúdo apresentado depende da escala.</TDESC>
         </TEMA>
     	</SGRUPO>
     	<SGRUPO>
         <SDTIPO>Transporte</SDTIPO>
         <TEMA>
           <TID>transporte</TID>
           <TNOME>Transporte</TNOME>
           <TDESC>Rodovias, ferrovias e elementos associados. O conteúdo apresentado depende da scala.</TDESC>
           <TLINK>mapas.mma.gov.br</TLINK>
         </TEMA>
     	</SGRUPO>
  </GRUPO>
</TEMASGEO>

O XML é organizado em grupos, subgrupos e temas, sendo que em cada nível existem atributos específicos, como mostrado abaixo:

<TEMASGEO>
  <GRUPO>
    <GTIPO>Nome do grupo</GTIPO>
    <DTIPO>Descrição do grupo</DTIPO>
    <SGRUPO>
      <SDTIPO>Nome do subgrupo</SDTIPO>
      <TEMA>
        <TID>ID do tema, corresponde ao nome do mapfile criado, sem a extensão “.map” </TID>
        <TNOME>nome longo do tema</TNOME>
        <TDESC>descrição do tema</TDESC>
        <TLINK>link para a fonte ou outra informação adicional sobre o tema. Será mostrado como um link no menu de adição de temas</TLINK>
        <DOWNLOAD>opcional, escreva SIM aqui para que esse tema seja mostrado na lista de temas para download</DOWNLOAD>  
      </TEMA>
    </SGRUPO>
  </GRUPO>
</TEMASGEO>

Não existem limites para o número de temas em um menu e sempre deve haver grupos e subgrupos para organizar os temas, mesmo que exista apenas um tema. O arquivo XSL indicado no início do XML não é utilizado pelo i3Geo, podendo ser customizado para outro tipo de representação que for de interesse.

A estruturação do arquivo menutemas.xml deve ser feita com cuidado, uma vez que erros na hierarquia ou no fechamento/abertura dos itens, podem gerar problemas. Para verificar se o arquivo está correto, pode-se utilizar o próprio navegador de internet para visualizá-lo. Caso ocorra algum problema, o navegador irá apontar o erro, caso contrário, tem-se uma visualização como mostrado na imagem abaixo. Observe ainda que o caractere &, utilizado muitas vezes na criação de links, deve ser substituído por & amp;, caso contrário, o interpretador XML provocará um erro na abertura.

Na versão 3.3 do I3Geo, os temas podem ser incluídos fora dos grupos e subgrupos, ou seja, podem existir temas sem pai na hierarquia do XML.

O arquivo com os temas é também utilizado pelo programa i3geo/ogc.php, que gera 'WEB Services' nos padrões OGC, automaticamente. Se vc não deseja que determinado tema seja incluído na lista de camadas dos web services, é necessário incluir nesse tema o item:

<OGC>nao</OGC>

Você pode também criar perfis, assim os temas serão mostrados no menu apenas quando o perfil for o mesmo da variável de inicialização 'perfil'. Para utilizar um perfil, basta acrescentar o item <PERFIL>, como mostrado abaixo:

menutemas/menutemas.xml, para que a nova camada fique disponível no menu de adição de temas.

O arquivo menutemas.xml utiliza o formato XML, podendo ser manipulado com qualquer editor de textos. Como XML, a estrutura do texto deve ser bem formada, respeitando-se a hierarquia de itens e seu correto fechamento, como no exemplo abaixo:

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="menutemas.xsl"?>
<TEMASGEO>
  <CABECALHO></CABECALHO>
  <GRUPO>
     <GTIPO>Base cartográfica</GTIPO>
     <DTIPO>Rios, estradas, relevo, etc. com abrangência contínua</DTIPO>
       <SGRUPO>
     	  <SDTIPO>Hidrografia</SDTIPO>
         <TEMA>
           <TID>hidrografia</TID>
           <TNOME>Hidrografia</TNOME>
           <TDESC>Rios, lagos e elementos associados. O conteúdo apresentado depende da escala.</TDESC>
         </TEMA>
     	</SGRUPO>
     	<SGRUPO>
         <SDTIPO>Transporte</SDTIPO>
         <TEMA>
           <TID>transporte</TID>
           <TNOME>Transporte</TNOME>
           <TDESC>Rodovias, ferrovias e elementos associados. O conteúdo apresentado depende da scala.</TDESC>
           <TLINK>mapas.mma.gov.br</TLINK>
         </TEMA>
     	</SGRUPO>
  </GRUPO>
</TEMASGEO>

O XML é organizado em grupos, subgrupos e temas, sendo que em cada nível existem atributos específicos, como mostrado abaixo:

<TEMASGEO>
  <GRUPO>
    <GTIPO>Nome do grupo</GTIPO>
    <DTIPO>Descrição do grupo</DTIPO>
    <SGRUPO>
      <SDTIPO>Nome do subgrupo</SDTIPO>
      <PERFIL>a,b</PERFIL>
      <TEMA>
        <PERFIL>a</PERFIL>
        <TID>ID do tema, corresponde ao nome do mapfile criado, sem a extensão “.map” </TID>
        <TNOME>nome longo do tema</TNOME>
        <TDESC>descrição do tema</TDESC>
        <TLINK>link para a fonte ou outra informação adicional sobre o tema. Será mostrado como um link no menu de adição de temas</TLINK>
        <DOWNLOAD>opcional, escreva SIM aqui para que esse tema seja mostrado na lista de temas para download</DOWNLOAD>  
      </TEMA>
      <TEMA>
        <PERFIL>b</PERFIL>
        <TID>ID do tema, corresponde ao nome do mapfile criado, sem a extensão “.map” </TID>
        <TNOME>nome longo do tema</TNOME>
        <TDESC>descrição do tema</TDESC>
        <TLINK>link para a fonte ou outra informação adicional sobre o tema. Será mostrado como um link no menu de adição de temas</TLINK>
        <DOWNLOAD>opcional, escreva SIM aqui para que esse tema seja mostrado na lista de temas para download</DOWNLOAD>  
      </TEMA>
    </SGRUPO>
  </GRUPO>
</TEMASGEO>

Os perfis podem ser incluídos em qualquer nível, ou seja, subgrupo e tema. Para indicar o perfil para o I3Geo, na inicialização deve-se usar a variável &perifl, exemplo:

i3geo/ms_criamapa.php?perfil=a

Inclusão de endereços para conexão remota[editar | editar código-fonte]

No menu de adição de temas do i3Geo existe uma opção que possibilita ao usuário acessar um tema a partir de uma conexão com um serviço no padrão OGC (WMS) e também via Geo RSS.

A lista de endereços desses serviços é buscada em arquivos RSS.

Para incluir um RSS na lista que aparece no menu de seleção, aberto quando o usuário clica no item Conectar com WMS ou Conectar com GeoRSS, é necessário editar o arquivo i3geo/ferramentas/conectarwms/index.htm e i3geo/ferramentas/conectargeorss/index.htm, respectivamente. Esses arquivos são HTMLs que contém a lista de serviços e o endereço, como mostrado no exemplo abaixo.

g_RSSwms = new Array("http://mapas.mma.gov.br/i3geo/menutemas/servicoswms.xml")

Para adicionar um serviço basta incluir um novo item no array, seguindo o exemplo já existente, para excluir, basta apagar o item.

Por padrão, o I3Geo busca a lista de serviços no arquivo menutemas/servicoswms.xml e menutemas/servicosgeorss.xml

Para incluir um serviço ou excluir, basta editar esse arquivo.

Inclusão de aplicações que adicionam novas camadas[editar | editar código-fonte]

No menu de adição de temas, após a árvore Temas é incluída a árvore sistemas. Nessa árvore são listados aplicativos que quando executados geram novas camadas de temas. Assim, é possível iniciar uma aplicação com diálogos e processos específicos para a adição de temas.

A lista de aplicações incluídas no item sistemas é buscada no arquivo menutemas/sistemas.xml. Da mesma forma que o arquivo menutemas.xml, descrito anteriormente, o arquivo sistemas.xml segue a formatação XML, com a estrutura mostrada abaixo.

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="menutemas.xsl"?>
  <SISTEMAS>
    <SISTEMA>
      <NOMESIS>SIGEPRO - ações do MMA</NOMESIS>
      <PERFIL></PERFIL>
      <FUNCAO>
        <NOMEFUNCAO>Compor mapa</NOMEFUNCAO>
        <ABRIR>../../combo.php?n=1</ABRIR>
        <JANELAW>500</JANELAW>
        <JANELAH>400</JANELAH>
        <PERFIL></PERFIL>
      </FUNCAO>
    </SISTEMA>
  </SISTEMAS>

Caso não existam aplicações para adicionar no menu, o arquivo 'ms_congigura.php deve ser alterado (veja tópico específico sobre a instalação e configuração do i3Geo).

Como pode-se observar no exemplo acima, é possível a inclusão de dois níveis na árvore que aparece no menu. O primeiro nível é nominado pelo item <NOMESIS> e o segundo por <NOMEFUNCAO>. Para cada novo grupo de aplicações, é necessário incluir um item <SISTEMA> </SISTEMA> e para cada nova função um item <FUNCAO></FUNCAO>. Quando uma função é escolhida pelo usuário, o programa indicado em <ABRIR> é executado em uma janela integrada no i3Geo, os itens <JANELAW> e <JANELAH> controlam o tamanho dessa janela (largura e altura respectivamente).

Tanto no nível SISTEMA como em FUNCAO, pode-se incluir uma lista, separada por vírgulas, dos perfis de usuário que podem acessar o sistema ou função. O perfil do usuário atual do mapa é definido na inicialização do I3Geo.

Inclusão de aplicações no menu de identificação[editar | editar código-fonte]

De forma semelhante à inclusão de aplicações no menu de adição de temas, é possível incluir na janela de identificação opções que fazem um processamento especial tendo como base o ponto clicado no mapa.

Para adicionar uma aplicação na janela de identificação, é necessário indicar no arquivo ms_configura.php o endereço do arquivo XML (por padrão menutemas/identifica.xml) que contém a lista de aplicações. Esse arquivo XML deve ser formatado como no exemplo:

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="menutemas.xsl"?>
<SISTEMAS>
  <FUNCAO>
    <NOMESIS>SIGEPRO</NOMESIS>
    <ABRIR>"http://endereco/r.php?x="+xpt+"&y="+ypt</ABRIR>
    <TARGET>pode ser self ou blank</TARGET>
  </FUNCAO>
</SISTEMAS>

Observe que o programa “r.php” utiliza os parâmetros 'x' e 'y' que são obtidos das variáveis 'xpt' e 'ypt', fornecidas pelo próprio I3Geo.

Fontes[editar | editar código-fonte]

As fontes para o desenho de textos no mapa, são armazenadas no diretório symbols. As fontes distribuídas com o I3Geo são todas livres, mas você pode acrescentar outras fontes. Para isso, vc deve:

  • Copiar o arquivo com a fonte no diretório symbols.
  • Editar o arquivo fontes.txt, acrescentando as novas fontes.

Escondendo a string de conexão com o banco de dados[editar | editar código-fonte]

Em função de uma característica do Mapserver, a string de conexão com o banco de dados é incluída no arquivo mapfile, ficando exposta e podendo ser visualizada em algumas situações.

Essa característica, apesar de não representar problemas de segurança, pode não ser desejada em algumas situações.

O I3Geo, a partir da versão 3.6, implementa um esquema que possibilita esconder a string de conexão em bancos Postgis. Para que isso ocorra, é necessário incluir no arquivo ms_configura.php a varíável $postgis_mapa, como por exemplo:

$postgis_mapa = "user=geo password=geo dbname=geo host=localhost port=5432";

Caso não exista a necessidade de implementar esse esquema de substituição, deve-se manter a variável como:

$postgis_mapa = "";

Além dessa variável, é necessário excluir dos arquivos mapfile (existentes em i3geo/temas) a string de conexão, por exemplo:

CONNECTION " "

Programas especiais[editar | editar código-fonte]

Programas criados para automatizar operações de manutenção do I3Geo:

  • classesjs/compactajs.php: compacta os arquivos javaScript (.js) eliminando caracteres dispensáveis, diminuindo o tamanho dos mesmos e aumentando a velocidade de carga da aplicação. Deve ser executado sempre que ocorrer alterações nos arquivos não compactados existentes no diretório classesjs.
  • testainstal.php: faz um teste básico da instalação do I3Geo.

Documentação[editar | editar código-fonte]

A documentação dos códigos do I3Geo utiliza o pacote NaturalDocs [www.naturaldocs.org ver]. Instale o NaturalDocs em c:\naturaldocs e execute o programa c:\ms4w\apache\htdocs\i3geo\documentacao\js\local.bat para atualizar a documentação.

Atualização[editar | editar código-fonte]

Para atualizar o I3Geo basta fazer o download da nova versão e copiar os arquivos para os locais adequados. Geralmente não se deve alterar os arquivos de configuração, como o ms_configura e aqueles existentes no diretório aplicmap. Para não perder o menu com os temas e os arquivos correspondentes aos temas, não sobreponha os diretórios menutemas e temas com a nova versão.

Inicialização do I3Geo[editar | editar código-fonte]

A inicialização do i3Geo é feita sempre pelo programa i3geo/ms_criamapa.php, esse programa utiliza parâmetros de inicialização (ver documentação dos códigos PHP) que podem alterar a apresentação do mapa, tais como a extensão geográfica, temas já ativos, temas que iniciam de forma visível, etc.

Ao iniciar o mapa, são criados diretórios temporários no endereço de arquivos temporários do Mapserver. Nesses diretórios são copiados os arquivos necessários para o funcionamento do i3geo, principalmente o arquivo 'mapfile' inicial (por padrão 'aplicmap/geral1.map' ou 'aplicmap/geral1windows.map'). As funções do mapa interativo utilizam esse 'mapfile' temporário para recuperar os parâmetros necessários ao desenho do mapa.

Esse esquema garante uma grande flexibilidade para a aplicação, pois qualquer função de processamento pode ler e gravar no arquivo de mapa temporário, não havendo interferências entre mapas ou limites quanto ao número de temas disponíveis ao usuário.

Exemplos:

  • Inicialização normal: utiliza os parâmetros padrão
mapas.mma.gov.br/i3geo/ms_criamapa.php
  • Inicialização com debug: ativa o modo de debug nos programas em PHP que rodam no servidor. Isso permite o uso de programas como o Firebug, do Firefox, para verificação mais detalhada de erros
mapas.mma.gov.br/i3geo/ms_criamapa.php?debug=sim

  • Inicialização com temas adicionais: abre o mapa já com alguns temas incluídos
mapas.mma.gov.br/i3geo/ms_criamapa.php?temasa=bioma estadosl

  • Inicialização com temas adicionais e temas visíveis: inclui temas e torna-os visíveis
mapas.mma.gov.br/i3geo/ms_criamapa.php?temasa=bioma estadosl&layers=bioma

  • Inicialização enquadrando o mapa: altera a extensão geográfica padrão
mapas.mma.gov.br/i3geo/ms_criamapa.php?temasa=bioma estadosl&layers=bioma
&mapext=-61.659833758812 -22.167229487155 -51.653964228299 -14.563251436222

  • Inicialização adicionando pontos: mostra pontos no mapa
mapas.mma.gov.br/i3geo/ms_criamapa.php?temasa=bioma estadosl&layers=bioma
&mapext=-61.659833758812 -22.167229487155 -51.653964228299 -14.563251436222
&pontos=-56 -18&nometemapontos=Tema de pontos

  • Inicialização com uma interface diferente: utiliza uma "cara" diferente para o mapa
mapas.mma.gov.br/i3geo/ms_criamapa.php?interface=../mapas/aplic/atlasrh/mapa.htm
&caminho=/opt/www/html/i3geo/&temasa=/opt/www/html/mapas/aplic/atlasrh/mapa.map estadosl
&mapext=-54.397381965334 -21.003355295685 -27.646996077635 -0.67435275135509
  • Mapfile diferente: utiliza um mapfile específico na inicialização
mapas.mma.gov.br/i3geo/ms_criamapa.php?base=teste

No diretório i3geo/exemplos existem alguns exemplos que mostram maneiras de customizar a iniciallização do I3Geo. Além dos links mostrados acima, é possível iniciallizar o I3Geo incluindo programas em PHP ou funções que serão executados. Um exemplo dessa forma de inicialização é mostrado em i3geo/exemplos/executafuncao.php.

Processo de inicialização[editar | editar código-fonte]

1.Inclui o arquivo de funções 'classesphp/funcoes_gerais.php'.

2.Processa as variáveis de sessão.

3.Apresenta a mensagem de 'aguarde' caso o parâmetro 'interface' não esteja definido.

4.Verifica se os arquivos de configuração existem, caso contrário, aborta a inicialização.

5.Inclui o arquivo 'ms_configura.php'.

6.Verifica o sistema operacional do servidor para definir qual arquivo 'mapfile' deve ser utilizado na inicialização.

7.Verifica se os parâmetros de inicialização foram especificados ou não, nesse último caso, utiliza os parâmetros padrão.

8.Cria os arquivos temporários no diretório 'ms_tmp'.

9.Verifica se devem ser incluídos novos temas no mapa padrão e faz a inclusão.

10.Verifica quais temas devem aparecer ligados na inicialização do mapa.

11.Aplica os parâmetros identificados no item 6.

12.Salva o 'mapfile' temporário.

13.Verifica se existe algum programa ou função que deve ser executado sobre o arquivo 'mapfile' criado (parâmetro de inicialização executa).

14. Caso existam programas, os mesmos são incluídos. Esses programas podem operar sobre o arquivo 'mapfile' criado (variável $tmpfname).

15. Abre o mapa no navegador.

Configuração da apresentação[editar | editar código-fonte]

A apresentação do mapa é definida em arquivos HTML e CSS. Esses arquivos podem ser alterados ou criados outros para a customização da apresentação do mapa. Os arquivos CSS utilizados estão no diretório “css” e podem ser modificados conforme o desejado.

O arquivo HTML padrão utilizado nos mapas é o “aplicmap/geral.htm”. Esse arquivo está comentado de forma a tornar-se auto-explicativo. Os botões de ferramentas e outras funcionalidades do mapa podem ser excluídos ou reposicionados sem prejuízos no funcionamento do I3Geo.

Nesse arquivo HTML existem uma série de variáveis que podem alterar algumas características da interface, por exemplo, não abrir o mapa de referência, não abrir a janela de mensagens, iniciar com determinada guia aberta, etc.

Acesso ao GoogleMaps[editar | editar código-fonte]

Para que a ferramenta de integração com o Google Maps funcione, é necessário cadastrar o servidor onde está rodando o I3Geo no google veja.

Recebida a chave de acesso, basta incluí-la no arquivo i3geo/ferramentas/googlemaps/index.htm, na linha:

<script language="JavaScript" type="text/javascript" src="http://maps.google.com/maps?
file=api&v=1&key=digite_aqui_a_chave">

Visualização em 3D[editar | editar código-fonte]

A visualização em 3d (ou melhor, 2.5d) é ainda experimental no I3Geo. A sua implementação é baseada na criação de um arquivo wmrl no lado do servidor, após o arquivo ter sido gerado, é indicado o link para o usuário acessar o arquivo. Para que o modelo 3d possa ser visto, o usuário precisa ter instalado em sua máquina um programa ou plugin para o navegador de internet que estiver usando.

Para a geração do modelo wmrl, o I3Geo utiliza um arquivo .map que contém o tema com os valores de Z. O nome desse arquivo é definido na variável g_3dmap existente no arquivo aplicmap/geral.htm, por default, essa variável é definida como g_3dmap = "3dmap.map";.

Sistemas integrados[editar | editar código-fonte]

Cliente de web service[editar | editar código-fonte]

Com o "WSCliente" é possível acessar serviços que retornam dados textuais e mapas, sendo utilizado para cadastrar, divulgar e fornecer um meio rápido de verificação dos serviços disponíveis.

A inclusão dos links para os serviços utiliza o padrão RSS, dessa forma, os serviços de cada instituição podem ser incluídos e atualizados permanentemente.

Para acessar o cliente utilize o endereço

http://mapas.mma.gov.br/i3geo/wscliente.htm

Para incluir serviços na lista disponível veja a documentação incluída no próprio arquivo html.

Download de dados[editar | editar código-fonte]

Essa aplicação lê o arquivo menutemas.xml e lista os temas que permitem download. É uma aplicação útil para fornecer aos usuários o acesso aos dados. A aplicação pode ser configurada também para mostrar links para outras bases de dados, nesse caso, a lista de links pode ser mantida no arquivo menutemas/linksdownload.xml.

O endereço para acesso é:

http://mapas.mma.gov.br/i3geo/datadownload.htm

Gerador automático de Web services OGC[editar | editar código-fonte]

Com base nos temas incluídos no menutemas.xml, esse aplicativo gera automaticamente webservices no padrão OGC. Para ver a sintaxe desse programa, utilize:

http://mapas.mma.gov.br/i3geo/ogc.php?ajuda=sim

O endereço do web service é

http://mapas.mma.gov.br/i3geo/ogc.php

Caso você queira um web service de um tema específico, utilize:

http://mapas.mma.gov.br/i3geo/ogc.php?tema=codigo_do_tema

O código do tema corresponde ao código existente no arquivo menutemas.xml.

Para evitar que um número muito grande de temas seja incluído, você pode especificar um range, por exemplo:

http://mapas.mma.gov.br/i3geo/ogc.php?intervalo=0,5

Gerador de links[editar | editar código-fonte]

O gerador de links é uma aplicação que possibilita ao usuário criar, de forma interativa, links customizados para abrir o I3Geo. Na interface pode-se escolher os temas que farão parte do mapa, definir a abrangência espacial, etc.

Exemplo:

http://mapas.mma.gov.br/i3geo/geradordelinks.htm

FAQ[editar | editar código-fonte]

Eu posso alterar os códigos do I3Geo e redistribuí-lo?[editar | editar código-fonte]

Sim. O I3Geo é licenciado como GPL, estando sujeito as regras desse tipo de licença.

Como eu posso testar a instalação do I3Geo?[editar | editar código-fonte]

Rode o programa i3geo/testainstal.php no seu navegador.

Criei um tema mas não consigo ver no I3Geo, como posso testar esse tema?[editar | editar código-fonte]

Rode o programa i3geo/testamapfile.php, disponível na versão 2.9.

O I3Geo está abrindo corretamente, mas a imagem do mapa não aparece, qual o problema?[editar | editar código-fonte]

Provavelmente o Apache não está reconhecendo o diretório ms_tmp como um diretório web. Crie um link simbólico no mesmo diretório onde está o i3geo apontando para o ms_tmp.

Com o tempo o diretório ms_tmp fica cheio, o que devo fazer?[editar | editar código-fonte]

O diretório ms_tmp é usado para armazenar os dados temporários de cada mapa, você deve apagá-lo de tempos em tempos, o que pode ser feito de forma automática, utilize algum programa do seu sistema operacional para programar essa limpeza.

A opção de inclusão de textos não funciona[editar | editar código-fonte]

Provavelmente as fontes existentes no diretório i3geo/symbols não são adequadas ao seu sistema operacional. Copie para esse diretório outras fontes existentes no seu sistema.

A guia 'mapas' não mostra nada[editar | editar código-fonte]

Edite o arquivo ms_configura e defina a variável de busca do arquivo xml para o local de sua instalação.