Árvore de camadas

i3GEO.arvoreDeCamadas

Monta a árvore com os temas existentes no mapa atual.  A árvore contém as opções de ligar e desligar temas, alteração na ordem de desenho, links para acesso a funcionalidades, etc.

i3GEO.arvoreDeCamadas permite controlar quais as opções que serão mostradas na árvore e seu comportamento em diferentes situa&ccdil;õs.

Exemplo

Para alterar as opções da árvore, modifique as propriedades colocando um código como o seguinte no javascript utilizado na interface de mapa que estiver sendo utilizada

i3GEO.arvoreDeCamadas.OPCOESTEMAS = false;

Arquivo

i3geo/classesjs/classe_arvoredecamadas.js

Licença

GPL2

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@gmai.nosp@m.l.com

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;

Este programa é distribuído na expectativa de que seja útil, porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita de COMERCIABILIDADE OU ADEQUACÃ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.

Summary
Árvore de camadasi3GEO.arvoreDeCamadas
Propriedades
TEMPLATELEGENDANome do template HTML que sera usado para compor a legenda.
BARRAPROGRESSOMostra uma barra na parte superior do mapa que indica o progresso do desenho das camadas do mapa
MOSTRALISTAKMLMostra na árvore a lista de endereços de arquivos KML cadastrados no sistema de administração.
FILTROFiltro que será aplicado para restringir os tipos de camadas mostradas na árvore
VERIFICAABRANGENCIATEMASVerifica ou não se um tema da árvore está dentro da abrangência do mapa atual, marcando esses temas na árvore
finalizaNome de uma função que será executada após a árvore ter sido montada A funço permite ajustar a árvore conforme o programador desejar.
EXPANDESOLEGENDAAo expandir um tema mostra apenas a legenda, sem as outras opções
PERMITEEXPANDIRTEMASPermite que as opções abaixo dos nós referentes a cada tema sejam mostradas
ARRASTARORDEMAtiva a opção de arrastar um tema para alterar a ordem de desenho das camadas
REFRESHMostra ou não a opção que permite atualizar a árvore
ARRASTARLIXEIRAAtiva a opção de arrastar um tema para a lixeria quando se quer removê-lo do mapa.
ALTERAOPACIDADEMostra ou não a opção que permite alterar a transparência das camadas existentes no mapa
ANIMAMAPAMostra ou não a opção que permite gerar uma animação do mapa, ligando e desligando camadas
LIGARDESLIGARTODOSMostra os ícones de desligar/ligar todos os temas.
FILTRARMostra o ícone para filtrar as camadas.
ABRELEGENDAMostra o ícone para abrir a legenda do mapa.
EXPANDIDAIndica se a árvore será montada de forma expandida ou não.
LEGENDAEXPANDIDAIndica se a legenda da árvore será montada de forma expandida ou não.
OPCOESICONESInclui ou não os ícones de opções em cada tema (farol, zoom para o tema, etc)
OPCOESTEMASInclui ou não o nó com as opções de manipulação de cada tema.
OPCOESLEGENDAInclui ou não o nó para mostrar a legenda do tema.
AGUARDALEGENDAAtiva a opção de aguarde para mostrar a legenda de um tema quando o usuário estaciona o mouse sobre o nome de um tema.
ICONETEMAMostra ou não o ícone do tema caso exista.
FUNCOESIndicação de quais funções serão incluídas em cada tema mostrado na árvore quando o usuário aciona o item “opções”
Variaveis
CAMADASObjeto com a lista de camadas existentes no mapa.
CAMADASINICIAISO mesmo que CAMADAS mas guarda de forma permanente as camadas que iniciaram o mapa
ARVOREObjeto com a árvore criada com YAHOO.widget.TreeView Pode ser usado para receber métodos da API do YAHOO
ATIVATEMANome da função que será incluída no evento onclick do elemento checkbox adicionado no início do nome de um tema.
Functions
criaCria a árvore com as opções de manipulação das camadas existentes no mapa
atualizaAtualiza a árvore de camadas.
ligaDesligaTemasMarca ou desmarca os checkbox da árvore de uma lista de temas
atualizaLegendaAtualiza a legenda de um tema.
aplicaTemasRefaz o mapa ligando e desligando os temas conforme consta na árvore de camadas ou ligando/desligando todos
listaLigadosDesligadosLista os temas que estão ligados e os que estão desligados tendo como fonte de busca os checkbox existentes na árvore.
capturaCheckBoxRetorna o objeto input (check box) que corresponde a uma determinada camada na árvore.
pegaTemaProcura um tema no objeto CAMADAS.
alteraPropCamadasAltera o valor de uma propriedade de um tema do objeto i3GEO.arvoreDeCamadas.CAMADAS

