Commit c25d09e511c36cf3c9d10393f5502a9e4d715bb9
1 parent
824ec909
Exists in
master
and in
7 other branches
-
Showing
5 changed files
with
279 additions
and
357 deletions
Show diff stats
classesjs/classe_plugini3geo.js
| ... | ... | @@ -159,7 +159,7 @@ i3GEO.pluginI3geo = |
| 159 | 159 | formAdmin : function(config) { |
| 160 | 160 | // {"plugin":"heatmap","parametros":{"coluna":"","radius":15,"max":10}} |
| 161 | 161 | var parametros, ins = "", configDefault = |
| 162 | - '{"plugin":"heatmap","parametros":{"tipoGradiente": "default","coluna":"1","radius":15,"max":10}}'; | |
| 162 | + '{"plugin":"heatmap","parametros":{"tipoGradiente": "default","valorPonto":1,"coluna":"","radius":15}}'; | |
| 163 | 163 | if (config === "") { |
| 164 | 164 | config = configDefault; |
| 165 | 165 | } |
| ... | ... | @@ -170,18 +170,22 @@ i3GEO.pluginI3geo = |
| 170 | 170 | parametros = config.parametros; |
| 171 | 171 | ins += |
| 172 | 172 | "" |
| 173 | - + "<p>Coluna que contém os dados ou valor numérico para cada ponto:" | |
| 173 | + + "<p>Coluna que contém os dados:" | |
| 174 | 174 | + "<br><input name='coluna' type='text' value='" |
| 175 | 175 | + parametros.coluna |
| 176 | 176 | + "' size='30'></p>" |
| 177 | + + "<p>Ou valor numérico para cada ponto:" | |
| 178 | + + "<br><input name='valorPonto' type='text' value='" | |
| 179 | + + parametros.valorPonto | |
| 180 | + + "' size='30'></p>" | |
| 177 | 181 | + "<p>Raio de cada ponto em pixels:" |
| 178 | 182 | + "<br><input name='radius' type='text' value='" |
| 179 | 183 | + parametros.radius |
| 180 | 184 | + "' size='30'></p>" |
| 181 | - + "<p>Valor máximo em cada ponto:" | |
| 182 | - + "<br><input name='max' type='text' value='" | |
| 183 | - + parametros.max | |
| 184 | - + "' size='30'></p>" | |
| 185 | + //+ "<p>Valor máximo em cada ponto:" | |
| 186 | + //+ "<br><input name='max' type='text' value='" | |
| 187 | + //+ parametros.max | |
| 188 | + //+ "' size='30'></p>" | |
| 185 | 189 | + "<p>Tipo de gradiente (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):" |
| 186 | 190 | + "<br><input name='tipoGradiente' type='text' value='" |
| 187 | 191 | + parametros.tipoGradiente |
| ... | ... | @@ -291,10 +295,10 @@ i3GEO.pluginI3geo = |
| 291 | 295 | var nomeScript = "heatmap_script", p = i3GEO.configura.locaplic + "/ferramentas/heatmap/openlayers_js.php", carregaJs = |
| 292 | 296 | "nao", criaLayer; |
| 293 | 297 | criaLayer = function() { |
| 294 | - var heatmap, transformedTestData = { | |
| 295 | - max : camada.plugini3geo.parametros.max, | |
| 298 | + var temp, heatmap, transformedTestData = { | |
| 299 | + max : 1, | |
| 296 | 300 | data : [] |
| 297 | - }, data = heatmap_dados, datalen = heatmap_dados.length, nudata = []; | |
| 301 | + }, data = heatmap_dados, datalen = heatmap_dados.length, nudata = [], max = 0; | |
| 298 | 302 | |
| 299 | 303 | // para uso com o mashup |
| 300 | 304 | if (!objMapa) { |
| ... | ... | @@ -307,11 +311,14 @@ i3GEO.pluginI3geo = |
| 307 | 311 | // count: |
| 308 | 312 | // <count>},...]} |
| 309 | 313 | while (datalen--) { |
| 314 | + temp = heatmap_dados[datalen].count; | |
| 310 | 315 | nudata.push({ |
| 311 | 316 | lonlat : new OpenLayers.LonLat(data[datalen].lng, heatmap_dados[datalen].lat), |
| 312 | - count : heatmap_dados[datalen].count | |
| 317 | + count : temp | |
| 313 | 318 | }); |
| 319 | + max = Math.max(max, temp); | |
| 314 | 320 | } |
| 321 | + transformedTestData.max = max; | |
| 315 | 322 | transformedTestData.data = nudata; |
| 316 | 323 | // create our heatmap layer |
| 317 | 324 | heatmap = new OpenLayers.Layer.Heatmap(camada.name, objMapa, objMapa.baseLayer, { |
| ... | ... | @@ -568,7 +575,8 @@ i3GEO.pluginI3geo = |
| 568 | 575 | symbolizer : { |
| 569 | 576 | externalGraphic : markercluster_config.ponto.url, |
| 570 | 577 | graphicWidth : markercluster_config.ponto.width, |
| 571 | - graphicHeight : markercluster_config.ponto.height | |
| 578 | + graphicHeight : markercluster_config.ponto.height, | |
| 579 | + graphicYOffset: (markercluster_config.ponto.height / 2) * -1 | |
| 572 | 580 | } |
| 573 | 581 | }); |
| 574 | 582 | regras.push(regra); | ... | ... |
ferramentas/heatmap/exec.php
| ... | ... | @@ -17,12 +17,12 @@ Adiciona ao mapa uma nova camada para calculo do mapa de calor |
| 17 | 17 | $layer = $map->getlayerbyname($tema); |
| 18 | 18 | $novolayer = ms_newLayerObj($map, $layer); |
| 19 | 19 | $novolayer->setmetadata("tema",$titulo); |
| 20 | - if($coluna == ""){ | |
| 21 | - $coluna = $valorPonto; | |
| 22 | - } | |
| 23 | - $parametros = '{"plugin":"heatmap","parametros":{"opacity":"'.$opacidade.'","coluna":"'.$coluna.'","radius":"'.$raio.'","max":"'.$max.'"}}'; | |
| 20 | + $parametros = '{"plugin":"heatmap","parametros":{"tipoGradiente":"default","valorPonto":"'.$valorPonto.'","coluna":"'.$coluna.'","radius":"'.$raio.'"}}'; | |
| 24 | 21 | $novolayer->setmetadata("PLUGINI3GEO",$parametros); |
| 25 | 22 | $novolayer->set("name",$nameLayer); |
| 23 | + if(!empty($opacidade)){ | |
| 24 | + $novolayer->set("opacity",$opacidade); | |
| 25 | + } | |
| 26 | 26 | $map->save($map_file); |
| 27 | 27 | $retorno = $nameLayer; |
| 28 | 28 | break; | ... | ... |
ferramentas/heatmap/funcoes.php
| 1 | 1 | <?php |
| 2 | 2 | function heatmapDados($map_file){ |
| 3 | - global $dir,$layer,$coluna; | |
| 3 | + global $dir,$layer,$coluna,$valorPonto; | |
| 4 | 4 | //pega os dados e formata como uma string no formato |
| 5 | 5 | // [{"lat":"-21.7079984","lng":"-47.4913629","count":"1"}] |
| 6 | 6 | //os dados sao devolvidos como uma variavel javascript |
| ... | ... | @@ -10,9 +10,12 @@ function heatmapDados($map_file){ |
| 10 | 10 | $registros = $m->listaRegistrosXY($coluna, "brasil", "tudo"); |
| 11 | 11 | $n = count($registros); |
| 12 | 12 | $resultado = array(); |
| 13 | + if(empty($valorPonto)){ | |
| 14 | + $valorPonto = 1; | |
| 15 | + } | |
| 13 | 16 | if(empty($coluna)){ |
| 14 | 17 | foreach($registros as $r){ |
| 15 | - $resultado[] = '{"lat":"'.$r["y"].'","lng":"'.$r["x"].'","count":"1"}'; | |
| 18 | + $resultado[] = '{"lat":"'.$r["y"].'","lng":"'.$r["x"].'","count":"'.$valorPonto.'"}'; | |
| 16 | 19 | } |
| 17 | 20 | } |
| 18 | 21 | else{ | ... | ... |
ferramentas/heatmap/index.js
| 1 | 1 | /** |
| 2 | 2 | * Title: heatmap |
| 3 | - * | |
| 3 | + * | |
| 4 | 4 | * Gera um mapa de calor baseado em uma camada existente no mapa. |
| 5 | - * | |
| 6 | - * Mapas de calor são camadas que utilizam o plugin de camadas heatmap. | |
| 7 | - * Veja em classesjs/classe_plugini3geo.js | |
| 8 | - * | |
| 9 | - * A ferramenta altera o mapfile em uso clonando o mapfile escolhido e | |
| 10 | - * adicionando os metadados necessários ao uso do heatmap | |
| 11 | - * | |
| 5 | + * | |
| 6 | + * Mapas de calor são camadas que utilizam o plugin de camadas heatmap. Veja em classesjs/classe_plugini3geo.js | |
| 7 | + * | |
| 8 | + * A ferramenta altera o mapfile em uso clonando o mapfile escolhido e adicionando os metadados necessários ao uso do heatmap | |
| 9 | + * | |
| 12 | 10 | * Veja: |
| 13 | - * | |
| 11 | + * | |
| 14 | 12 | * <i3GEO.analise.dialogo.heatmap> |
| 15 | - * | |
| 13 | + * | |
| 16 | 14 | * Arquivo: |
| 17 | - * | |
| 15 | + * | |
| 18 | 16 | * i3geo/ferramentas/heatmap/index.js.php |
| 19 | - * | |
| 17 | + * | |
| 20 | 18 | * Licenca: |
| 21 | - * | |
| 19 | + * | |
| 22 | 20 | * GPL2 |
| 23 | - * | |
| 21 | + * | |
| 24 | 22 | * i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet |
| 25 | - * | |
| 26 | - * Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente | |
| 27 | - * Brasil Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com | |
| 28 | - * | |
| 29 | - * Este programa é software livre; você pode redistribuí-lo | |
| 30 | - * e/ou modificá-lo sob os termos da Licença Pública Geral | |
| 31 | - * GNU conforme publicada pela Free Software Foundation; | |
| 32 | - * | |
| 33 | - * Este programa é distribuído na expectativa de que seja | |
| 34 | - * útil, porém, SEM NENHUMA GARANTIA; nem mesmo a garantia | |
| 35 | - * implícita de COMERCIABILIDADE OU ADEQUAÇÃO A UMA | |
| 36 | - * FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral | |
| 37 | - * do GNU para mais detalhes. Você deve ter recebido uma cópia da | |
| 38 | - * Licença Pública Geral do GNU junto com este programa; se | |
| 39 | - * não, escreva para a Free Software Foundation, Inc., no endereço | |
| 40 | - * 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | |
| 23 | + * | |
| 24 | + * Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com | |
| 25 | + * | |
| 26 | + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença | |
| 27 | + * Pública Geral GNU conforme publicada pela Free Software Foundation; | |
| 28 | + * | |
| 29 | + * Este programa é distribuído na expectativa de que seja útil, porém, SEM NENHUMA GARANTIA; nem mesmo a | |
| 30 | + * garantia implícita de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença | |
| 31 | + * Pública Geral do GNU para mais detalhes. Você deve ter recebido uma cópia da Licença Pública Geral do | |
| 32 | + * GNU junto com este programa; se não, escreva para a Free Software Foundation, Inc., no endereço 59 Temple Street, Suite | |
| 33 | + * 330, Boston, MA 02111-1307 USA. | |
| 41 | 34 | */ |
| 42 | 35 | if (typeof (i3GEOF) === 'undefined') { |
| 43 | 36 | var i3GEOF = {}; |
| 44 | 37 | } |
| 45 | -i3GEOF.heatmap = { | |
| 46 | - /** | |
| 47 | - * Variavel: aguarde | |
| 48 | - * | |
| 49 | - * Objeto DOM com a imagem de aguarde existente no cabeçalho da | |
| 50 | - * janela. | |
| 51 | - */ | |
| 52 | - aguarde : "", | |
| 53 | - /** | |
| 54 | - * Para efeitos de compatibilidade antes da versão 4.7 que não | |
| 55 | - * tinha dicionário | |
| 56 | - */ | |
| 57 | - criaJanelaFlutuante : function() { | |
| 58 | - i3GEOF.heatmap.iniciaDicionario(); | |
| 59 | - }, | |
| 60 | - /** | |
| 61 | - * Function: iniciaDicionario | |
| 62 | - * | |
| 63 | - * Carrega o dicionário e chama a função que inicia a | |
| 64 | - * ferramenta | |
| 65 | - * | |
| 66 | - * O Javascript é carregado com o id | |
| 67 | - * i3GEOF.nomedaferramenta.dicionario_script | |
| 68 | - */ | |
| 69 | - iniciaDicionario : function() { | |
| 70 | - if (typeof (i3GEOF.heatmap.dicionario) === 'undefined') { | |
| 71 | - i3GEO.util.scriptTag( | |
| 72 | - i3GEO.configura.locaplic | |
| 73 | - + "/ferramentas/heatmap/dicionario.js", | |
| 38 | +i3GEOF.heatmap = | |
| 39 | + { | |
| 40 | + /** | |
| 41 | + * Variavel: aguarde | |
| 42 | + * | |
| 43 | + * Objeto DOM com a imagem de aguarde existente no cabeçalho da janela. | |
| 44 | + */ | |
| 45 | + aguarde : "", | |
| 46 | + /** | |
| 47 | + * Para efeitos de compatibilidade antes da versão 4.7 que não tinha dicionário | |
| 48 | + */ | |
| 49 | + criaJanelaFlutuante : function() { | |
| 50 | + i3GEOF.heatmap.iniciaDicionario(); | |
| 51 | + }, | |
| 52 | + /** | |
| 53 | + * Function: iniciaDicionario | |
| 54 | + * | |
| 55 | + * Carrega o dicionário e chama a função que inicia a ferramenta | |
| 56 | + * | |
| 57 | + * O Javascript é carregado com o id i3GEOF.nomedaferramenta.dicionario_script | |
| 58 | + */ | |
| 59 | + iniciaDicionario : function() { | |
| 60 | + if (typeof (i3GEOF.heatmap.dicionario) === 'undefined') { | |
| 61 | + i3GEO.util.scriptTag( | |
| 62 | + i3GEO.configura.locaplic + "/ferramentas/heatmap/dicionario.js", | |
| 74 | 63 | "i3GEOF.heatmap.iniciaJanelaFlutuante()", |
| 75 | 64 | "i3GEOF.heatmap.dicionario_script"); |
| 76 | - } else { | |
| 77 | - i3GEOF.heatmap.iniciaJanelaFlutuante(); | |
| 78 | - } | |
| 79 | - }, | |
| 80 | - /** | |
| 81 | - * Function: inicia | |
| 82 | - * | |
| 83 | - * Inicia a ferramenta. É chamado por criaJanelaFlutuante | |
| 84 | - * | |
| 85 | - * Parametro: | |
| 86 | - * | |
| 87 | - * iddiv {String} - id do div que receberá o conteudo HTML da | |
| 88 | - * ferramenta | |
| 89 | - */ | |
| 90 | - inicia : function(iddiv) { | |
| 91 | - try { | |
| 92 | - $i(iddiv).innerHTML += i3GEOF.heatmap.html(); | |
| 93 | - i3GEOF.heatmap.t0(); | |
| 94 | - } catch (erro) { | |
| 95 | - i3GEO.janela.tempoMsg(erro); | |
| 96 | - } | |
| 97 | - }, | |
| 98 | - /** | |
| 99 | - * Function: html | |
| 100 | - * | |
| 101 | - * Gera o código html para apresentação das | |
| 102 | - * opções da ferramenta | |
| 103 | - * | |
| 104 | - * Retorno: | |
| 105 | - * | |
| 106 | - * String com o código html | |
| 107 | - */ | |
| 108 | - html : function() { | |
| 109 | - var ins = ''; | |
| 110 | - ins += '<div style="background-color:#F2F2F2;top:0px;left:0px;display:block;width:98%;" id="i3GEOheatmapresultado" >'; | |
| 111 | - ins += '</div>'; | |
| 112 | - ins += '<div style="top:10px;left:0px;display:block;width:98%;color:red" id="i3GEOheatmapfim" >'; | |
| 113 | - ins += '</div>'; | |
| 114 | - return ins; | |
| 115 | - }, | |
| 116 | - /** | |
| 117 | - * Function: iniciaJanelaFlutuante | |
| 118 | - * | |
| 119 | - * Cria a janela flutuante para controle da ferramenta. | |
| 120 | - */ | |
| 121 | - iniciaJanelaFlutuante : function() { | |
| 122 | - var janela, divid, temp, titulo; | |
| 123 | - // cria a janela flutuante | |
| 124 | - titulo = $trad("x102") | |
| 125 | - + " <a class=ajuda_usuario target=_blank href='" | |
| 126 | - + i3GEO.configura.locaplic | |
| 127 | - + "/ajuda_usuario.php?idcategoria=3&idajuda=121' > </a>"; | |
| 128 | - cabecalho = function() { | |
| 129 | - }; | |
| 130 | - janela = i3GEO.janela.cria( | |
| 131 | - "400px", | |
| 132 | - "250px", | |
| 133 | - "", | |
| 134 | - "", | |
| 135 | - "", | |
| 136 | - titulo, | |
| 137 | - "i3GEOF.heatmap", | |
| 138 | - false, | |
| 139 | - "hd", | |
| 140 | - function() { | |
| 141 | - }, | |
| 142 | - function() { | |
| 143 | - i3GEO.janela.minimiza("i3GEOF.heatmap"); | |
| 144 | - }, | |
| 145 | - "", | |
| 146 | - false, | |
| 147 | - i3GEO.configura.locaplic | |
| 148 | - + "/imagens/oxygen/16x16/accessories-calculator.png"); | |
| 149 | - divid = janela[2].id; | |
| 150 | - janela[0].setFooter("<div id=i3GEOF.heatmap_rodape style=background-color:#F2F2F2; ></div>"); | |
| 151 | - i3GEOF.heatmap.aguarde = $i("i3GEOF.heatmap_imagemCabecalho").style; | |
| 152 | - i3GEOF.heatmap.inicia(divid); | |
| 153 | - temp = function() { | |
| 154 | - // i3GEO.janela.tempoMsg("oi"); | |
| 155 | - if (i3GEO.eventos.ATUALIZAARVORECAMADAS.toString().search( | |
| 156 | - "i3GEOF.heatmap.t0()") > 0) { | |
| 157 | - i3GEO.eventos.ATUALIZAARVORECAMADAS.remove("i3GEOF.heatmap.t0()"); | |
| 65 | + } else { | |
| 66 | + i3GEOF.heatmap.iniciaJanelaFlutuante(); | |
| 158 | 67 | } |
| 159 | - }; | |
| 160 | - YAHOO.util.Event.addListener( | |
| 161 | - janela[0].close, | |
| 162 | - "click", | |
| 163 | - temp); | |
| 164 | - if (i3GEO.eventos.ATUALIZAARVORECAMADAS.toString().search( | |
| 165 | - "i3GEOF.heatmap.t0()") < 0) { | |
| 166 | - i3GEO.eventos.ATUALIZAARVORECAMADAS.push("i3GEOF.heatmap.t0()"); | |
| 167 | - } | |
| 168 | - }, | |
| 169 | - t0 : function() { | |
| 170 | - var ins = "<img class=i3GeoExemploImg src='" | |
| 171 | - + i3GEO.configura.locaplic | |
| 172 | - + "/ferramentas/heatmap/exemplo.png' />" | |
| 173 | - + "<p class='paragrafo' >" | |
| 174 | - + $trad( | |
| 175 | - 1, | |
| 176 | - i3GEOF.heatmap.dicionario) | |
| 177 | - + "<p class='paragrafo' >" | |
| 178 | - + $trad( | |
| 179 | - 2, | |
| 180 | - i3GEOF.heatmap.dicionario); | |
| 181 | - i3GEO.util.proximoAnterior( | |
| 68 | + }, | |
| 69 | + /** | |
| 70 | + * Function: inicia | |
| 71 | + * | |
| 72 | + * Inicia a ferramenta. É chamado por criaJanelaFlutuante | |
| 73 | + * | |
| 74 | + * Parametro: | |
| 75 | + * | |
| 76 | + * iddiv {String} - id do div que receberá o conteudo HTML da ferramenta | |
| 77 | + */ | |
| 78 | + inicia : function(iddiv) { | |
| 79 | + try { | |
| 80 | + $i(iddiv).innerHTML += i3GEOF.heatmap.html(); | |
| 81 | + i3GEOF.heatmap.t0(); | |
| 82 | + } catch (erro) { | |
| 83 | + i3GEO.janela.tempoMsg(erro); | |
| 84 | + } | |
| 85 | + }, | |
| 86 | + /** | |
| 87 | + * Function: html | |
| 88 | + * | |
| 89 | + * Gera o código html para apresentação das opções da ferramenta | |
| 90 | + * | |
| 91 | + * Retorno: | |
| 92 | + * | |
| 93 | + * String com o código html | |
| 94 | + */ | |
| 95 | + html : function() { | |
| 96 | + var ins = ''; | |
| 97 | + ins += '<div style="background-color:#F2F2F2;top:0px;left:0px;display:block;width:98%;" id="i3GEOheatmapresultado" >'; | |
| 98 | + ins += '</div>'; | |
| 99 | + ins += '<div style="top:10px;left:0px;display:block;width:98%;color:red" id="i3GEOheatmapfim" >'; | |
| 100 | + ins += '</div>'; | |
| 101 | + return ins; | |
| 102 | + }, | |
| 103 | + /** | |
| 104 | + * Function: iniciaJanelaFlutuante | |
| 105 | + * | |
| 106 | + * Cria a janela flutuante para controle da ferramenta. | |
| 107 | + */ | |
| 108 | + iniciaJanelaFlutuante : function() { | |
| 109 | + var janela, divid, temp, titulo; | |
| 110 | + // cria a janela flutuante | |
| 111 | + titulo = | |
| 112 | + $trad("x102") + " <a class=ajuda_usuario target=_blank href='" + i3GEO.configura.locaplic | |
| 113 | + + "/ajuda_usuario.php?idcategoria=3&idajuda=121' > </a>"; | |
| 114 | + cabecalho = function() { | |
| 115 | + }; | |
| 116 | + janela = i3GEO.janela.cria("400px", "250px", "", "", "", titulo, "i3GEOF.heatmap", false, "hd", function() { | |
| 117 | + }, function() { | |
| 118 | + i3GEO.janela.minimiza("i3GEOF.heatmap"); | |
| 119 | + }, "", false, i3GEO.configura.locaplic + "/imagens/oxygen/16x16/accessories-calculator.png"); | |
| 120 | + divid = janela[2].id; | |
| 121 | + janela[0].setFooter("<div id=i3GEOF.heatmap_rodape style=background-color:#F2F2F2; ></div>"); | |
| 122 | + i3GEOF.heatmap.aguarde = $i("i3GEOF.heatmap_imagemCabecalho").style; | |
| 123 | + i3GEOF.heatmap.inicia(divid); | |
| 124 | + temp = function() { | |
| 125 | + // i3GEO.janela.tempoMsg("oi"); | |
| 126 | + if (i3GEO.eventos.ATUALIZAARVORECAMADAS.toString().search("i3GEOF.heatmap.t0()") > 0) { | |
| 127 | + i3GEO.eventos.ATUALIZAARVORECAMADAS.remove("i3GEOF.heatmap.t0()"); | |
| 128 | + } | |
| 129 | + }; | |
| 130 | + YAHOO.util.Event.addListener(janela[0].close, "click", temp); | |
| 131 | + if (i3GEO.eventos.ATUALIZAARVORECAMADAS.toString().search("i3GEOF.heatmap.t0()") < 0) { | |
| 132 | + i3GEO.eventos.ATUALIZAARVORECAMADAS.push("i3GEOF.heatmap.t0()"); | |
| 133 | + } | |
| 134 | + }, | |
| 135 | + t0 : function() { | |
| 136 | + var ins = | |
| 137 | + "<img class=i3GeoExemploImg src='" + i3GEO.configura.locaplic + "/ferramentas/heatmap/exemplo.png' />" | |
| 138 | + + "<p class='paragrafo' >" + $trad(1, i3GEOF.heatmap.dicionario) + "<p class='paragrafo' >" | |
| 139 | + + $trad(2, i3GEOF.heatmap.dicionario); | |
| 140 | + i3GEO.util.proximoAnterior( | |
| 182 | 141 | "", |
| 183 | 142 | "i3GEOF.heatmap.t1()", |
| 184 | 143 | ins, |
| ... | ... | @@ -186,15 +145,11 @@ i3GEOF.heatmap = { |
| 186 | 145 | "i3GEOheatmapresultado", |
| 187 | 146 | true, |
| 188 | 147 | "i3GEOF.heatmap_rodape"); |
| 189 | - }, | |
| 190 | - t1 : function() { | |
| 191 | - var ins = "<p class='paragrafo'>" | |
| 192 | - + $trad( | |
| 193 | - 3, | |
| 194 | - i3GEOF.heatmap.dicionario) | |
| 195 | - + ":"; | |
| 196 | - ins += "<div id='i3GEOheatmapSelTemas' style='text-align:left;font-size:11px'></div>"; | |
| 197 | - i3GEO.util.proximoAnterior( | |
| 148 | + }, | |
| 149 | + t1 : function() { | |
| 150 | + var ins = "<p class='paragrafo'>" + $trad(3, i3GEOF.heatmap.dicionario) + ":"; | |
| 151 | + ins += "<div id='i3GEOheatmapSelTemas' style='text-align:left;font-size:11px'></div>"; | |
| 152 | + i3GEO.util.proximoAnterior( | |
| 198 | 153 | "i3GEOF.heatmap.t0()", |
| 199 | 154 | "i3GEOF.heatmap.t2()", |
| 200 | 155 | ins, |
| ... | ... | @@ -202,22 +157,16 @@ i3GEOF.heatmap = { |
| 202 | 157 | "i3GEOheatmapresultado", |
| 203 | 158 | true, |
| 204 | 159 | "i3GEOF.heatmap_rodape"); |
| 205 | - i3GEOF.heatmap.comboTemasSel(); | |
| 206 | - }, | |
| 207 | - t2 : function() { | |
| 208 | - var ins = "<p class='paragrafo'>" | |
| 209 | - + $trad( | |
| 210 | - 4, | |
| 211 | - i3GEOF.heatmap.dicionario); | |
| 212 | - ins += "<br></p><input onclick='javascript:this.select();' class=digitar id='i3GEOheatmapd' type=text size=10 value='1'/>"; | |
| 160 | + i3GEOF.heatmap.comboTemasSel(); | |
| 161 | + }, | |
| 162 | + t2 : function() { | |
| 163 | + var ins = "<p class='paragrafo'>" + $trad(4, i3GEOF.heatmap.dicionario); | |
| 164 | + ins += "<br></p><input onclick='javascript:this.select();' class=digitar id='i3GEOheatmapd' type=text size=10 value='1'/>"; | |
| 213 | 165 | |
| 214 | - ins += "<br><br><p class='paragrafo' >" | |
| 215 | - + $trad( | |
| 216 | - 10, | |
| 217 | - i3GEOF.heatmap.dicionario); | |
| 218 | - ins += "<br></p><div id=i3GEOheatmapondeItens style='text-align:left;display:block' ></div> "; | |
| 166 | + ins += "<br><br><p class='paragrafo' >" + $trad(10, i3GEOF.heatmap.dicionario); | |
| 167 | + ins += "<br></p><div id=i3GEOheatmapondeItens style='text-align:left;display:block' ></div> "; | |
| 219 | 168 | |
| 220 | - i3GEO.util.proximoAnterior( | |
| 169 | + i3GEO.util.proximoAnterior( | |
| 221 | 170 | "i3GEOF.heatmap.t1()", |
| 222 | 171 | "i3GEOF.heatmap.t3()", |
| 223 | 172 | ins, |
| ... | ... | @@ -225,34 +174,24 @@ i3GEOF.heatmap = { |
| 225 | 174 | "i3GEOheatmapresultado", |
| 226 | 175 | true, |
| 227 | 176 | "i3GEOF.heatmap_rodape"); |
| 228 | - i3GEOF.heatmap.comboItens(); | |
| 229 | - }, | |
| 230 | - t3 : function() { | |
| 231 | - var ins = "<p class='paragrafo'>" | |
| 232 | - + $trad( | |
| 233 | - 12, | |
| 234 | - i3GEOF.heatmap.dicionario); | |
| 235 | - ins += "<br></p><input onclick='javascript:this.select();' class=digitar id='i3GEOheatmapTitulo' type=text size=20 value='Mapa de calor'/>"; | |
| 177 | + i3GEOF.heatmap.comboItens(); | |
| 178 | + }, | |
| 179 | + t3 : function() { | |
| 180 | + var ins = "<p class='paragrafo'>" + $trad(12, i3GEOF.heatmap.dicionario); | |
| 181 | + ins += | |
| 182 | + "<br></p><input onclick='javascript:this.select();' class=digitar id='i3GEOheatmapTitulo' type=text size=20 value='Mapa de calor'/>"; | |
| 236 | 183 | |
| 237 | - ins += "<br><br><p class='paragrafo' >" | |
| 238 | - + $trad( | |
| 239 | - 13, | |
| 240 | - i3GEOF.heatmap.dicionario); | |
| 241 | - ins += "<br></p><input onclick='javascript:this.select();' class=digitar id='i3GEOheatmapRaio' type=text size=10 value='15'/>"; | |
| 184 | + ins += "<br><br><p class='paragrafo' >" + $trad(13, i3GEOF.heatmap.dicionario); | |
| 185 | + ins += "<br></p><input onclick='javascript:this.select();' class=digitar id='i3GEOheatmapRaio' type=text size=10 value='15'/>"; | |
| 242 | 186 | |
| 243 | - ins += "<br><br><p class='paragrafo' >" | |
| 244 | - + $trad( | |
| 245 | - 14, | |
| 246 | - i3GEOF.heatmap.dicionario); | |
| 247 | - ins += "<br></p><input onclick='javascript:this.select();' class=digitar id='i3GEOheatmapOpacidade' type=text size=10 value='50'/>"; | |
| 187 | + ins += "<br><br><p class='paragrafo' >" + $trad(14, i3GEOF.heatmap.dicionario); | |
| 188 | + ins += | |
| 189 | + "<br></p><input onclick='javascript:this.select();' class=digitar id='i3GEOheatmapOpacidade' type=text size=10 value='50'/>"; | |
| 248 | 190 | |
| 249 | - ins += "<br><br><p class='paragrafo' >" | |
| 250 | - + $trad( | |
| 251 | - 15, | |
| 252 | - i3GEOF.heatmap.dicionario); | |
| 253 | - ins += "<br></p><input onclick='javascript:this.select();' class=digitar id='i3GEOheatmapMax' type=text size=10 value='10'/>"; | |
| 191 | + //ins += "<br><br><p class='paragrafo' >" + $trad(15, i3GEOF.heatmap.dicionario); | |
| 192 | + //ins += "<br></p><input onclick='javascript:this.select();' class=digitar id='i3GEOheatmapMax' type=text size=10 value='10'/>"; | |
| 254 | 193 | |
| 255 | - i3GEO.util.proximoAnterior( | |
| 194 | + i3GEO.util.proximoAnterior( | |
| 256 | 195 | "i3GEOF.heatmap.t2()", |
| 257 | 196 | "i3GEOF.heatmap.t4()", |
| 258 | 197 | ins, |
| ... | ... | @@ -260,19 +199,12 @@ i3GEOF.heatmap = { |
| 260 | 199 | "i3GEOheatmapresultado", |
| 261 | 200 | true, |
| 262 | 201 | "i3GEOF.heatmap_rodape"); |
| 263 | - i3GEOF.heatmap.comboItens(); | |
| 264 | - }, | |
| 265 | - t4 : function() { | |
| 266 | - var ins = "<p class='paragrafo'>" | |
| 267 | - + $trad( | |
| 268 | - 6, | |
| 269 | - i3GEOF.heatmap.dicionario); | |
| 270 | - ins += "<br><br><input id=i3GEOheatmapbotao1 type='button' value='" | |
| 271 | - + $trad( | |
| 272 | - 7, | |
| 273 | - i3GEOF.heatmap.dicionario) | |
| 274 | - + "' />"; | |
| 275 | - i3GEO.util.proximoAnterior( | |
| 202 | + i3GEOF.heatmap.comboItens(); | |
| 203 | + }, | |
| 204 | + t4 : function() { | |
| 205 | + var ins = "<p class='paragrafo'>" + $trad(6, i3GEOF.heatmap.dicionario); | |
| 206 | + ins += "<br><br><input id=i3GEOheatmapbotao1 type='button' value='" + $trad(7, i3GEOF.heatmap.dicionario) + "' />"; | |
| 207 | + i3GEO.util.proximoAnterior( | |
| 276 | 208 | "i3GEOF.heatmap.t3()", |
| 277 | 209 | "", |
| 278 | 210 | ins, |
| ... | ... | @@ -280,122 +212,98 @@ i3GEOF.heatmap = { |
| 280 | 212 | "i3GEOheatmapresultado", |
| 281 | 213 | true, |
| 282 | 214 | "i3GEOF.heatmap_rodape"); |
| 283 | - new YAHOO.widget.Button("i3GEOheatmapbotao1", { | |
| 284 | - onclick : { | |
| 285 | - fn : i3GEOF.heatmap.criaheatmap | |
| 286 | - } | |
| 287 | - }); | |
| 288 | - }, | |
| 289 | - /** | |
| 290 | - * Function: criaheatmap | |
| 291 | - * | |
| 292 | - * Executa a operação de geração do heatmap | |
| 293 | - * | |
| 294 | - */ | |
| 295 | - criaheatmap : function() { | |
| 296 | - try { | |
| 297 | - if (i3GEOF.heatmap.aguarde.visibility === "visible") { | |
| 298 | - return; | |
| 299 | - } | |
| 300 | - var p, fim, cp; | |
| 215 | + new YAHOO.widget.Button("i3GEOheatmapbotao1", { | |
| 216 | + onclick : { | |
| 217 | + fn : i3GEOF.heatmap.criaheatmap | |
| 218 | + } | |
| 219 | + }); | |
| 220 | + }, | |
| 221 | + /** | |
| 222 | + * Function: criaheatmap | |
| 223 | + * | |
| 224 | + * Executa a operação de geração do heatmap | |
| 225 | + * | |
| 226 | + */ | |
| 227 | + criaheatmap : function() { | |
| 228 | + try { | |
| 229 | + if (i3GEOF.heatmap.aguarde.visibility === "visible") { | |
| 230 | + return; | |
| 231 | + } | |
| 232 | + var p, fim, cp; | |
| 301 | 233 | |
| 302 | - i3GEOF.heatmap.aguarde.visibility = "visible"; | |
| 303 | - fim = function(retorno) { | |
| 234 | + i3GEOF.heatmap.aguarde.visibility = "visible"; | |
| 235 | + fim = function(retorno) { | |
| 236 | + i3GEOF.heatmap.aguarde.visibility = "hidden"; | |
| 237 | + if (retorno.data === undefined) { | |
| 238 | + $i("i3GEOheatmapfim").innerHTML = $trad(8, i3GEOF.heatmap.dicionario); | |
| 239 | + } else { | |
| 240 | + i3GEO.atualiza(); | |
| 241 | + } | |
| 242 | + }; | |
| 243 | + p = | |
| 244 | + i3GEO.configura.locaplic + "/ferramentas/heatmap/exec.php?g_sid=" + i3GEO.configura.sid + "&funcao=criaheatmap" | |
| 245 | + + "&tema=" + $i("i3GEOheatmaptemasComSel").value | |
| 246 | + // + "&multiplicar=" | |
| 247 | + // + $i("i3GEOheatmapdfator").value | |
| 248 | + + "&coluna=" + $i("i3GEOheatmaptemasItem").value + "&valorPonto=" + $i("i3GEOheatmapd").value + "&titulo=" | |
| 249 | + + $i("i3GEOheatmapTitulo").value + "&opacidade=" + $i("i3GEOheatmapOpacidade").value + "&raio=" | |
| 250 | + + $i("i3GEOheatmapRaio").value;// + "&raio=" + $i("i3GEOheatmapMax").value; | |
| 251 | + | |
| 252 | + cp = new cpaint(); | |
| 253 | + cp.set_response_type("JSON"); | |
| 254 | + cp.call(p, "criaheatmap", fim); | |
| 255 | + } catch (e) { | |
| 256 | + $i("i3GEOheatmapfim").innerHTML = "<p class='paragrafo' >Erro. " + e; | |
| 304 | 257 | i3GEOF.heatmap.aguarde.visibility = "hidden"; |
| 305 | - if (retorno.data === undefined) { | |
| 306 | - $i("i3GEOheatmapfim").innerHTML = $trad( | |
| 307 | - 8, | |
| 308 | - i3GEOF.heatmap.dicionario); | |
| 309 | - } else { | |
| 310 | - i3GEO.atualiza(); | |
| 258 | + } | |
| 259 | + }, | |
| 260 | + /** | |
| 261 | + * Function: comboTemasSel | |
| 262 | + * | |
| 263 | + * Cria um combo com a lista de temas | |
| 264 | + * | |
| 265 | + * Veja: | |
| 266 | + * | |
| 267 | + * <i3GEO.util.comboTemas> | |
| 268 | + */ | |
| 269 | + comboTemasSel : function() { | |
| 270 | + i3GEO.util.comboTemas("i3GEOheatmaptemasComSel", function(retorno) { | |
| 271 | + $i("i3GEOheatmapSelTemas").innerHTML = retorno.dados; | |
| 272 | + $i("i3GEOheatmapSelTemas").style.display = "block"; | |
| 273 | + if ($i("i3GEOheatmaptemasComSel")) { | |
| 274 | + $i("i3GEOheatmaptemasComSel").onchange = function() { | |
| 275 | + i3GEO.mapa.ativaTema($i("i3GEOheatmaptemasComSel").value); | |
| 276 | + }; | |
| 311 | 277 | } |
| 312 | - }; | |
| 313 | - p = i3GEO.configura.locaplic | |
| 314 | - + "/ferramentas/heatmap/exec.php?g_sid=" | |
| 315 | - + i3GEO.configura.sid | |
| 316 | - + "&funcao=criaheatmap" | |
| 317 | - + "&tema=" | |
| 318 | - + $i("i3GEOheatmaptemasComSel").value | |
| 319 | - + "&multiplicar=" | |
| 320 | - + $i("i3GEOheatmapdfator").value | |
| 321 | - + "&coluna=" | |
| 322 | - + $i("i3GEOheatmaptemasItem").value | |
| 323 | - + "&valorPonto=" | |
| 324 | - + $i("i3GEOheatmapd").value | |
| 325 | - + "&titulo=" | |
| 326 | - + $i("i3GEOheatmapTitulo").value | |
| 327 | - + "&opacidade=" | |
| 328 | - + $i("i3GEOheatmapOpacidade").value | |
| 329 | - + "&max=" | |
| 330 | - + $i("i3GEOheatmapRaio").value | |
| 331 | - + "&raio=" | |
| 332 | - + $i("i3GEOheatmapMax").value; | |
| 333 | - | |
| 334 | - cp = new cpaint(); | |
| 335 | - cp.set_response_type("JSON"); | |
| 336 | - cp.call( | |
| 337 | - p, | |
| 338 | - "criaheatmap", | |
| 339 | - fim); | |
| 340 | - } catch (e) { | |
| 341 | - $i("i3GEOheatmapfim").innerHTML = "<p class='paragrafo' >Erro. " | |
| 342 | - + e; | |
| 343 | - i3GEOF.heatmap.aguarde.visibility = "hidden"; | |
| 278 | + if (i3GEO.temaAtivo !== "") { | |
| 279 | + $i("i3GEOheatmaptemasComSel").value = i3GEO.temaAtivo; | |
| 280 | + $i("i3GEOheatmaptemasComSel").onchange.call(); | |
| 281 | + } | |
| 282 | + }, "i3GEOheatmapSelTemas", "", false, "ligados"); | |
| 283 | + }, | |
| 284 | + /** | |
| 285 | + * Function: comboItens | |
| 286 | + * | |
| 287 | + * Cria um combo para escolha de um item do tema | |
| 288 | + * | |
| 289 | + * Veja: | |
| 290 | + * | |
| 291 | + * <i3GEO.util.comboItens> | |
| 292 | + * | |
| 293 | + */ | |
| 294 | + comboItens : function() { | |
| 295 | + i3GEO.util | |
| 296 | + .comboItens( | |
| 297 | + "i3GEOheatmaptemasItem", | |
| 298 | + $i("i3GEOheatmaptemasComSel").value, | |
| 299 | + function(retorno) { | |
| 300 | + $i("i3GEOheatmapondeItens").innerHTML = | |
| 301 | + retorno.dados; | |
| 302 | + //+ " " | |
| 303 | + //+ $trad(11, i3GEOF.heatmap.dicionario) | |
| 304 | + //+ " <input onclick='javascript:this.select();' class=digitar id='i3GEOheatmapdfator' type=text size=10 value='1'/>"; | |
| 305 | + $i("i3GEOheatmapondeItens").style.display = "block"; | |
| 306 | + }, | |
| 307 | + "i3GEOheatmapondeItens"); | |
| 344 | 308 | } |
| 345 | - }, | |
| 346 | - /** | |
| 347 | - * Function: comboTemasSel | |
| 348 | - * | |
| 349 | - * Cria um combo com a lista de temas | |
| 350 | - * | |
| 351 | - * Veja: | |
| 352 | - * | |
| 353 | - * <i3GEO.util.comboTemas> | |
| 354 | - */ | |
| 355 | - comboTemasSel : function() { | |
| 356 | - i3GEO.util.comboTemas( | |
| 357 | - "i3GEOheatmaptemasComSel", | |
| 358 | - function(retorno) { | |
| 359 | - $i("i3GEOheatmapSelTemas").innerHTML = retorno.dados; | |
| 360 | - $i("i3GEOheatmapSelTemas").style.display = "block"; | |
| 361 | - if ($i("i3GEOheatmaptemasComSel")) { | |
| 362 | - $i("i3GEOheatmaptemasComSel").onchange = function() { | |
| 363 | - i3GEO.mapa.ativaTema($i("i3GEOheatmaptemasComSel").value); | |
| 364 | - }; | |
| 365 | - } | |
| 366 | - if (i3GEO.temaAtivo !== "") { | |
| 367 | - $i("i3GEOheatmaptemasComSel").value = i3GEO.temaAtivo; | |
| 368 | - $i("i3GEOheatmaptemasComSel").onchange.call(); | |
| 369 | - } | |
| 370 | - }, | |
| 371 | - "i3GEOheatmapSelTemas", | |
| 372 | - "", | |
| 373 | - false, | |
| 374 | - "ligados"); | |
| 375 | - }, | |
| 376 | - /** | |
| 377 | - * Function: comboItens | |
| 378 | - * | |
| 379 | - * Cria um combo para escolha de um item do tema | |
| 380 | - * | |
| 381 | - * Veja: | |
| 382 | - * | |
| 383 | - * <i3GEO.util.comboItens> | |
| 384 | - * | |
| 385 | - */ | |
| 386 | - comboItens : function() { | |
| 387 | - i3GEO.util.comboItens( | |
| 388 | - "i3GEOheatmaptemasItem", | |
| 389 | - $i("i3GEOheatmaptemasComSel").value, | |
| 390 | - function(retorno) { | |
| 391 | - $i("i3GEOheatmapondeItens").innerHTML = retorno.dados | |
| 392 | - + " " | |
| 393 | - + $trad( | |
| 394 | - 11, | |
| 395 | - i3GEOF.heatmap.dicionario) | |
| 396 | - + " <input onclick='javascript:this.select();' class=digitar id='i3GEOheatmapdfator' type=text size=10 value='1'/>"; | |
| 397 | - $i("i3GEOheatmapondeItens").style.display = "block"; | |
| 398 | - }, | |
| 399 | - "i3GEOheatmapondeItens"); | |
| 400 | - } | |
| 401 | -}; | |
| 402 | 309 | \ No newline at end of file |
| 310 | + }; | |
| 403 | 311 | \ No newline at end of file | ... | ... |
temas/_lmapadecalor.map
| ... | ... | @@ -8,7 +8,10 @@ MAP |
| 8 | 8 | "TIP" "TIPO,ANOCRIA,NOMELOC" |
| 9 | 9 | "CLASSE" "SIM" |
| 10 | 10 | "TEMA" "Localidades (usar com mapa de calor)" |
| 11 | - "PLUGINI3GEO" '{"plugin":"heatmap","parametros":{"tipoGradiente":"default","coluna":"","radius":15,"max":10}}' #se coluna for vazio, assume valor 1 | |
| 11 | + # | |
| 12 | + #se coluna for vazio, sera usado o valor de cada ponto | |
| 13 | + # | |
| 14 | + "PLUGINI3GEO" '{"plugin":"heatmap","parametros":{"tipoGradiente":"default","valorPonto":1,"coluna":"","radius":15,"max":10}}' | |
| 12 | 15 | END # METADATA |
| 13 | 16 | NAME "_lmapadecalor" |
| 14 | 17 | STATUS OFF | ... | ... |