From 85ac8255a517e17c9f5b17a09155836e4ce2262b Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Mon, 30 Jun 2014 13:19:54 +0000 Subject: [PATCH] Inclusao da ferramenta heatmap --- ferramentas/heatmap/dicionario.js | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ferramentas/heatmap/exec.php | 38 ++++++++++++++++++++++++++++++++++++++ ferramentas/heatmap/exemplo.png | Bin 0 -> 6611 bytes ferramentas/heatmap/index.js | 283 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 379 insertions(+), 0 deletions(-) create mode 100755 ferramentas/heatmap/dicionario.js create mode 100755 ferramentas/heatmap/exec.php create mode 100644 ferramentas/heatmap/exemplo.png create mode 100644 ferramentas/heatmap/index.js diff --git a/ferramentas/heatmap/dicionario.js b/ferramentas/heatmap/dicionario.js new file mode 100755 index 0000000..f78662c --- /dev/null +++ b/ferramentas/heatmap/dicionario.js @@ -0,0 +1,58 @@ +//+$trad(1,i3GEOF.buffer.dicionario)+ +i3GEOF.buffer.dicionario = { +1: [{ +pt:"O entorno, ou buffer, é um polígono que circunda um elemento geográfico em uma distância fixa.", +en:"", +es:"" +}], +2: [{ +pt:"Para gerar o entorno, você precisa selecionar alguns elementos de um tema. Utilize para isso a opção de seleção ou a tabela de atributos do tema desejado.", +en:"", +es:"" +}], +3: [{ +pt:"Tema, com seleção, que será utilizado", +en:"", +es:"" +}], +4: [{ +pt:"Distância do entorno em metros:", +en:"", +es:"" +}], +5: [{ +pt:"Considerar os elementos selecionados como se fossem um só?", +en:"", +es:"" +}], +6: [{ +pt:"O tema com o entorno será adicionado ao mapa atual", +en:"", +es:"" +}], +7: [{ +pt:"Criar entorno", +en:"", +es:"" +}], +8: [{ +pt:"Erro. A operação demorou muito", +en:"", +es:"" +}], +9: [{ +pt:"Distancia invalida", +en:"", +es:"" +}], +10: [{ +pt:"Ou um item da tabela de atributos que contém as distâncias:", +en:"", +es:"" +}], +11: [{ +pt:"Multiplicar por:", +en:"", +es:"" +}] +}; \ No newline at end of file diff --git a/ferramentas/heatmap/exec.php b/ferramentas/heatmap/exec.php new file mode 100755 index 0000000..5bcf56e --- /dev/null +++ b/ferramentas/heatmap/exec.php @@ -0,0 +1,38 @@ +criaBuffer> +*/ + case "CRIABUFFER": + include_once(dirname(__FILE__)."/../../classesphp/classe_analise.php"); + copiaSeguranca($map_file); + $m = new Analise($map_file,$tema,$locaplic,$ext); + $retorno = $m->criaBuffer($distancia,$locaplic,$unir,$wkt,$multiplicar,$itemdistancia); + $m->salva(); + $_SESSION["contadorsalva"]++; + //limpa selecao + $qyfile = str_replace(".map",".qy",$map_file); + if (file_exists($qyfile)) + {unlink ($qyfile);} + break; +} +if (!connection_aborted()){ + if(isset($map_file) && isset($postgis_mapa) && $map_file != "") + restauraCon($map_file,$postgis_mapa); + cpjson($retorno); +} +else +{exit();} +?> \ No newline at end of file diff --git a/ferramentas/heatmap/exemplo.png b/ferramentas/heatmap/exemplo.png new file mode 100644 index 0000000..d028bbe Binary files /dev/null and b/ferramentas/heatmap/exemplo.png differ diff --git a/ferramentas/heatmap/index.js b/ferramentas/heatmap/index.js new file mode 100644 index 0000000..9fab199 --- /dev/null +++ b/ferramentas/heatmap/index.js @@ -0,0 +1,283 @@ + +/*jslint plusplus:false,white:false,undef: false, rhino: true, onevar: true, evil: true */ + +/* +Title: Buffer + +Realiza o cálculo de "buffer" (região de entorno) dos elementos selecionados de um tema e adiciona uma nova +camada ao mapa. +Utiliza a função buffer do Mapserver. + +Veja: + + + +Arquivo: + +i3geo/ferramentas/buffer/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 = {}; +} +/* +Class: i3GEOF.buffer +*/ +i3GEOF.buffer = { + /* + Variavel: aguarde + + 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.buffer.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.buffer.dicionario) === 'undefined'){ + i3GEO.util.scriptTag( + i3GEO.configura.locaplic+"/ferramentas/buffer/dicionario.js", + "i3GEOF.buffer.iniciaJanelaFlutuante()", + "i3GEOF.buffer.dicionario_script" + ); + } + else{ + i3GEOF.buffer.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){ + try{ + $i(iddiv).innerHTML += i3GEOF.buffer.html(); + i3GEOF.buffer.t0(); + } + 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 = ''; + ins += '
'; + ins += '
'; + ins += '
'; + ins += '
'; + return ins; + }, + /* + Function: iniciaJanelaFlutuante + + Cria a janela flutuante para controle da ferramenta. + */ + iniciaJanelaFlutuante: function(){ + var janela,divid,temp,titulo; + //cria a janela flutuante + titulo = $trad("u10")+"    "; + cabecalho = function(){}; + janela = i3GEO.janela.cria( + "400px", + "200px", + "", + "", + "", + titulo, + "i3GEOF.buffer", + false, + "hd", + function(){}, + function(){ + i3GEO.janela.minimiza("i3GEOF.buffer"); + }, + "", + false, + i3GEO.configura.locaplic+"/imagens/oxygen/16x16/accessories-calculator.png" + ); + divid = janela[2].id; + janela[0].setFooter("
"); + i3GEOF.buffer.aguarde = $i("i3GEOF.buffer_imagemCabecalho").style; + i3GEOF.buffer.inicia(divid); + temp = function(){ + //i3GEO.janela.tempoMsg("oi"); + if(i3GEO.eventos.ATUALIZAARVORECAMADAS.toString().search("i3GEOF.buffer.t0()") > 0) + {i3GEO.eventos.ATUALIZAARVORECAMADAS.remove("i3GEOF.buffer.t0()");} + }; + YAHOO.util.Event.addListener(janela[0].close, "click", temp); + if(i3GEO.eventos.ATUALIZAARVORECAMADAS.toString().search("i3GEOF.buffer.t0()") < 0) + {i3GEO.eventos.ATUALIZAARVORECAMADAS.push("i3GEOF.buffer.t0()");} + }, + t0: function() + { + var ins = "" + + "

