/*jslint plusplus:false,white:false,undef: false, rhino: true, onevar: true, evil: true */ /* Title: TME Cria um arquivo KML com a representação em mapa temático baseado no pacote TME Arquivo: i3geo/ferramentas/tme/index.js.php Licenca: GPL2 i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil Desenvolvedor: Edmar Moretti edmar.moretti@gmail.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 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. */ if(typeof(i3GEOF) === 'undefined'){ var i3GEOF = {}; } /* Classe: i3GEOF.tme */ i3GEOF.tme = { //opcional - nome do item da tabela de atributos que contem os nomes dos elementos //utilizado para definir o valor do combo i3GEOTMEregioes ITEMNOMEREGIOES: "", //opcional - nome do item da tabela de atributos que contem os dados dos elementos //utilizado para definir item que iniciará marcado na lista de itens que indica a coluna que contem os dados ITEMDADOS: "", /* Variavel: tema Tema que será utilizado Type: {string} */ tema: i3GEO.temaAtivo, /* Variavel: aguarde Estilo do objeto DOM com a imagem de aguarde existente no cabeçalho da janela. */ aguarde: "", /* Para efeitos de compatibilidade antes da versão 4.7 que não tinha dicionário */ criaJanelaFlutuante: function(){ i3GEOF.tme.iniciaDicionario(); }, /* Function: iniciaDicionario Carrega o dicionário e chama a função que inicia a ferramenta O Javascript é carregado com o id i3GEOF.nomedaferramenta.dicionario_script */ iniciaDicionario: function(){ if(typeof(i3GEOF.tme.dicionario) === 'undefined'){ i3GEO.util.scriptTag( i3GEO.configura.locaplic+"/ferramentas/tme/dicionario.js", "i3GEOF.tme.iniciaJanelaFlutuante()", "i3GEOF.tme.dicionario_script" ); } else{ i3GEOF.tme.iniciaJanelaFlutuante(); } }, /* Function: inicia Inicia a ferramenta. É chamado por criaJanelaFlutuante Parametro: iddiv {String} - id do div que receberá o conteudo HTML da ferramenta */ inicia: function(iddiv){ i3GEO.janela.comboCabecalhoTemas("i3GEOFtmeComboCabeca","i3GEOFtmeComboCabecaSel","tme","ligadosComTabela"); if(i3GEO.temaAtivo === ""){ $i(iddiv).innerHTML = "";//'

Escolha um tema da lista

'; return; } try{ $i(iddiv).innerHTML += i3GEOF.tme.html(); new YAHOO.widget.Button( "i3GEOtmebotao1", {onclick:{fn: i3GEOF.tme.ativa}} ); i3GEO.util.comboItens( "i3GEOTMEregioes", i3GEOF.tme.tema, function(retorno){ if($i("i3GEOTMEregioeslista")) {$i("i3GEOTMEregioeslista").innerHTML = retorno.dados;} if(i3GEOF.tme.ITEMNOMEREGIOES != ""){ $i("i3GEOTMEregioes").value = i3GEOF.tme.ITEMNOMEREGIOES; } }, "i3GEOTMEregioeslista" ); i3GEO.util.mensagemAjuda("i3GEOtmemen1",$i("i3GEOtmemen1").innerHTML); i3GEOF.tme.ativaFoco(); if(i3GEO.arvoreDeCamadas){ $i("i3GEOTMEtitulo").value = i3GEO.arvoreDeCamadas.pegaTema(i3GEO.temaAtivo).tema; } } catch(erro){i3GEO.janela.tempoMsg(erro);} }, /* Function: html Gera o código html para apresentação das opções da ferramenta Retorno: String com o código html */ html:function(){ var ins = '' + '
' + '

' + '

'+$trad(2,i3GEOF.tme.dicionario); ins += $inputText("","","i3GEOTMEtitulo","",48,"") + '

'+$trad(3,i3GEOF.tme.dicionario); ins += $inputText("","","i3GEOTMEdesc","",48,"") + '

'+$trad(4,i3GEOF.tme.dicionario); ins += $inputText("","","i3GEOTMEbarSize","",20,"5000") + '

'+$trad(5,i3GEOF.tme.dicionario); ins += $inputText("","","i3GEOTMEmaxHeight","",20,"2000000") + '

'+$trad(6,i3GEOF.tme.dicionario) + '

' + '

' + '
'+$trad(7,i3GEOF.tme.dicionario) + '

' + '
' + '

Será criado um arquivo KML que pode ser aberto com o Google Earth. A coluna com os nomes das regiões define o nome que será mostrado para cada elemento mapeado. Quando os nomes das colunas com os valores corresponderem a um determinado ano, será mostrado um botão do tipo slide no Google Earth, mas isso só ocorre se o nome da coluna for o mesmo nome do ano, exemplo, para o ano de 1980 o nome da coluna deverá ser 1980

'; return ins; }, /* Function: iniciaJanelaFlutuante Cria a janela flutuante para controle da ferramenta. */ iniciaJanelaFlutuante: function(){ var minimiza,cabecalho,janela,divid,temp,titulo; if($i("i3GEOF.tme")){ i3GEOF.tme.inicia("i3GEOF.tme_corpo"); return; } cabecalho = function(){ i3GEOF.tme.ativaFoco(); }; minimiza = function(){ i3GEO.janela.minimiza("i3GEOF.tme"); }; //cria a janela flutuante titulo = "
------
tme   "; janela = i3GEO.janela.cria( "380px", "320px", "", "", "", titulo, "i3GEOF.tme", false, "hd", cabecalho, minimiza ); divid = janela[2].id; i3GEOF.tme.aguarde = $i("i3GEOF.tme_imagemCabecalho").style; $i("i3GEOF.tme_corpo").style.backgroundColor = "white"; i3GEOF.tme.inicia(divid); temp = function(){ if(i3GEO.eventos.ATUALIZAARVORECAMADAS.toString().search('i3GEO.janela.comboCabecalhoTemas("i3GEOFtmeComboCabeca","i3GEOFtmeComboCabecaSel","tme","ligadosComTabela")') > 0) {i3GEO.eventos.ATUALIZAARVORECAMADAS.remove('i3GEO.janela.comboCabecalhoTemas("i3GEOFtmeComboCabeca","i3GEOFtmeComboCabecaSel","tme","ligadosComTabela")');} }; YAHOO.util.Event.addListener(janela[0].close, "click", temp); }, /* Function: ativaFoco Refaz a interface da ferramenta quando a janela flutuante tem seu foco ativado */ ativaFoco: function(){ i3GEO.php.listaItensTema(i3GEOF.tme.montaListaItens,i3GEOF.tme.tema); var i = $i("i3GEOF.tme_c").style; i3GEO.janela.ULTIMOZINDEX++; i.zIndex = 21000 + i3GEO.janela.ULTIMOZINDEX; }, /* Function: montaListaItens Monta a lista de itens que poderão ser escolhidos para compor o mapa. A lista é inserida no elemento html com id "i3GEOtmelistai" */ montaListaItens: function(retorno){ var ins,i,n,item; try{ ins = []; ins.push(""); n = retorno.data.valores.length; for (i=0;i"); ins.push(""); } $i("i3GEOtmelistai").innerHTML = ins.join(""); ins.push("
 "+item+"
"); if(i3GEOF.tme.ITEMDADOS != "" && $i("i3GEOtme"+i3GEOF.tme.ITEMDADOS)){ $i("i3GEOtme"+i3GEOF.tme.ITEMDADOS).checked = true; } } catch(e) {$i("i3GEOtmelistai").innerHTML = "

Erro
"+e;} }, /* Function: pegaItensMarcados Recupera os itens que foram marcados e monta uma lista para enviar como parâmetro para a função de geração dos gráficos */ pegaItensMarcados: function(){ var listadeitens = [], inputs = $i("i3GEOtmelistai").getElementsByTagName("input"), i, it, n; n = inputs.length; for (i=0;i */ ativa: function(){ try{ if(i3GEOF.tme.aguarde.visibility === "visible") {return;} var lista = i3GEOF.tme.pegaItensMarcados(), cp = new cpaint(), temp, p, colunanomeregiao = $i("i3GEOTMEregioes").value; if(lista.length === 0) {i3GEO.janela.tempoMsg("selecione um item");return;} if(colunanomeregiao === 0) {i3GEO.janela.tempoMsg($trad(8,i3GEOF.tme.dicionario));return;} i3GEOF.tme.aguarde.visibility = "visible"; temp = function(retorno){ i3GEOF.tme.aguarde.visibility = "hidden"; var ins = "

" + $trad(9,i3GEOF.tme.dicionario) +"
"+retorno.data.url+"
"; ins += "
" + $trad(10,i3GEOF.tme.dicionario) +"
interface Google Earth
"; $i("i3GEOTMEresultado").innerHTML = ins; }; p = i3GEO.configura.locaplic+"/pacotes/tme/TME_i3geo.php?maxHeight="+$i("i3GEOTMEmaxHeight").value+"&barSize="+$i("i3GEOTMEbarSize").value+"&sid="+i3GEO.configura.sid+"&nomelayer="+i3GEO.temaAtivo+"&colunasvalor="+lista.toString(",")+"&colunanomeregiao="+colunanomeregiao+"&titulo="+$i("i3GEOTMEtitulo").value+"&descricao="+$i("i3GEOTMEdesc").value; cp.set_response_type("JSON"); cp.call(p,"tme",temp); }catch(e){i3GEO.janela.tempoMsg("Erro: "+e);i3GEOF.tme.aguarde.visibility = "hidden";} } };