Inicializa o I3Geo via URL ms_criamapa.php

Cria os diretórios temporários para o i3Geo e o mapfile que será utilizado no mapa.  Esse é o programa principal de inicialização, podendo ser chamado diretamente pelo navegador web.

Com o uso de parâmetros específicos é possível alterar o mapa padrão criado no processo de inicialização, como por exemplo, adicionando-se novas camadas ou modificando-se a abrangência espacial do mapa.

A inicialização padrão utiliza uma interface HTML com todas as funcionalidades existentes, porém, é possível escolher outro HTML para a apresentação do mapa, permitindo a criação de mapas com uma interface customizada.

Os parâmetros podem ser utilizados na chamada do i3geo via navegador, p.e.,

http://localhost- /i3geo- /ms_criamapa.php?temasa=estadosl

A ordem dos parâmetros não é importante, mas o primeiro deve ser precedido de “?”.  Os demais parâmetros devem ser acrescentados sempre precedidos de “&”, p.e.,

http://localhost- /i3geo- /ms_criamapa.php?temasa=estadosl bioma&layers=estadosl bioma

Caso a inicialização do i3geo ocorra por um outro programa PHP, o ms_criamapa.php deve ser executado via include.  Nesse caso, os parâmetros devem ser especificados como variáveis, p.e.,

$temasa=bioma;

include(“ms_criamapa.php”);

Summary
Inicializa o I3Geo via URL ms_criamapa.phpCria os diretórios temporários para o i3Geo e o mapfile que será utilizado no mapa.
Files
i3geo/ ms_criamapa.php
LicençaI3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
Parâmetros
Fluxo do código
Verifica a variável $debugVerifica se o debug deve ser ativado, checando a variável $debug
Verifica a variável $caminhoEssa variável deve ser definida em programas que utilizam o ms_criamapa.php via include.
Carrega as extensões PHPCarrega as extensões utilizadas no programa de inicialização.
Include dos arquivos PHP.Inclui os programas php com funções utilizadas pelo ms_criamapa.php
Prepara as variáveis que serão incluidas na seçãoAs variáveis vêm do arquivo ms_configura.php e são armazenadas em uma seção com nome específico para o i3geo.
Inicia a seçãoO i3geo inicia uma seção específica no servidor, denominada i3GeoPHP.
AguardeMonta a apresentação do aguarde.
Define os arquivos .mapSeleciona os arquivos mapfile que serão carregados como base conforme o tipo de sistema operacional.
Parâmetros adicionais.Processa os parâmetros para a inicialização verificando se foram passados pela URL ou não.
Diretórios temporáriosCria os diretórios temporários que serão utilizados pelo i3geo para armazenar as imagens e outros dados.
Cria os objetos map que serão processadosO arquivo definido em $base é lido como um objeto map.
Incluí temasVerifica a lista de temas da inicializacao, adicionando-os se necessário
Liga os temas definidos em $layers
Aplica ao mapa os parâmetros passados pela URL
Configura os endereços corretos no mapfile.Altera as propriedades imagepath e imageurl corrigindo os caminhos padrão conforme o diretório criado para armazenar o mapa de trabalho.
Faz o include de um programa se tiver sido passado pela URL (parâmetro &executa)Nessa altura do processo, a variável $tmpfname guarda o nome do mapfile que será utilizado pelo i3geo.
Inclui uma camada de pontos utilizando os parâmetros passados pela URL
Inclui uma camada de linhas utilizando os parâmetros passados pela URL
Inclui uma camada de polígonos utilizando os parâmetros passados pela URL
Adapta os dados de cada layer.Faz alterações em cada layer caso sejam necessárias.
Obtem o IP do usuário e registra no banco de dados.Essa função pode ser comentada sem prejuízos ao funcionamento do I3Geo.
Gera a url para abrir o mapainterface = arquivo html que será aberto
Functions
ligaTemasLiga os temas definidos na variável $layers
incluiTemasIniciaisInclui os temas definidos na variável $temasa
criaIndexCria os arquivos vazios index.htm e index.html nos diretórios temporários
MostraAguardeMostra a mensagem de aguarde
inserePontosUrlInsere um novo tema com os pontos definidos na variável $pontos
insereLinhasUrlInsere um novo tema com as linhas definidas na variável $linhas
inserePoligonosUrlInsere um novo tema com os poligonos definidas na variável $poligonos