Propriedades

TEMPLATELEGENDA

Nome do template HTML que sera usado para compor a legenda.  O HTML deve ser armazenado em i3geo/aplicmap.  Templates de legenda seguem a sintaxe definida pelo software Mapserver

Default

{legenda5.htm}

Type

{string}

BARRAPROGRESSO

Mostra uma barra na parte superior do mapa que indica o progresso do desenho das camadas do mapa

Funciona apenas na interface Openlayers

Default

{true}

Type

{boolean}

MOSTRALISTAKML

Mostra na árvore a lista de endereços de arquivos KML cadastrados no sistema de administração.  Quando presente no mapa, o usuário pode escolher um KML de uma lista pré-definida para ser adicionado

Default

{false}

Type

{boolean}

FILTRO

Filtro que será aplicado para restringir os tipos de camadas mostradas na árvore

Default

{“”}

Type

{string}ligados|desligados|selecionados|download|wms|raster|toponimia

VERIFICAABRANGENCIATEMAS

Verifica ou não se um tema da árvore está dentro da abrangência do mapa atual, marcando esses temas na árvore

A verificação só é feita se o tema possuir a extensão geográfica registrada (veja o sistema de administração)

Default

{true}

Type

{boolean}

finaliza

Nome de uma função que será executada após a árvore ter sido montada A funço permite ajustar a árvore conforme o programador desejar.  É executada apenas na criação da árvore

Default

{“”}

Type

{String}

EXPANDESOLEGENDA

Ao expandir um tema mostra apenas a legenda, sem as outras opções

Default

{false}

Type

{boolean}

PERMITEEXPANDIRTEMAS

Permite que as opções abaixo dos nós referentes a cada tema sejam mostradas

Default

{true}

Type

{boolean}

ARRASTARORDEM

Ativa a opção de arrastar um tema para alterar a ordem de desenho das camadas

Default

{true}

Type

{boolean}

REFRESH

Mostra ou não a opção que permite atualizar a árvore

Default

{true}

Type

{boolean}

ARRASTARLIXEIRA

Ativa a opção de arrastar um tema para a lixeria quando se quer removê-lo do mapa.

Default

{true}

Type

{boolean}

ALTERAOPACIDADE

Mostra ou não a opção que permite alterar a transparência das camadas existentes no mapa

Type

{boolean}

ANIMAMAPA

Mostra ou não a opção que permite gerar uma animação do mapa, ligando e desligando camadas

Type

{boolean}

LIGARDESLIGARTODOS

Mostra os ícones de desligar/ligar todos os temas.

Default

{true}

Type

{boolean}

FILTRAR

Mostra o ícone para filtrar as camadas.

Default

{true}

Type

{boolean}

ABRELEGENDA

Mostra o ícone para abrir a legenda do mapa.

Default

{true}

Type

{boolean}

EXPANDIDA

Indica se a árvore será montada de forma expandida ou não.  Se true, os nós do primeiro nível serão abertos na inicialização da árvore.

Default

{false}

Tipo

{Boolena}

LEGENDAEXPANDIDA

Indica se a legenda da árvore será montada de forma expandida ou não.

Default

{false}

Tipo

{Boolena}

OPCOESICONES

Inclui ou não os ícones de opções em cada tema (farol, zoom para o tema, etc)

Default

{true}

Tipo

{boolean}

OPCOESTEMAS

Inclui ou não o nó com as opções de manipulação de cada tema.

Default

true

Tipo

{Boolean}

OPCOESLEGENDA

Inclui ou não o nó para mostrar a legenda do tema.

Default

true

Tipo

{Boolean}

AGUARDALEGENDA

Ativa a opção de aguarde para mostrar a legenda de um tema quando o usuário estaciona o mouse sobre o nome de um tema.

Default

{false}

Tipo

{Boolean}

ICONETEMA

Mostra ou não o ícone do tema caso exista.

