Commit c25d09e511c36cf3c9d10393f5502a9e4d715bb9

Authored by Edmar Moretti
1 parent 824ec909

-

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&eacute;m os dados ou valor num&eacute;rico para cada ponto:"
  173 + + "<p>Coluna que cont&eacute;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&eacute;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&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 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&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 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&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 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&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 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. &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 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&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 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
... ...