Files

i3geo/ ms_criamapa.php

Licença

I3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet

Direitos Autorais Reservados © 2006 Ministério do Meio Ambiente Brasil Desenvolvedor: Edmar Moretti edmar..nosp@m.moretti@mma.g.nosp@m.ov.br

Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença Pública Geral GNU conforme publicada pela Free Software Foundation; tanto a versão 2 da Licença.  Este programa é distribuído na expectativa de que seja útil, porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA.  Consulte a Licença Pública Geral do GNU para mais detalhes.  Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto com este programa; se não, escreva para a Free Software Foundation, Inc., no endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.

Parâmetros

basearquivo mapfile que servirá de base para a criação do mapa.Por default, são utilizados os arquivos aplicmap/geral1.map (para linux) ou aplicmap/geral1windows.map (para windows).
temasalista, separada por espaços, com os nomes dos arquivos map que serão adicionados ao mapa.  Se o arquivo map não estiver no diretório i3geo/temas, o nome deve incluir o caminho completo no servidor.  O arquivo map pode conter mais de um layer pois todos os existentes serão adicionados ao mapa.  Por default, todos os layers encontrados nos mapfiles são adicionados ao mapa com o status de desenho em OFF.
layerslista, separada por espaços, com os nomes dos layers que serão ligados.  A lista deve conter os nomes dos layers e não os nomes dos mapfiles acrescentados ao mapa.  Por exemplo, ao adicionar com “temasa” um mapfile chamado “transporte” que contenha os layers “estradas” e “ferrovias” os dois layers serão adicionados ao mapa.  Para que esses dois layers fiquem visíveis no mapa deve-se utilizar &layers=estradas ferrovias.
mapextextensao geografica que será utilizada.  Por padrão, a extensão geográfica é definida para abranger o Brasil todo.  Para alterar o padrão deve-se utilizar o parâmetro mapext para especificar a nova abrangência.  Essa abrangência deve ser definida em coordenadas no formato décimos de grau e na projeção geográfica.  Exemplo: &mapext=-54 -30 -50 -12.  Observe que a ordem dos valores são xmin ymin xmax ymax
executaprograma ou função em php que será executado via include.  O include é feito no final do processo de inicialização quando a variável $tmpfname já está definida.  Essa variável guarda o nome do arquivo mapfile que será utilizado pelo i3geo.
interfacenome da interface que será utilizada para abrir o mapa.  As interfaces são arquivos HTML que podem estar no diretório aplicmap.  Por default, utiliza-se o geral.htm.  Vc pode copiar esse html e alterá-lo para customizar o mapa.  Para chamar o html customizado, utilize ms_criamapa.php?interface=meumapa.htm
perfilperfil utilizado para restringir os menus de temas.  O menu com os temas mostrados no i3geo são definidos no arquivo menutemas/menutemas.xml.  Nesse arquivo,pode-se utilizar um elemento <PERFIL></PERFIL> indicando que o tema apenas será mostrado em perfis específicos.  Por exempo: ms_criamapa.php?perfil=usuário1
caminhocaminho para os programas que serão incluídos com “include”.  Ao chamar o programa ms_criamapa.php por meio de “include” é necessário especificar essa variável para indicar o caminho correto do i3geo.
pontoslista de coordenadas x e y que serão adicionadas como pontos no mapa.
nometemapontosnome do tema de pontos
linhaslista de coordenadas x e y que serão adicionadas como linhas no mapa.  As coordenadas de linhas diferentes devem ser separadas por “,”, por exemplo: -54 -12 -50 -12,-50 -1 -50 -2 -50 -3
nometemalinhasnome do tema de linhas
poligonoslista de coordenadas x e y que serão adicionadas como polígonos no mapa.  As coordenadas dos vértices de polígonos diferentes devem ser separadas por “,”.
nometemapoligonosnome do tema de polígonos
debugativa o retorno de mensagens de erro do PHP sim|nao