"+$trad(1,i3GEOF.buffer.dicionario) + + "

"+$trad(2,i3GEOF.buffer.dicionario); + i3GEO.util.proximoAnterior("","i3GEOF.buffer.t1()",ins,"i3GEOFgradeDePontost0","i3GEObufferresultado",true,"i3GEOF.buffer_rodape"); + }, + t1: function(){ + var ins = "

"+$trad(3,i3GEOF.buffer.dicionario)+":"; + ins += "

"; + i3GEO.util.proximoAnterior("i3GEOF.buffer.t0()","i3GEOF.buffer.t2()",ins,"i3GEOF.buffer.t1","i3GEObufferresultado",true,"i3GEOF.buffer_rodape"); + i3GEOF.buffer.comboTemasSel(); + }, + t2: function(){ + var ins = "

"+$trad(4,i3GEOF.buffer.dicionario); + ins += "

"; + + ins += "

"+$trad(10,i3GEOF.buffer.dicionario); + ins += "

"; + + ins += "

"+$trad(5,i3GEOF.buffer.dicionario); + ins += "

"; + i3GEO.util.proximoAnterior("i3GEOF.buffer.t1()","i3GEOF.buffer.t3()",ins,"i3GEOF.buffer.t2","i3GEObufferresultado",true,"i3GEOF.buffer_rodape"); + i3GEOF.buffer.comboItens(); + }, + t3: function(){ + var ins = "