O ícone é definido no METADATA ICONETEMA no mapfile correspondente ao tema (veja o sistema de administração

Default

{true}

Tipo

{Boolean}

FUNCOES

Indicação de quais funções serão incluídas em cada tema mostrado na árvore quando o usuário aciona o item “opções”

Além de definir o item como false ou true, algumas funções apenas são mostradas em conformidade com o tipo de camada.  No sistema de administração, pode-se também controlar algumas das funções, como por exemplo “sql”, “wms” e “temporizador”

Exemplo de como alterar um valor diretamente no javascript da interface do mapa

i3GEO.arvoreDeCamadas.FUNCOES.excluir = false;

i3GEO.arvoreDeCamadas.FUNCOES.farolescala = false;

Default

farolescala = true;

excluir = true;

sobe = true;

desce = true;

fonte = true;

zoomtema = true;

compartilhar = true;

opacidade = true;

mudanome = true;

procurar = true;

toponimia = true;

etiquetas = true;

filtrar = true;

tabela = true;

grafico = true;

editorlegenda = true;

destacar = true;

cortina = true;

sql = true;

comentar = true;

temporizador = true;

wms = true;

tme = true;

Variaveis

CAMADAS

Objeto com a lista de camadas existentes no mapa.  É definido na inicialização ou no redesenho do mapa.

Este objeto é construído nas operações em PHP de inicialização ou redesenho do mapa e lista todos os layers existentes no mapfile temporário em uso.

Exemplo

”CAMADAS”:[

{

aplicaextensao: “nao”, //altera ou nao a extensão geográfica do mapa ao adicionar esssa camada

cache: “sim”, //cache automático de imagens ativo ou não

clas se: “SIM”, //as classes são ou não mostradas na legenda

connectiontype: 1, //tipo de conexão com os dados (conforme constantes do Mapserver)

contextoescala: “nao”, //o tema tem a visualização restrita ou não em função da escala do mapa

download: “”, //o usuário pode ou não fazer o download dos dados

editorsql: “nao”, //é possível ou não editar o SQL que define o acesso aos dados (qd aplicável)

escala: 0, //escala original dos dados

escondido: “nao”, //indica se o tema é mostrado no mapa mas não nas listagens ou na legenda

etiquetas: “FIPS_CNTRY,GMI_CNTRY,CNTRY_NAME”, //lista de itens que são mostrados no balão de identificação

exttema: “”, //extensão geográfica da camada

features: “nao”, // indica se possuí elemento inline

iconetema: “”, // ícone utilizado na legenda

identifica: “”, //permite ou não aparecer na ferramenta de identificação

itembuscarapida: “LONG_NAME”, //coluna utilizada na opção de busca

linhadotempo: “nao”, //indica se o tema está preparado para ser mostrado na ferramenta de linha do tempo

name: “mundo”, //código do tema

nomeoriginal: “”, //nome do tema conforme definido originalmente ao ser adicionado ao mapa

nsel: 0, //número de elementos que estão selecionados

permitecomentario: “nao”, //permite ou não receber comentários do usuário

permiteogc: “”, //permite ou não ser fornecido como WMS

sel: “nao”, //possuí ou não seleção

status: 2, //situação do item STATUS do mapfile

tema: “Países do mundo”, //título atual do tema

temporizador: “”,//deve ou não ser atualizado de tempos em tempos

tiles: “”,//utiliza ou não o modo tile

transitioneffect: “sim”,//pode ser desenhado com efeitos de trasição

transparency: 100, //transparência aplicada no nível do servidor

ty pe: 2, //tipo de layer conforme definido pelo Mapserver

usasld: “nao”, //está sendo aplicado ou não um SLD ao tema

wmsformat: “”,

wmsname: null,

wmssrs: “”,

wmstile: “”,

wmsurl: “”,

zoomtema: “sim” //ao adicionar a camada ao mapa deve ou não ser ajustado conforme a extensão do tema } ]

Tipo

{OBJETO}

CAMADASINICIAIS

O mesmo que CAMADAS mas guarda de forma permanente as camadas que iniciaram o mapa

Tipo

{OBJETO}

ARVORE

Objeto com a árvore criada com YAHOO.widget.TreeView Pode ser usado para receber métodos da API do YAHOO

Tipo

{YAHOO.widget.TreeView}

ATIVATEMA

Nome da função que será incluída no evento onclick do elemento checkbox adicionado no início do nome de um tema.

Tipo

{String}

Functions

cria

cria: function(onde,
temas,
g_sid,
g_locaplic,
funcaoTema)

Cria a árvore com as opções de manipulação das camadas existentes no mapa

Parametros

onde {String}ID do elemento DOM onde a árvore será inserida.  Se for definido como “” o id será buscado da variável IDHTML.
temas {JSON}Objeto JSON com as camadas e propriedades.  Se não for definido ou for vazio, será utilizado i3GEO.arvoreDeCamadas.CAMADAS
g_sid {String}Código da seção PHP criada ao abrir o i3Geo
funcaoTema {String}(opcional) Nome da função que será incluida no evento disparado quando o usuário clicar no checkbox de um tema

atualiza

atualiza: function(temas,
forca)

Atualiza a árvore de camadas.

Antes de executar a atualização, essa função verifica se é necessário fazê-lo.  O objeto CAMADAS é comparado com o parâmetro “temas” para verificar se existem diferenças que justifiquem a atualização.

Parametro

temas {JSON}Objeto com a lista de camadas e propriedades (veja CAMADAS).  Se não existir, a árvore é redesenhada
forca {boolean}força a atualização da árvore, sem verificar automaticamente se a atualização deve ou não ser feita

ligaDesligaTemas

ligaDesligaTemas: function(lista,
status)

Marca ou desmarca os checkbox da árvore de uma lista de temas

Parametros

lista {string}lista, separada por vírgulas, dos códigos dos temas
status {boolean}marca ou desmarca

atualizaLegenda

atualizaLegenda: function(idtema)

Atualiza a legenda de um tema.

A legenda precisa ser atualizada emalgumas circunstâncias, como quando é feitoumzoom no mapa.

Parametro

id {String}ID (name) do tema

aplicaTemas

aplicaTemas: function(tipo)

Refaz o mapa ligando e desligando os temas conforme consta na árvore de camadas ou ligando/desligando todos

Parametro

tipo {String}tipo de operação normal|ligartodos|desligartodos a opção ‘normal’ irá desligar/ligar o que estiver marcado

listaLigadosDesligados

listaLigadosDesligados: function(tipo)

Lista os temas que estão ligados e os que estão desligados tendo como fonte de busca os checkbox existentes na árvore.

Esse método é mais demorado pois varre a árvore toda.  Porém, obtém o status verdadeiro do tema.

Parametro

tipo {String}mantem|marca|desmarca marca, desmarca ou mantém o checkbox após identificar seu status atual

Return

{Array}array de arrays com os códigos dos temas [0]=ligados [1]=desligados [2]=todos na ordem encontrada

capturaCheckBox

capturaCheckBox: function(tema)

Retorna o objeto input (check box) que corresponde a uma determinada camada na árvore.

Parametro

tema {String}código do tema ao qual o elemento se refere

Return

{Objeto}objeto do tipo input checkbox

pegaTema

pegaTema: function(valor,
camadas,
parametro)

Procura um tema no objeto CAMADAS.

Parametro

valor{String} valor do parametro
camadas{Objeto} - objeto com a lista de temas (escape com “” para usar o default)
parametro{string} parametro que sera procurado

Return

{JSON}

alteraPropCamadas

alteraPropCamadas: function(propriedade,
valor,
camada)

Altera o valor de uma propriedade de um tema do objeto i3GEO.arvoreDeCamadas.CAMADAS

Parameters

propriedade {string}propriedade que será modificada
valornovo valor
camada {string}código da camada
cria: function(onde,
temas,
g_sid,
g_locaplic,
funcaoTema)
Cria a árvore com as opções de manipulação das camadas existentes no mapa
atualiza: function(temas,
forca)
Atualiza a árvore de camadas.
ligaDesligaTemas: function(lista,
status)
Marca ou desmarca os checkbox da árvore de uma lista de temas
atualizaLegenda: function(idtema)
Atualiza a legenda de um tema.
aplicaTemas: function(tipo)
Refaz o mapa ligando e desligando os temas conforme consta na árvore de camadas ou ligando/desligando todos
listaLigadosDesligados: function(tipo)
Lista os temas que estão ligados e os que estão desligados tendo como fonte de busca os checkbox existentes na árvore.
capturaCheckBox: function(tema)
Retorna o objeto input (check box) que corresponde a uma determinada camada na árvore.
pegaTema: function(valor,
camadas,
parametro)
Procura um tema no objeto CAMADAS.
alteraPropCamadas: function(propriedade,
valor,
camada)
Altera o valor de uma propriedade de um tema do objeto i3GEO.arvoreDeCamadas.CAMADAS