Fluxo do código

Summary
Verifica a variável $debugVerifica se o debug deve ser ativado, checando a variável $debug
Verifica a variável $caminhoEssa variável deve ser definida em programas que utilizam o ms_criamapa.php via include.
Carrega as extensões PHPCarrega as extensões utilizadas no programa de inicialização.
Include dos arquivos PHP.Inclui os programas php com funções utilizadas pelo ms_criamapa.php
Prepara as variáveis que serão incluidas na seçãoAs variáveis vêm do arquivo ms_configura.php e são armazenadas em uma seção com nome específico para o i3geo.
Inicia a seçãoO i3geo inicia uma seção específica no servidor, denominada i3GeoPHP.
AguardeMonta a apresentação do aguarde.
Define os arquivos .mapSeleciona os arquivos mapfile que serão carregados como base conforme o tipo de sistema operacional.
Parâmetros adicionais.Processa os parâmetros para a inicialização verificando se foram passados pela URL ou não.
Diretórios temporáriosCria os diretórios temporários que serão utilizados pelo i3geo para armazenar as imagens e outros dados.
Cria os objetos map que serão processadosO arquivo definido em $base é lido como um objeto map.
Incluí temasVerifica a lista de temas da inicializacao, adicionando-os se necessário
Liga os temas definidos em $layers
Aplica ao mapa os parâmetros passados pela URL
Configura os endereços corretos no mapfile.Altera as propriedades imagepath e imageurl corrigindo os caminhos padrão conforme o diretório criado para armazenar o mapa de trabalho.
Faz o include de um programa se tiver sido passado pela URL (parâmetro &executa)Nessa altura do processo, a variável $tmpfname guarda o nome do mapfile que será utilizado pelo i3geo.
Inclui uma camada de pontos utilizando os parâmetros passados pela URL
Inclui uma camada de linhas utilizando os parâmetros passados pela URL
Inclui uma camada de polígonos utilizando os parâmetros passados pela URL
Adapta os dados de cada layer.Faz alterações em cada layer caso sejam necessárias.
Obtem o IP do usuário e registra no banco de dados.Essa função pode ser comentada sem prejuízos ao funcionamento do I3Geo.
Gera a url para abrir o mapainterface = arquivo html que será aberto
Functions
ligaTemasLiga os temas definidos na variável $layers
incluiTemasIniciaisInclui os temas definidos na variável $temasa
criaIndexCria os arquivos vazios index.htm e index.html nos diretórios temporários
MostraAguardeMostra a mensagem de aguarde
inserePontosUrlInsere um novo tema com os pontos definidos na variável $pontos
insereLinhasUrlInsere um novo tema com as linhas definidas na variável $linhas
inserePoligonosUrlInsere um novo tema com os poligonos definidas na variável $poligonos

Verifica a variável $debug

Verifica se o debug deve ser ativado, checando a variável $debug

Verifica a variável $caminho

Essa variável deve ser definida em programas que utilizam o ms_criamapa.php via include.  Indica onde está o diretório i3geo para que os includes seguintes possam ser localizados.  $caminho é sempre colocada antes do nome dos arquivos que serão incçuídos, p.e., require_once ($caminho.”classesphp/carrega_ext.php”);

Carrega as extensões PHP

Carrega as extensões utilizadas no programa de inicialização.  A carga das extensões geralmente é necessária nas instalações windows (ms4w) ou quando as mesmas não são carregadas pela própria inicialização do PHP.

Include dos arquivos PHP.

Inclui os programas php com funções utilizadas pelo ms_criamapa.php

Prepara as variáveis que serão incluidas na seção

