Commit c25d09e511c36cf3c9d10393f5502a9e4d715bb9

Authored by Edmar Moretti
1 parent 824ec909

-

classesjs/classe_plugini3geo.js
@@ -159,7 +159,7 @@ i3GEO.pluginI3geo = @@ -159,7 +159,7 @@ i3GEO.pluginI3geo =
159 formAdmin : function(config) { 159 formAdmin : function(config) {
160 // {"plugin":"heatmap","parametros":{"coluna":"","radius":15,"max":10}} 160 // {"plugin":"heatmap","parametros":{"coluna":"","radius":15,"max":10}}
161 var parametros, ins = "", configDefault = 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 if (config === "") { 163 if (config === "") {
164 config = configDefault; 164 config = configDefault;
165 } 165 }
@@ -170,18 +170,22 @@ i3GEO.pluginI3geo = @@ -170,18 +170,22 @@ i3GEO.pluginI3geo =
170 parametros = config.parametros; 170 parametros = config.parametros;
171 ins += 171 ins +=
172 "" 172 ""
173 - + "<p>Coluna que cont&eacute;m os dados ou valor num&eacute;rico para cada ponto:" 173 + + "<p>Coluna que cont&eacute;m os dados:"
174 + "<br><input name='coluna' type='text' value='" 174 + "<br><input name='coluna' type='text' value='"
175 + parametros.coluna 175 + parametros.coluna
176 + "' size='30'></p>" 176 + "' size='30'></p>"
  177 + + "<p>Ou valor num&eacute;rico para cada ponto:"
  178 + + "<br><input name='valorPonto' type='text' value='"
  179 + + parametros.valorPonto
  180 + + "' size='30'></p>"
177 + "<p>Raio de cada ponto em pixels:" 181 + "<p>Raio de cada ponto em pixels:"
178 + "<br><input name='radius' type='text' value='" 182 + "<br><input name='radius' type='text' value='"
179 + parametros.radius 183 + parametros.radius
180 + "' size='30'></p>" 184 + "' size='30'></p>"
181 - + "<p>Valor m&aacute;ximo em cada ponto:"  
182 - + "<br><input name='max' type='text' value='"  
183 - + parametros.max  
184 - + "' size='30'></p>" 185 + //+ "<p>Valor m&aacute;ximo em cada ponto:"
  186 + //+ "<br><input name='max' type='text' value='"
  187 + //+ parametros.max
  188 + //+ "' size='30'></p>"
185 + "<p>Tipo de gradiente (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):" 189 + "<p>Tipo de gradiente (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"
186 + "<br><input name='tipoGradiente' type='text' value='" 190 + "<br><input name='tipoGradiente' type='text' value='"
187 + parametros.tipoGradiente 191 + parametros.tipoGradiente
@@ -291,10 +295,10 @@ i3GEO.pluginI3geo = @@ -291,10 +295,10 @@ i3GEO.pluginI3geo =
291 var nomeScript = "heatmap_script", p = i3GEO.configura.locaplic + "/ferramentas/heatmap/openlayers_js.php", carregaJs = 295 var nomeScript = "heatmap_script", p = i3GEO.configura.locaplic + "/ferramentas/heatmap/openlayers_js.php", carregaJs =
292 "nao", criaLayer; 296 "nao", criaLayer;
293 criaLayer = function() { 297 criaLayer = function() {
294 - var heatmap, transformedTestData = {  
295 - max : camada.plugini3geo.parametros.max, 298 + var temp, heatmap, transformedTestData = {
  299 + max : 1,
296 data : [] 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 // para uso com o mashup 303 // para uso com o mashup
300 if (!objMapa) { 304 if (!objMapa) {
@@ -307,11 +311,14 @@ i3GEO.pluginI3geo = @@ -307,11 +311,14 @@ i3GEO.pluginI3geo =
307 // count: 311 // count:
308 // <count>},...]} 312 // <count>},...]}
309 while (datalen--) { 313 while (datalen--) {
  314 + temp = heatmap_dados[datalen].count;
310 nudata.push({ 315 nudata.push({
311 lonlat : new OpenLayers.LonLat(data[datalen].lng, heatmap_dados[datalen].lat), 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 transformedTestData.data = nudata; 322 transformedTestData.data = nudata;
316 // create our heatmap layer 323 // create our heatmap layer
317 heatmap = new OpenLayers.Layer.Heatmap(camada.name, objMapa, objMapa.baseLayer, { 324 heatmap = new OpenLayers.Layer.Heatmap(camada.name, objMapa, objMapa.baseLayer, {
@@ -568,7 +575,8 @@ i3GEO.pluginI3geo = @@ -568,7 +575,8 @@ i3GEO.pluginI3geo =
568 symbolizer : { 575 symbolizer : {
569 externalGraphic : markercluster_config.ponto.url, 576 externalGraphic : markercluster_config.ponto.url,
570 graphicWidth : markercluster_config.ponto.width, 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 regras.push(regra); 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,12 +17,12 @@ Adiciona ao mapa uma nova camada para calculo do mapa de calor
17 $layer = $map->getlayerbyname($tema); 17 $layer = $map->getlayerbyname($tema);
18 $novolayer = ms_newLayerObj($map, $layer); 18 $novolayer = ms_newLayerObj($map, $layer);
19 $novolayer->setmetadata("tema",$titulo); 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 $novolayer->setmetadata("PLUGINI3GEO",$parametros); 21 $novolayer->setmetadata("PLUGINI3GEO",$parametros);
25 $novolayer->set("name",$nameLayer); 22 $novolayer->set("name",$nameLayer);
  23 + if(!empty($opacidade)){
  24 + $novolayer->set("opacity",$opacidade);
  25 + }
26 $map->save($map_file); 26 $map->save($map_file);
27 $retorno = $nameLayer; 27 $retorno = $nameLayer;
28 break; 28 break;
ferramentas/heatmap/funcoes.php
1 <?php 1 <?php
2 function heatmapDados($map_file){ 2 function heatmapDados($map_file){
3 - global $dir,$layer,$coluna; 3 + global $dir,$layer,$coluna,$valorPonto;
4 //pega os dados e formata como uma string no formato 4 //pega os dados e formata como uma string no formato
5 // [{"lat":"-21.7079984","lng":"-47.4913629","count":"1"}] 5 // [{"lat":"-21.7079984","lng":"-47.4913629","count":"1"}]
6 //os dados sao devolvidos como uma variavel javascript 6 //os dados sao devolvidos como uma variavel javascript
@@ -10,9 +10,12 @@ function heatmapDados($map_file){ @@ -10,9 +10,12 @@ function heatmapDados($map_file){
10 $registros = $m->listaRegistrosXY($coluna, "brasil", "tudo"); 10 $registros = $m->listaRegistrosXY($coluna, "brasil", "tudo");
11 $n = count($registros); 11 $n = count($registros);
12 $resultado = array(); 12 $resultado = array();
  13 + if(empty($valorPonto)){
  14 + $valorPonto = 1;
  15 + }
13 if(empty($coluna)){ 16 if(empty($coluna)){
14 foreach($registros as $r){ 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 else{ 21 else{
ferramentas/heatmap/index.js
1 /** 1 /**
2 * Title: heatmap 2 * Title: heatmap
3 - * 3 + *
4 * Gera um mapa de calor baseado em uma camada existente no mapa. 4 * Gera um mapa de calor baseado em uma camada existente no mapa.
5 - *  
6 - * Mapas de calor s&atilde;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&aacute;rios ao uso do heatmap  
11 - * 5 + *
  6 + * Mapas de calor s&atilde;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&aacute;rios ao uso do heatmap
  9 + *
12 * Veja: 10 * Veja:
13 - * 11 + *
14 * <i3GEO.analise.dialogo.heatmap> 12 * <i3GEO.analise.dialogo.heatmap>
15 - * 13 + *
16 * Arquivo: 14 * Arquivo:
17 - * 15 + *
18 * i3geo/ferramentas/heatmap/index.js.php 16 * i3geo/ferramentas/heatmap/index.js.php
19 - * 17 + *
20 * Licenca: 18 * Licenca:
21 - * 19 + *
22 * GPL2 20 * GPL2
23 - * 21 + *
24 * i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet 22 * i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
25 - *  
26 - * Direitos Autorais Reservados (c) 2006 Minist&eacute;rio do Meio Ambiente  
27 - * Brasil Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com  
28 - *  
29 - * Este programa &eacute; software livre; voc&ecirc; pode redistribu&iacute;-lo  
30 - * e/ou modific&aacute;-lo sob os termos da Licen&ccedil;a P&uacute;blica Geral  
31 - * GNU conforme publicada pela Free Software Foundation;  
32 - *  
33 - * Este programa &eacute; distribu&iacute;do na expectativa de que seja  
34 - * &uacute;til, por&eacute;m, SEM NENHUMA GARANTIA; nem mesmo a garantia  
35 - * impl&iacute;cita de COMERCIABILIDADE OU ADEQUA&Ccedil;&Atilde;O A UMA  
36 - * FINALIDADE ESPEC&Iacute;FICA. Consulte a Licen&ccedil;a P&uacute;blica Geral  
37 - * do GNU para mais detalhes. Voc&ecirc; deve ter recebido uma c&oacute;pia da  
38 - * Licen&ccedil;a P&uacute;blica Geral do GNU junto com este programa; se  
39 - * n&atilde;o, escreva para a Free Software Foundation, Inc., no endere&ccedil;o  
40 - * 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. 23 + *
  24 + * Direitos Autorais Reservados (c) 2006 Minist&eacute;rio do Meio Ambiente Brasil Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com
  25 + *
  26 + * Este programa &eacute; software livre; voc&ecirc; pode redistribu&iacute;-lo e/ou modific&aacute;-lo sob os termos da Licen&ccedil;a
  27 + * P&uacute;blica Geral GNU conforme publicada pela Free Software Foundation;
  28 + *
  29 + * Este programa &eacute; distribu&iacute;do na expectativa de que seja &uacute;til, por&eacute;m, SEM NENHUMA GARANTIA; nem mesmo a
  30 + * garantia impl&iacute;cita de COMERCIABILIDADE OU ADEQUA&Ccedil;&Atilde;O A UMA FINALIDADE ESPEC&Iacute;FICA. Consulte a Licen&ccedil;a
  31 + * P&uacute;blica Geral do GNU para mais detalhes. Voc&ecirc; deve ter recebido uma c&oacute;pia da Licen&ccedil;a P&uacute;blica Geral do
  32 + * GNU junto com este programa; se n&atilde;o, escreva para a Free Software Foundation, Inc., no endere&ccedil;o 59 Temple Street, Suite
  33 + * 330, Boston, MA 02111-1307 USA.
41 */ 34 */
42 if (typeof (i3GEOF) === 'undefined') { 35 if (typeof (i3GEOF) === 'undefined') {
43 var i3GEOF = {}; 36 var i3GEOF = {};
44 } 37 }
45 -i3GEOF.heatmap = {  
46 - /**  
47 - * Variavel: aguarde  
48 - *  
49 - * Objeto DOM com a imagem de aguarde existente no cabe&ccedil;alho da  
50 - * janela.  
51 - */  
52 - aguarde : "",  
53 - /**  
54 - * Para efeitos de compatibilidade antes da vers&atilde;o 4.7 que n&atilde;o  
55 - * tinha dicion&aacute;rio  
56 - */  
57 - criaJanelaFlutuante : function() {  
58 - i3GEOF.heatmap.iniciaDicionario();  
59 - },  
60 - /**  
61 - * Function: iniciaDicionario  
62 - *  
63 - * Carrega o dicion&aacute;rio e chama a fun&ccedil;&atilde;o que inicia a  
64 - * ferramenta  
65 - *  
66 - * O Javascript &eacute; 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&ccedil;alho da janela.
  44 + */
  45 + aguarde : "",
  46 + /**
  47 + * Para efeitos de compatibilidade antes da vers&atilde;o 4.7 que n&atilde;o tinha dicion&aacute;rio
  48 + */
  49 + criaJanelaFlutuante : function() {
  50 + i3GEOF.heatmap.iniciaDicionario();
  51 + },
  52 + /**
  53 + * Function: iniciaDicionario
  54 + *
  55 + * Carrega o dicion&aacute;rio e chama a fun&ccedil;&atilde;o que inicia a ferramenta
  56 + *
  57 + * O Javascript &eacute; 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 "i3GEOF.heatmap.iniciaJanelaFlutuante()", 63 "i3GEOF.heatmap.iniciaJanelaFlutuante()",
75 "i3GEOF.heatmap.dicionario_script"); 64 "i3GEOF.heatmap.dicionario_script");
76 - } else {  
77 - i3GEOF.heatmap.iniciaJanelaFlutuante();  
78 - }  
79 - },  
80 - /**  
81 - * Function: inicia  
82 - *  
83 - * Inicia a ferramenta. &Eacute; chamado por criaJanelaFlutuante  
84 - *  
85 - * Parametro:  
86 - *  
87 - * iddiv {String} - id do div que receber&aacute; 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&oacute;digo html para apresenta&ccedil;&atilde;o das  
102 - * op&ccedil;&otilde;es da ferramenta  
103 - *  
104 - * Retorno:  
105 - *  
106 - * String com o c&oacute;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' >&nbsp;&nbsp;&nbsp;</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. &Eacute; chamado por criaJanelaFlutuante
  73 + *
  74 + * Parametro:
  75 + *
  76 + * iddiv {String} - id do div que receber&aacute; 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&oacute;digo html para apresenta&ccedil;&atilde;o das op&ccedil;&otilde;es da ferramenta
  90 + *
  91 + * Retorno:
  92 + *
  93 + * String com o c&oacute;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' >&nbsp;&nbsp;&nbsp;</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 "i3GEOF.heatmap.t1()", 142 "i3GEOF.heatmap.t1()",
184 ins, 143 ins,
@@ -186,15 +145,11 @@ i3GEOF.heatmap = { @@ -186,15 +145,11 @@ i3GEOF.heatmap = {
186 "i3GEOheatmapresultado", 145 "i3GEOheatmapresultado",
187 true, 146 true,
188 "i3GEOF.heatmap_rodape"); 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 "i3GEOF.heatmap.t0()", 153 "i3GEOF.heatmap.t0()",
199 "i3GEOF.heatmap.t2()", 154 "i3GEOF.heatmap.t2()",
200 ins, 155 ins,
@@ -202,22 +157,16 @@ i3GEOF.heatmap = { @@ -202,22 +157,16 @@ i3GEOF.heatmap = {
202 "i3GEOheatmapresultado", 157 "i3GEOheatmapresultado",
203 true, 158 true,
204 "i3GEOF.heatmap_rodape"); 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 "i3GEOF.heatmap.t1()", 170 "i3GEOF.heatmap.t1()",
222 "i3GEOF.heatmap.t3()", 171 "i3GEOF.heatmap.t3()",
223 ins, 172 ins,
@@ -225,34 +174,24 @@ i3GEOF.heatmap = { @@ -225,34 +174,24 @@ i3GEOF.heatmap = {
225 "i3GEOheatmapresultado", 174 "i3GEOheatmapresultado",
226 true, 175 true,
227 "i3GEOF.heatmap_rodape"); 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 "i3GEOF.heatmap.t2()", 195 "i3GEOF.heatmap.t2()",
257 "i3GEOF.heatmap.t4()", 196 "i3GEOF.heatmap.t4()",
258 ins, 197 ins,
@@ -260,19 +199,12 @@ i3GEOF.heatmap = { @@ -260,19 +199,12 @@ i3GEOF.heatmap = {
260 "i3GEOheatmapresultado", 199 "i3GEOheatmapresultado",
261 true, 200 true,
262 "i3GEOF.heatmap_rodape"); 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 "i3GEOF.heatmap.t3()", 208 "i3GEOF.heatmap.t3()",
277 "", 209 "",
278 ins, 210 ins,
@@ -280,122 +212,98 @@ i3GEOF.heatmap = { @@ -280,122 +212,98 @@ i3GEOF.heatmap = {
280 "i3GEOheatmapresultado", 212 "i3GEOheatmapresultado",
281 true, 213 true,
282 "i3GEOF.heatmap_rodape"); 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&ccedil;&atilde;o de gera&ccedil;&atilde;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&ccedil;&atilde;o de gera&ccedil;&atilde;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 i3GEOF.heatmap.aguarde.visibility = "hidden"; 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 \ No newline at end of file 309 \ No newline at end of file
  310 + };
403 \ No newline at end of file 311 \ No newline at end of file
temas/_lmapadecalor.map
@@ -8,7 +8,10 @@ MAP @@ -8,7 +8,10 @@ MAP
8 "TIP" "TIPO,ANOCRIA,NOMELOC" 8 "TIP" "TIPO,ANOCRIA,NOMELOC"
9 "CLASSE" "SIM" 9 "CLASSE" "SIM"
10 "TEMA" "Localidades (usar com mapa de calor)" 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 END # METADATA 15 END # METADATA
13 NAME "_lmapadecalor" 16 NAME "_lmapadecalor"
14 STATUS OFF 17 STATUS OFF