Commit 85ac8255a517e17c9f5b17a09155836e4ce2262b
1 parent
5ba61dcf
Exists in
master
and in
7 other branches
Inclusao da ferramenta heatmap
Showing
4 changed files
with
379 additions
and
0 deletions
Show diff stats
| @@ -0,0 +1,58 @@ | @@ -0,0 +1,58 @@ | ||
| 1 | +//+$trad(1,i3GEOF.buffer.dicionario)+ | ||
| 2 | +i3GEOF.buffer.dicionario = { | ||
| 3 | +1: [{ | ||
| 4 | +pt:"O entorno, ou buffer, é um polígono que circunda um elemento geográfico em uma distância fixa.", | ||
| 5 | +en:"", | ||
| 6 | +es:"" | ||
| 7 | +}], | ||
| 8 | +2: [{ | ||
| 9 | +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.", | ||
| 10 | +en:"", | ||
| 11 | +es:"" | ||
| 12 | +}], | ||
| 13 | +3: [{ | ||
| 14 | +pt:"Tema, com seleção, que será utilizado", | ||
| 15 | +en:"", | ||
| 16 | +es:"" | ||
| 17 | +}], | ||
| 18 | +4: [{ | ||
| 19 | +pt:"Distância do entorno em metros:", | ||
| 20 | +en:"", | ||
| 21 | +es:"" | ||
| 22 | +}], | ||
| 23 | +5: [{ | ||
| 24 | +pt:"Considerar os elementos selecionados como se fossem um só?", | ||
| 25 | +en:"", | ||
| 26 | +es:"" | ||
| 27 | +}], | ||
| 28 | +6: [{ | ||
| 29 | +pt:"O tema com o entorno será adicionado ao mapa atual", | ||
| 30 | +en:"", | ||
| 31 | +es:"" | ||
| 32 | +}], | ||
| 33 | +7: [{ | ||
| 34 | +pt:"Criar entorno", | ||
| 35 | +en:"", | ||
| 36 | +es:"" | ||
| 37 | +}], | ||
| 38 | +8: [{ | ||
| 39 | +pt:"Erro. A operação demorou muito", | ||
| 40 | +en:"", | ||
| 41 | +es:"" | ||
| 42 | +}], | ||
| 43 | +9: [{ | ||
| 44 | +pt:"Distancia invalida", | ||
| 45 | +en:"", | ||
| 46 | +es:"" | ||
| 47 | +}], | ||
| 48 | +10: [{ | ||
| 49 | +pt:"Ou um item da tabela de atributos que contém as distâncias:", | ||
| 50 | +en:"", | ||
| 51 | +es:"" | ||
| 52 | +}], | ||
| 53 | +11: [{ | ||
| 54 | +pt:"Multiplicar por:", | ||
| 55 | +en:"", | ||
| 56 | +es:"" | ||
| 57 | +}] | ||
| 58 | +}; | ||
| 0 | \ No newline at end of file | 59 | \ No newline at end of file |
| @@ -0,0 +1,38 @@ | @@ -0,0 +1,38 @@ | ||
| 1 | +<?php | ||
| 2 | +include_once(dirname(__FILE__)."/../inicia.php"); | ||
| 3 | +// | ||
| 4 | +//faz a busca da função que deve ser executada | ||
| 5 | +// | ||
| 6 | +$retorno = ""; //string que será retornada ao browser via JSON | ||
| 7 | +switch (strtoupper($funcao)) | ||
| 8 | +{ | ||
| 9 | +/* | ||
| 10 | +Valor: CRIABUFFER | ||
| 11 | + | ||
| 12 | +Gera entorno (buffer) nos elementos selecionados de um tema. | ||
| 13 | + | ||
| 14 | +Salva o mapa acrescentando um novo layer com o buffer. | ||
| 15 | + | ||
| 16 | +<Analise->criaBuffer> | ||
| 17 | +*/ | ||
| 18 | + case "CRIABUFFER": | ||
| 19 | + include_once(dirname(__FILE__)."/../../classesphp/classe_analise.php"); | ||
| 20 | + copiaSeguranca($map_file); | ||
| 21 | + $m = new Analise($map_file,$tema,$locaplic,$ext); | ||
| 22 | + $retorno = $m->criaBuffer($distancia,$locaplic,$unir,$wkt,$multiplicar,$itemdistancia); | ||
| 23 | + $m->salva(); | ||
| 24 | + $_SESSION["contadorsalva"]++; | ||
| 25 | + //limpa selecao | ||
| 26 | + $qyfile = str_replace(".map",".qy",$map_file); | ||
| 27 | + if (file_exists($qyfile)) | ||
| 28 | + {unlink ($qyfile);} | ||
| 29 | + break; | ||
| 30 | +} | ||
| 31 | +if (!connection_aborted()){ | ||
| 32 | + if(isset($map_file) && isset($postgis_mapa) && $map_file != "") | ||
| 33 | + restauraCon($map_file,$postgis_mapa); | ||
| 34 | + cpjson($retorno); | ||
| 35 | +} | ||
| 36 | +else | ||
| 37 | +{exit();} | ||
| 38 | +?> | ||
| 0 | \ No newline at end of file | 39 | \ No newline at end of file |
6.46 KB
| @@ -0,0 +1,283 @@ | @@ -0,0 +1,283 @@ | ||
| 1 | + | ||
| 2 | +/*jslint plusplus:false,white:false,undef: false, rhino: true, onevar: true, evil: true */ | ||
| 3 | + | ||
| 4 | +/* | ||
| 5 | +Title: Buffer | ||
| 6 | + | ||
| 7 | +Realiza o cálculo de "buffer" (região de entorno) dos elementos selecionados de um tema e adiciona uma nova | ||
| 8 | +camada ao mapa. | ||
| 9 | +Utiliza a função buffer do Mapserver. | ||
| 10 | + | ||
| 11 | +Veja: | ||
| 12 | + | ||
| 13 | +<i3GEO.analise.dialogo.buffer> | ||
| 14 | + | ||
| 15 | +Arquivo: | ||
| 16 | + | ||
| 17 | +i3geo/ferramentas/buffer/index.js.php | ||
| 18 | + | ||
| 19 | +Licenca: | ||
| 20 | + | ||
| 21 | +GPL2 | ||
| 22 | + | ||
| 23 | +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet | ||
| 24 | + | ||
| 25 | +Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil | ||
| 26 | +Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com | ||
| 27 | + | ||
| 28 | +Este programa é software livre; você pode redistribuí-lo | ||
| 29 | +e/ou modificá-lo sob os termos da Licença Pública Geral | ||
| 30 | +GNU conforme publicada pela Free Software Foundation; | ||
| 31 | + | ||
| 32 | +Este programa é distribuído na expectativa de que seja útil, | ||
| 33 | +porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | ||
| 34 | +de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | ||
| 35 | +Consulte a Licença Pública Geral do GNU para mais detalhes. | ||
| 36 | +Você deve ter recebido uma cópia da Licença Pública Geral do | ||
| 37 | +GNU junto com este programa; se não, escreva para a | ||
| 38 | +Free Software Foundation, Inc., no endereço | ||
| 39 | +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | ||
| 40 | +*/ | ||
| 41 | +if(typeof(i3GEOF) === 'undefined'){ | ||
| 42 | + var i3GEOF = {}; | ||
| 43 | +} | ||
| 44 | +/* | ||
| 45 | +Class: i3GEOF.buffer | ||
| 46 | +*/ | ||
| 47 | +i3GEOF.buffer = { | ||
| 48 | + /* | ||
| 49 | + Variavel: aguarde | ||
| 50 | + | ||
| 51 | + Objeto DOM com a imagem de aguarde existente no cabeçalho da janela. | ||
| 52 | + */ | ||
| 53 | + aguarde: "", | ||
| 54 | + /* | ||
| 55 | + Para efeitos de compatibilidade antes da versão 4.7 que não tinha dicionário | ||
| 56 | + */ | ||
| 57 | + criaJanelaFlutuante: function(){ | ||
| 58 | + i3GEOF.buffer.iniciaDicionario(); | ||
| 59 | + }, | ||
| 60 | + /* | ||
| 61 | + Function: iniciaDicionario | ||
| 62 | + | ||
| 63 | + Carrega o dicionário e chama a função que inicia a ferramenta | ||
| 64 | + | ||
| 65 | + O Javascript é carregado com o id i3GEOF.nomedaferramenta.dicionario_script | ||
| 66 | + */ | ||
| 67 | + iniciaDicionario: function(){ | ||
| 68 | + if(typeof(i3GEOF.buffer.dicionario) === 'undefined'){ | ||
| 69 | + i3GEO.util.scriptTag( | ||
| 70 | + i3GEO.configura.locaplic+"/ferramentas/buffer/dicionario.js", | ||
| 71 | + "i3GEOF.buffer.iniciaJanelaFlutuante()", | ||
| 72 | + "i3GEOF.buffer.dicionario_script" | ||
| 73 | + ); | ||
| 74 | + } | ||
| 75 | + else{ | ||
| 76 | + i3GEOF.buffer.iniciaJanelaFlutuante(); | ||
| 77 | + } | ||
| 78 | + }, | ||
| 79 | + /* | ||
| 80 | + Function: inicia | ||
| 81 | + | ||
| 82 | + Inicia a ferramenta. É chamado por criaJanelaFlutuante | ||
| 83 | + | ||
| 84 | + Parametro: | ||
| 85 | + | ||
| 86 | + iddiv {String} - id do div que receberá o conteudo HTML da ferramenta | ||
| 87 | + */ | ||
| 88 | + inicia: function(iddiv){ | ||
| 89 | + try{ | ||
| 90 | + $i(iddiv).innerHTML += i3GEOF.buffer.html(); | ||
| 91 | + i3GEOF.buffer.t0(); | ||
| 92 | + } | ||
| 93 | + catch(erro){i3GEO.janela.tempoMsg(erro);} | ||
| 94 | + }, | ||
| 95 | + /* | ||
| 96 | + Function: html | ||
| 97 | + | ||
| 98 | + Gera o código html para apresentação das opções da ferramenta | ||
| 99 | + | ||
| 100 | + Retorno: | ||
| 101 | + | ||
| 102 | + String com o código html | ||
| 103 | + */ | ||
| 104 | + html:function(){ | ||
| 105 | + var ins = ''; | ||
| 106 | + ins += '<div style="background-color:#F2F2F2;top:0px;left:0px;display:block;width:98%;" id="i3GEObufferresultado" >'; | ||
| 107 | + ins += '</div>'; | ||
| 108 | + ins += '<div style="top:10px;left:0px;display:block;width:98%;color:red" id="i3GEObufferfim" >'; | ||
| 109 | + ins += '</div>'; | ||
| 110 | + return ins; | ||
| 111 | + }, | ||
| 112 | + /* | ||
| 113 | + Function: iniciaJanelaFlutuante | ||
| 114 | + | ||
| 115 | + Cria a janela flutuante para controle da ferramenta. | ||
| 116 | + */ | ||
| 117 | + iniciaJanelaFlutuante: function(){ | ||
| 118 | + var janela,divid,temp,titulo; | ||
| 119 | + //cria a janela flutuante | ||
| 120 | + titulo = $trad("u10")+" <a class=ajuda_usuario target=_blank href='" + i3GEO.configura.locaplic + "/ajuda_usuario.php?idcategoria=3&idajuda=24' > </a>"; | ||
| 121 | + cabecalho = function(){}; | ||
| 122 | + janela = i3GEO.janela.cria( | ||
| 123 | + "400px", | ||
| 124 | + "200px", | ||
| 125 | + "", | ||
| 126 | + "", | ||
| 127 | + "", | ||
| 128 | + titulo, | ||
| 129 | + "i3GEOF.buffer", | ||
| 130 | + false, | ||
| 131 | + "hd", | ||
| 132 | + function(){}, | ||
| 133 | + function(){ | ||
| 134 | + i3GEO.janela.minimiza("i3GEOF.buffer"); | ||
| 135 | + }, | ||
| 136 | + "", | ||
| 137 | + false, | ||
| 138 | + i3GEO.configura.locaplic+"/imagens/oxygen/16x16/accessories-calculator.png" | ||
| 139 | + ); | ||
| 140 | + divid = janela[2].id; | ||
| 141 | + janela[0].setFooter("<div id=i3GEOF.buffer_rodape style=background-color:#F2F2F2; ></div>"); | ||
| 142 | + i3GEOF.buffer.aguarde = $i("i3GEOF.buffer_imagemCabecalho").style; | ||
| 143 | + i3GEOF.buffer.inicia(divid); | ||
| 144 | + temp = function(){ | ||
| 145 | + //i3GEO.janela.tempoMsg("oi"); | ||
| 146 | + if(i3GEO.eventos.ATUALIZAARVORECAMADAS.toString().search("i3GEOF.buffer.t0()") > 0) | ||
| 147 | + {i3GEO.eventos.ATUALIZAARVORECAMADAS.remove("i3GEOF.buffer.t0()");} | ||
| 148 | + }; | ||
| 149 | + YAHOO.util.Event.addListener(janela[0].close, "click", temp); | ||
| 150 | + if(i3GEO.eventos.ATUALIZAARVORECAMADAS.toString().search("i3GEOF.buffer.t0()") < 0) | ||
| 151 | + {i3GEO.eventos.ATUALIZAARVORECAMADAS.push("i3GEOF.buffer.t0()");} | ||
| 152 | + }, | ||
| 153 | + t0: function() | ||
| 154 | + { | ||
| 155 | + var ins = "<img class=i3GeoExemploImg src='"+i3GEO.configura.locaplic+"/ferramentas/buffer/exemplo.png' />" + | ||
| 156 | + "<p class='paragrafo' >"+$trad(1,i3GEOF.buffer.dicionario) + | ||
| 157 | + "<p class='paragrafo' >"+$trad(2,i3GEOF.buffer.dicionario); | ||
| 158 | + i3GEO.util.proximoAnterior("","i3GEOF.buffer.t1()",ins,"i3GEOFgradeDePontost0","i3GEObufferresultado",true,"i3GEOF.buffer_rodape"); | ||
| 159 | + }, | ||
| 160 | + t1: function(){ | ||
| 161 | + var ins = "<p class='paragrafo'>"+$trad(3,i3GEOF.buffer.dicionario)+":"; | ||
| 162 | + ins += "<div id='i3GEObufferSelTemas' style='text-align:left;font-size:11px'></div>"; | ||
| 163 | + i3GEO.util.proximoAnterior("i3GEOF.buffer.t0()","i3GEOF.buffer.t2()",ins,"i3GEOF.buffer.t1","i3GEObufferresultado",true,"i3GEOF.buffer_rodape"); | ||
| 164 | + i3GEOF.buffer.comboTemasSel(); | ||
| 165 | + }, | ||
| 166 | + t2: function(){ | ||
| 167 | + var ins = "<p class='paragrafo'>"+$trad(4,i3GEOF.buffer.dicionario); | ||
| 168 | + ins += "<br></p><input onclick='javascript:this.select();' class=digitar id='i3GEObufferd' type=text size=10 value='0'/>"; | ||
| 169 | + | ||
| 170 | + ins += "<br><br><p class='paragrafo' >"+$trad(10,i3GEOF.buffer.dicionario); | ||
| 171 | + ins += "<br></p><div id=i3GEObufferondeItens style='text-align:left;display:block' ></div> "; | ||
| 172 | + | ||
| 173 | + ins += "<br><p class='paragrafo'>"+$trad(5,i3GEOF.buffer.dicionario); | ||
| 174 | + ins += "<br></p><select id=i3GEObufferunir ><option value=nao selected >"+$trad("x15")+"</option><option value=sim >"+$trad("x14")+"</option></select>"; | ||
| 175 | + i3GEO.util.proximoAnterior("i3GEOF.buffer.t1()","i3GEOF.buffer.t3()",ins,"i3GEOF.buffer.t2","i3GEObufferresultado",true,"i3GEOF.buffer_rodape"); | ||
| 176 | + i3GEOF.buffer.comboItens(); | ||
| 177 | + }, | ||
| 178 | + t3: function(){ | ||
| 179 | + var ins = "<p class='paragrafo'>"+$trad(6,i3GEOF.buffer.dicionario); | ||
| 180 | + ins += "<br><br><input id=i3GEObufferbotao1 type='button' value='"+$trad(7,i3GEOF.buffer.dicionario)+"' />"; | ||
| 181 | + i3GEO.util.proximoAnterior("i3GEOF.buffer.t2()","",ins,"i3GEOF.buffer.t3","i3GEObufferresultado",true,"i3GEOF.buffer_rodape"); | ||
| 182 | + new YAHOO.widget.Button( | ||
| 183 | + "i3GEObufferbotao1", | ||
| 184 | + {onclick:{fn: i3GEOF.buffer.criaBuffer}} | ||
| 185 | + ); | ||
| 186 | + }, | ||
| 187 | + /* | ||
| 188 | + Function: criaBuffer | ||
| 189 | + | ||
| 190 | + Executa a operação de geração do buffer | ||
| 191 | + | ||
| 192 | + Veja: | ||
| 193 | + | ||
| 194 | + <CRIABUFFER> | ||
| 195 | + */ | ||
| 196 | + criaBuffer: function(){ | ||
| 197 | + try{ | ||
| 198 | + if(i3GEOF.buffer.aguarde.visibility === "visible") | ||
| 199 | + {return;} | ||
| 200 | + var distancia = $i("i3GEObufferd").value, | ||
| 201 | + tema = $i("i3GEObuffertemasComSel").value, | ||
| 202 | + multiplicar = $i("i3GEObufferdfator").value*1, | ||
| 203 | + itemdistancia = $i("i3GEObuffertemasItem").value, | ||
| 204 | + p, | ||
| 205 | + fim, | ||
| 206 | + cp; | ||
| 207 | + if (distancia*1 !== 0 || itemdistancia != ""){ | ||
| 208 | + i3GEOF.buffer.aguarde.visibility = "visible"; | ||
| 209 | + fim = function(retorno){ | ||
| 210 | + i3GEOF.buffer.aguarde.visibility = "hidden"; | ||
| 211 | + if (retorno.data === undefined ) | ||
| 212 | + {$i("i3GEObufferfim").innerHTML = $trad(8,i3GEOF.buffer.dicionario);} | ||
| 213 | + else | ||
| 214 | + {i3GEO.atualiza();} | ||
| 215 | + }; | ||
| 216 | + p = i3GEO.configura.locaplic+"/ferramentas/buffer/exec.php?g_sid="+i3GEO.configura.sid+"&funcao=criabuffer&tema="+tema+"&unir="+$i("i3GEObufferunir").value; | ||
| 217 | + if(itemdistancia != ""){ | ||
| 218 | + p += "&distancia=0&itemdistancia="+itemdistancia+"&multiplicar="+multiplicar; | ||
| 219 | + }else{ | ||
| 220 | + p += "&distancia=" + distancia*1 + "&itemdistancia=&multiplicar=1"; | ||
| 221 | + } | ||
| 222 | + cp = new cpaint(); | ||
| 223 | + cp.set_response_type("JSON"); | ||
| 224 | + cp.call(p,"criaBuffer",fim); | ||
| 225 | + } | ||
| 226 | + else | ||
| 227 | + {i3GEO.janela.tempoMsg($trad(9,i3GEOF.buffer.dicionario));} | ||
| 228 | + } | ||
| 229 | + catch(e){$i("i3GEObufferfim").innerHTML = "<p class='paragrafo' >Erro. "+e;i3GEO.janela.fechaAguarde();i3GEOF.buffer.aguarde.visibility = "hidden";} | ||
| 230 | + }, | ||
| 231 | + /* | ||
| 232 | + Function: comboTemasSel | ||
| 233 | + | ||
| 234 | + Cria um combo com a lista de temas com elementos selecionados | ||
| 235 | + | ||
| 236 | + Veja: | ||
| 237 | + | ||
| 238 | + <i3GEO.util.comboTemas> | ||
| 239 | + */ | ||
| 240 | + comboTemasSel: function(){ | ||
| 241 | + i3GEO.util.comboTemas( | ||
| 242 | + "i3GEObuffertemasComSel", | ||
| 243 | + function(retorno){ | ||
| 244 | + $i("i3GEObufferSelTemas").innerHTML = retorno.dados; | ||
| 245 | + $i("i3GEObufferSelTemas").style.display = "block"; | ||
| 246 | + if ($i("i3GEObuffertemasComSel")){ | ||
| 247 | + $i("i3GEObuffertemasComSel").onchange = function(){ | ||
| 248 | + i3GEO.mapa.ativaTema($i("i3GEObuffertemasComSel").value); | ||
| 249 | + }; | ||
| 250 | + } | ||
| 251 | + if(i3GEO.temaAtivo !== ""){ | ||
| 252 | + $i("i3GEObuffertemasComSel").value = i3GEO.temaAtivo; | ||
| 253 | + $i("i3GEObuffertemasComSel").onchange.call(); | ||
| 254 | + } | ||
| 255 | + }, | ||
| 256 | + "i3GEObufferSelTemas", | ||
| 257 | + "", | ||
| 258 | + false, | ||
| 259 | + "selecionados" | ||
| 260 | + ); | ||
| 261 | + }, | ||
| 262 | + /* | ||
| 263 | + Function: comboItens | ||
| 264 | + | ||
| 265 | + Cria um combo para escolha de um item do tema | ||
| 266 | + | ||
| 267 | + Veja: | ||
| 268 | + | ||
| 269 | + <i3GEO.util.comboItens> | ||
| 270 | + | ||
| 271 | + */ | ||
| 272 | + comboItens: function(){ | ||
| 273 | + i3GEO.util.comboItens( | ||
| 274 | + "i3GEObuffertemasItem", | ||
| 275 | + $i("i3GEObuffertemasComSel").value, | ||
| 276 | + function(retorno){ | ||
| 277 | + $i("i3GEObufferondeItens").innerHTML = retorno.dados + " " + $trad(11,i3GEOF.buffer.dicionario)+" <input onclick='javascript:this.select();' class=digitar id='i3GEObufferdfator' type=text size=10 value='1'/>"; | ||
| 278 | + $i("i3GEObufferondeItens").style.display = "block"; | ||
| 279 | + }, | ||
| 280 | + "i3GEObufferondeItens" | ||
| 281 | + ); | ||
| 282 | + } | ||
| 283 | +}; | ||
| 0 | \ No newline at end of file | 284 | \ No newline at end of file |