As variáveis vêm do arquivo ms_configura.php e são armazenadas em uma seção com nome específico para o i3geo.

Inicia a seção

O i3geo inicia uma seção específica no servidor, denominada i3GeoPHP.  Se já houver uma seção aberta, em função de outro browser estar ativo, cria uma nova.  Faz a cópia das variáveis definidas para itens da seção.

Aguarde

Monta a apresentação do aguarde.

Aqui é necessário verificar se $executa está definido isso pq algumas aplicações podem ser prejudicadas caso o aguarde seja mostrado

Define os arquivos .map

Seleciona os arquivos mapfile que serão carregados como base conforme o tipo de sistema operacional.

A variável $base pode ser definida como um parâmetro na inicialização, caso contrário, é utilizado o padrão.

Os arquivos .map padrão são armazenados em i3geo/aplicmap.  O arquivo é lido conforma a característica do sistema operacional.

Parâmetros adicionais.

Processa os parâmetros para a inicialização verificando se foram passados pela URL ou não.

Diretórios temporários

Cria os diretórios temporários que serão utilizados pelo i3geo para armazenar as imagens e outros dados.

Cria os objetos map que serão processados

O arquivo definido em $base é lido como um objeto map.  Esse objeto será processado para incluir novos layers e alterar outros parâmetros definidos pelo usuário.

Incluí temas

Verifica a lista de temas da inicializacao, adicionando-os se necessário

Liga os temas definidos em $layers

Aplica ao mapa os parâmetros passados pela URL

Configura os endereços corretos no mapfile.

Altera as propriedades imagepath e imageurl corrigindo os caminhos padrão conforme o diretório criado para armazenar o mapa de trabalho.

Faz o include de um programa se tiver sido passado pela URL (parâmetro &executa)

Nessa altura do processo, a variável $tmpfname guarda o nome do mapfile que será utilizado pelo i3geo.

Esse mapfile pode ser modificado pelo programa que será incluido.

Inclui uma camada de pontos utilizando os parâmetros passados pela URL

Inclui uma camada de linhas utilizando os parâmetros passados pela URL

Inclui uma camada de polígonos utilizando os parâmetros passados pela URL

Adapta os dados de cada layer.

Faz alterações em cada layer caso sejam necessárias.

Obtem o IP do usuário e registra no banco de dados.

Essa função pode ser comentada sem prejuízos ao funcionamento do I3Geo.  Só opera corretamente se a rotina de registro tiver sido configurada corretamente.

Gera a url para abrir o mapa

interface = arquivo html que será aberto

Functions

ligaTemas

function ligaTemas()

Liga os temas definidos na variável $layers

incluiTemasIniciais

function incluiTemasIniciais()

Inclui os temas definidos na variável $temasa

criaIndex

function criaIndex()

Cria os arquivos vazios index.htm e index.html nos diretórios temporários

MostraAguarde

Mostra a mensagem de aguarde

inserePontosUrl

function inserePontosUrl()

Insere um novo tema com os pontos definidos na variável $pontos

insereLinhasUrl

function insereLinhasUrl()

Insere um novo tema com as linhas definidas na variável $linhas

As linhas devem ter os pontos separados por espaços e cada linha separada por vírgula

inserePoligonosUrl

function inserePoligonosUrl()

Insere um novo tema com os poligonos definidas na variável $poligonos

Os polígonos devem ter os pontos separados por espaços e cada polígono separado por vírgula

function ligaTemas()
Liga os temas definidos na variável $layers
function incluiTemasIniciais()
Inclui os temas definidos na variável $temasa
function criaIndex()
Cria os arquivos vazios index.htm e index.html nos diretórios temporários
function inserePontosUrl()
Insere um novo tema com os pontos definidos na variável $pontos
function insereLinhasUrl()
Insere um novo tema com as linhas definidas na variável $linhas
function inserePoligonosUrl()
Insere um novo tema com os poligonos definidas na variável $poligonos