"+$trad(6,i3GEOF.buffer.dicionario); + ins += "

"; + i3GEO.util.proximoAnterior("i3GEOF.buffer.t2()","",ins,"i3GEOF.buffer.t3","i3GEObufferresultado",true,"i3GEOF.buffer_rodape"); + new YAHOO.widget.Button( + "i3GEObufferbotao1", + {onclick:{fn: i3GEOF.buffer.criaBuffer}} + ); + }, + /* + Function: criaBuffer + + Executa a operação de geração do buffer + + Veja: + + + */ + criaBuffer: function(){ + try{ + if(i3GEOF.buffer.aguarde.visibility === "visible") + {return;} + var distancia = $i("i3GEObufferd").value, + tema = $i("i3GEObuffertemasComSel").value, + multiplicar = $i("i3GEObufferdfator").value*1, + itemdistancia = $i("i3GEObuffertemasItem").value, + p, + fim, + cp; + if (distancia*1 !== 0 || itemdistancia != ""){ + i3GEOF.buffer.aguarde.visibility = "visible"; + fim = function(retorno){ + i3GEOF.buffer.aguarde.visibility = "hidden"; + if (retorno.data === undefined ) + {$i("i3GEObufferfim").innerHTML = $trad(8,i3GEOF.buffer.dicionario);} + else + {i3GEO.atualiza();} + }; + p = i3GEO.configura.locaplic+"/ferramentas/buffer/exec.php?g_sid="+i3GEO.configura.sid+"&funcao=criabuffer&tema="+tema+"&unir="+$i("i3GEObufferunir").value; + if(itemdistancia != ""){ + p += "&distancia=0&itemdistancia="+itemdistancia+"&multiplicar="+multiplicar; + }else{ + p += "&distancia=" + distancia*1 + "&itemdistancia=&multiplicar=1"; + } + cp = new cpaint(); + cp.set_response_type("JSON"); + cp.call(p,"criaBuffer",fim); + } + else + {i3GEO.janela.tempoMsg($trad(9,i3GEOF.buffer.dicionario));} + } + catch(e){$i("i3GEObufferfim").innerHTML = "

Erro. "+e;i3GEO.janela.fechaAguarde();i3GEOF.buffer.aguarde.visibility = "hidden";} + }, + /* + Function: comboTemasSel + + Cria um combo com a lista de temas com elementos selecionados + + Veja: + + + */ + comboTemasSel: function(){ + i3GEO.util.comboTemas( + "i3GEObuffertemasComSel", + function(retorno){ + $i("i3GEObufferSelTemas").innerHTML = retorno.dados; + $i("i3GEObufferSelTemas").style.display = "block"; + if ($i("i3GEObuffertemasComSel")){ + $i("i3GEObuffertemasComSel").onchange = function(){ + i3GEO.mapa.ativaTema($i("i3GEObuffertemasComSel").value); + }; + } + if(i3GEO.temaAtivo !== ""){ + $i("i3GEObuffertemasComSel").value = i3GEO.temaAtivo; + $i("i3GEObuffertemasComSel").onchange.call(); + } + }, + "i3GEObufferSelTemas", + "", + false, + "selecionados" + ); + }, + /* + Function: comboItens + + Cria um combo para escolha de um item do tema + + Veja: + + + + */ + comboItens: function(){ + i3GEO.util.comboItens( + "i3GEObuffertemasItem", + $i("i3GEObuffertemasComSel").value, + function(retorno){ + $i("i3GEObufferondeItens").innerHTML = retorno.dados + " " + $trad(11,i3GEOF.buffer.dicionario)+" "; + $i("i3GEObufferondeItens").style.display = "block"; + }, + "i3GEObufferondeItens" + ); + } +}; \ No newline at end of file -- libgit2 0.21.2