Commit dbffb28b47bb9ca9c6d6715b2429e65e801b630c
1 parent
1a965084
Exists in
master
and in
7 other branches
Cria ção da opção Junção de Tabelas, mostrada na lista de funções que operam sob…
…re camadas. Essa opção afeta apenas os temas que são advindos do sistema Metaestat e permite a junção de tabelas e criação dinâmica de colunas calculadas
Showing
13 changed files
with
296 additions
and
435 deletions
Show diff stats
admin/admin.db
No preview for this file type
classesphp/classe_mapa.php
... | ... | @@ -275,7 +275,8 @@ class Mapa |
275 | 275 | "ferramentas", |
276 | 276 | "legendaimg", |
277 | 277 | "offsite", |
278 | - "numclasses" | |
278 | + "numclasses", | |
279 | + "id_medida_variavel" | |
279 | 280 | ); |
280 | 281 | foreach ($this->layers as $oLayer){ |
281 | 282 | $sel = "nao"; |
... | ... | @@ -510,7 +511,8 @@ class Mapa |
510 | 511 | $ferramentas, |
511 | 512 | $oLayer->getmetadata("legendaimg"), |
512 | 513 | $oLayer->offsite->red.",".$oLayer->offsite->green.",".$oLayer->offsite->blue, |
513 | - $oLayer->numclasses | |
514 | + $oLayer->numclasses, | |
515 | + $oLayer->getmetadata("METAESTAT_ID_MEDIDA_VARIAVEL") | |
514 | 516 | ); |
515 | 517 | } |
516 | 518 | } | ... | ... |
ferramentas/atalhoscamada/dicionario.js
ferramentas/atalhoscamada/index.js
... | ... | @@ -72,6 +72,7 @@ i3GEOF.atalhoscamada = |
72 | 72 | dicionario["noPolygonHidden"] = (ltema.type === 2) ? "":"hidden"; |
73 | 73 | dicionario["destacaHidden"] = (i3GEO.Interface.ATUAL == "openlayers") ? "":"hidden"; |
74 | 74 | dicionario["wmsHidden"] = (ltema.permiteogc.toLowerCase() !== "nao") ? "":"hidden"; |
75 | + dicionario["metaestatHidden"] = (parseInt(ltema.id_medida_variavel,10) > 0) ? "":"hidden"; | |
75 | 76 | |
76 | 77 | return dicionario; |
77 | 78 | }, |
... | ... | @@ -228,5 +229,9 @@ i3GEOF.atalhoscamada = |
228 | 229 | cp.set_response_type("JSON"); |
229 | 230 | cp.call(p, "foo", temp, "cores=" + cores); |
230 | 231 | } |
232 | + }, | |
233 | + //juncao de tabelas advindas do sistema de metadados | |
234 | + juncao: function(idjanela){ | |
235 | + i3GEO.analise.dialogo.juntamedidasvariavel(i3GEOF.atalhoscamada.propJanelas[idjanela].tema); | |
231 | 236 | } |
232 | 237 | }; |
233 | 238 | \ No newline at end of file | ... | ... |
ferramentas/atalhoscamada/template_mst.html
... | ... | @@ -34,6 +34,7 @@ |
34 | 34 | <a href='javascript:void(0)' onclick="i3GEO.navega.destacaTema.inicia('{{tema}}')" class='{{destacaHidden}} btn btn-primary btn-lg btn-block btn-raised'>{{{destaca}}}</a> |
35 | 35 | <a href='javascript:void(0)' onclick="i3GEO.tema.contorno('{{tema}}')" class='{{noPolygonHidden}} btn btn-primary btn-lg btn-block btn-raised'>{{{contorno}}}</a> |
36 | 36 | <a href='javascript:void(0)' onclick="i3GEO.tema.dialogo.mostraWms('{{tema}}')" class='{{wmsHidden}} btn btn-primary btn-lg btn-block btn-raised'>{{{wms}}}</a> |
37 | + <a href='javascript:void(0)' onclick="i3GEOF.atalhoscamada.juncao('{{{idjanela}}}')" class='{{metaestatHidden}} btn btn-primary btn-lg btn-block btn-raised'>{{{juncao}}}</a> | |
37 | 38 | <a href='javascript:void(0)' onclick="i3GEO.tema.dialogo.tme('{{tema}}')" class='{{tmeHidden}} btn btn-primary btn-lg btn-block btn-raised'>{{{tme}}}</a> |
38 | 39 | <a href='javascript:void(0)' onclick="i3GEO.tema.dialogo.storymap('{{tema}}')" class='{{StoryMapHidden}} btn btn-primary btn-lg btn-block btn-raised'>StoryMap</a> |
39 | 40 | </div> | ... | ... |
... | ... | @@ -0,0 +1,24 @@ |
1 | +<?php | |
2 | +include(dirname(__FILE__)."/../blacklist.php"); | |
3 | +verificaBlFerramentas(basename(dirname(__FILE__))); | |
4 | + | |
5 | + | |
6 | +/** | |
7 | + * Carrega os programas javascript necessarios para a ferramenta | |
8 | + * Esse programa e usado na tag <script> ou com a funcao scripttag do i3Geo | |
9 | + * Alem de carregar os scripts, carrega tambem o template no formato MUSTACHE, definindo a variavel | |
10 | + * javascript i3GEOF.mmscale.MUSTACHE | |
11 | + * O template e substituido pelos valores definidos em index.js no momento da inicializacao da ferramenta | |
12 | + */ | |
13 | +if(extension_loaded('zlib')){ | |
14 | + ob_start('ob_gzhandler'); | |
15 | +} | |
16 | +header("Content-type: text/javascript"); | |
17 | +include("index.js"); | |
18 | +include("dicionario.js"); | |
19 | +echo "\n"; | |
20 | + | |
21 | +if(extension_loaded('zlib')){ | |
22 | + ob_end_flush(); | |
23 | +} | |
24 | +?> | |
0 | 25 | \ No newline at end of file | ... | ... |
... | ... | @@ -0,0 +1,47 @@ |
1 | +i3GEOF.juntamedidasvariavel.dicionario = { | |
2 | + 'titulo' : [ { | |
3 | + pt : "Junção de tabelas", | |
4 | + en : "", | |
5 | + es : "" | |
6 | + } ], | |
7 | + 'ajuda' : [ { | |
8 | + pt : "Os cálculos são fórmulas que utilizam as colunas que forem juntadas e que serão incluídas na nova camada. Cada uma dessas colunas receberá um nome sequencial, por exemplo <i>valortema0,valortema1, valortema2...</i><br><br>As colunas calculadas podem utilizar esses nomes como entrada em fórmulas. Cada fórmula irá gerar uma nova coluna na tabela e deve utilizar a sintaxe SQL (<a href='http://www.postgresql.org/docs/9.3/static/functions-math.html' target=_blank >SQL no Postgres</a>)<br><br>Exemplos de uso:<br><br>coluna de nome: <b>soma</b><br>valortema0 + valortema1 <br><br>coluna de nome: <b>taxa</b><br>(valortema0 * 100) / valortema1", | |
9 | + en : "", | |
10 | + es : "" | |
11 | + } ], | |
12 | + 'escolha' : [ { | |
13 | + pt : "Escolha as camadas de mesmo tipo e região", | |
14 | + en : "", | |
15 | + es : "" | |
16 | + } ], | |
17 | + 'nome' : [ { | |
18 | + pt : "Nome da nova camada", | |
19 | + en : "", | |
20 | + es : "" | |
21 | + } ], | |
22 | + 'aplicar' : [ { | |
23 | + pt : "Aplicar", | |
24 | + en : "", | |
25 | + es : "" | |
26 | + } ], | |
27 | + 'colunas' : [ { | |
28 | + pt : "Colunas calculadas (opcional)", | |
29 | + en : "", | |
30 | + es : "" | |
31 | + } ], | |
32 | + 'addno' : [ { | |
33 | + pt : "Adiciona entrada de formulario", | |
34 | + en : "", | |
35 | + es : "" | |
36 | + } ], | |
37 | + 'tituloform' : [ { | |
38 | + pt : "Nome (apenas letras e números)", | |
39 | + en : "", | |
40 | + es : "" | |
41 | + } ], | |
42 | + 'titulosql' : [ { | |
43 | + pt : "Digite a fórmula (padrão sql)", | |
44 | + en : "", | |
45 | + es : "" | |
46 | + } ] | |
47 | +}; | ... | ... |
... | ... | @@ -0,0 +1,168 @@ |
1 | +if(typeof(i3GEOF) === 'undefined'){ | |
2 | + var i3GEOF = {}; | |
3 | +} | |
4 | + | |
5 | +i3GEOF.juntamedidasvariavel = { | |
6 | + tema : "", | |
7 | + /* | |
8 | + Variavel: aguarde | |
9 | + | |
10 | + Estilo do objeto DOM com a imagem de aguarde existente no cabeçalho da janela. | |
11 | + */ | |
12 | + aguarde: "", | |
13 | + /** | |
14 | + * Template no formato mustache. E preenchido na carga do javascript com o programa dependencias.php | |
15 | + */ | |
16 | + MUSTACHE : "", | |
17 | + /** | |
18 | + * Susbtitutos para o template | |
19 | + */ | |
20 | + mustacheHash : function() { | |
21 | + var dicionario = i3GEO.idioma.objetoIdioma(i3GEOF.juntamedidasvariavel.dicionario); | |
22 | + return dicionario; | |
23 | + }, | |
24 | + /* | |
25 | + Function: inicia | |
26 | + | |
27 | + Inicia a ferramenta. É chamado por criaJanelaFlutuante | |
28 | + | |
29 | + Parametro: | |
30 | + | |
31 | + iddiv {String} - id do div que receberá o conteudo HTML da ferramenta | |
32 | + */ | |
33 | + inicia: function(iddiv){ | |
34 | + if(i3GEOF.juntamedidasvariavel.MUSTACHE == ""){ | |
35 | + $.get(i3GEO.configura.locaplic + "/ferramentas/juntamedidasvariavel/template_mst.html", function(template) { | |
36 | + i3GEOF.juntamedidasvariavel.MUSTACHE = template; | |
37 | + i3GEOF.juntamedidasvariavel.inicia(iddiv); | |
38 | + }); | |
39 | + return; | |
40 | + } | |
41 | + $i(iddiv).innerHTML = i3GEOF.juntamedidasvariavel.html(); | |
42 | + var temp = function(retorno){ | |
43 | + i3GEOF.juntamedidasvariavel.aguarde.visibility = "hidden"; | |
44 | + | |
45 | + var n = retorno.length, i, lista = ""; | |
46 | + | |
47 | + for(i=0;i<n;i++){ | |
48 | + lista += '<div class="checkbox text-left"><label>' | |
49 | + + '<input checked value="' + retorno[i].layer + '" type="checkbox" >' | |
50 | + + '<span class="checkbox-material noprint"><span class="check"></span></span>' | |
51 | + + retorno[i].tema + '</label></div>'; | |
52 | + } | |
53 | + $i("i3GEOFjuntaLista").innerHTML = lista; | |
54 | + i3GEOF.juntamedidasvariavel.noNovoCalculo(); | |
55 | + }; | |
56 | + var p = i3GEO.configura.locaplic+"/ferramentas/metaestat/analise.php?g_sid="+i3GEO.configura.sid + | |
57 | + "&funcao=listaLayersAgrupados"; | |
58 | + i3GEOF.juntamedidasvariavel.aguarde.visibility = "visible"; | |
59 | + i3GEO.util.ajaxGet(p,temp); | |
60 | + }, | |
61 | + /* | |
62 | + Function: html | |
63 | + | |
64 | + Gera o código html para apresentação das opções da ferramenta | |
65 | + | |
66 | + Retorno: | |
67 | + | |
68 | + String com o código html | |
69 | + */ | |
70 | + html:function() { | |
71 | + var ins = Mustache.render(i3GEOF.juntamedidasvariavel.MUSTACHE, i3GEOF.juntamedidasvariavel.mustacheHash()); | |
72 | + return ins; | |
73 | + }, | |
74 | + /* | |
75 | + Function: iniciaJanelaFlutuante | |
76 | + | |
77 | + Cria a janela flutuante para controle da ferramenta. | |
78 | + */ | |
79 | + iniciaJanelaFlutuante: function(tema){ | |
80 | + var janela,divid,titulo; | |
81 | + if($i("i3GEOF.juntamedidasvariavel")){ | |
82 | + i3GEOF.juntamedidasvariavel.tema = tema; | |
83 | + i3GEOF.juntamedidasvariavel.inicia("i3GEOF.juntamedidasvariavel_corpo"); | |
84 | + return; | |
85 | + } | |
86 | + //cria a janela flutuante | |
87 | + titulo = "<span class='i3GeoTituloJanelaBsNolink' >"+$trad("titulo",i3GEOF.juntamedidasvariavel.dicionario)+"</span></div>"; | |
88 | + | |
89 | + janela = i3GEO.janela.cria( | |
90 | + "330px", | |
91 | + "260px", | |
92 | + "", | |
93 | + "", | |
94 | + "", | |
95 | + titulo, | |
96 | + "i3GEOF.juntamedidasvariavel", | |
97 | + false, | |
98 | + "hd", | |
99 | + "", | |
100 | + "", | |
101 | + "", | |
102 | + true, | |
103 | + "", | |
104 | + "", | |
105 | + "", | |
106 | + "" | |
107 | + ); | |
108 | + divid = janela[2].id; | |
109 | + i3GEOF.juntamedidasvariavel.aguarde = $i("i3GEOF.juntamedidasvariavel_imagemCabecalho").style; | |
110 | + i3GEOF.juntamedidasvariavel.inicia(divid); | |
111 | + }, | |
112 | + noNovoCalculo: function(){ | |
113 | + var no = document.createElement("div"); | |
114 | + no.innerHTML = '<div class="form-group label-fixed condensed" >' | |
115 | + + '<label class="control-label" for="">' + $trad("tituloform",i3GEOF.juntamedidasvariavel.dicionario) + '</label>' | |
116 | + + '<input class="form-control input-lg" type="text" value="" /></div>' | |
117 | + + '<h5>' + $trad("titulosql",i3GEOF.juntamedidasvariavel.dicionario) + '</h5>' | |
118 | + + '<div class="form-group label-fixed condensed"><textarea class="form-control input-lg" rows="4"></textarea></div>'; | |
119 | + | |
120 | + $i("i3GEOFjuntaColunasCalculadas").appendChild(no); | |
121 | + }, | |
122 | + pegaCalculos: function(){ | |
123 | + var div = $i("i3GEOFjuntaColunasCalculadas"), | |
124 | + nomes = div.getElementsByTagName("input"), | |
125 | + formulas = div.getElementsByTagName("textarea"), | |
126 | + n = nomes.length, | |
127 | + parnomes = [], | |
128 | + parformulas = [], | |
129 | + i; | |
130 | + for(i=0;i<n;i++){ | |
131 | + if(nomes[i].value != "" && formulas[i].value != ""){ | |
132 | + parnomes.push(nomes[i].value); | |
133 | + parformulas.push(formulas[i].value); | |
134 | + } | |
135 | + } | |
136 | + return "&colunascalc="+parnomes.join(",")+"&formulas="+parformulas.join(","); | |
137 | + }, | |
138 | + aplica: function(){ | |
139 | + if($i("aguardeAnalise_c") && $i("aguardeAnalise_c").style.visibility == "visible"){ | |
140 | + return; | |
141 | + }; | |
142 | + i3GEO.janela.abreAguarde("aguardeAnalise","Aguarde..."); | |
143 | + var ps,atualiza,p,i, | |
144 | + lista = [], | |
145 | + ics = $i("i3GEOF.junta_corpo").getElementsByTagName("input"), | |
146 | + n = ics.length; | |
147 | + for(i=0;i<n;i++){ | |
148 | + if(ics[i].type == "checkbox" && ics[i].checked === true){ | |
149 | + lista.push(ics[i].value); | |
150 | + } | |
151 | + } | |
152 | + if(lista.length == 0){ | |
153 | + alert("selecionaCamada"); | |
154 | + return; | |
155 | + } | |
156 | + i3GEO.janela.abreAguarde("aguardeAnalise","Aguarde..."); | |
157 | + p = i3GEO.configura.locaplic+"/ferramentas/metaestat/analise.php?g_sid="+i3GEO.configura.sid + | |
158 | + "&funcao=juntaMedidasVariaveis&layerNames="+lista.join(",")+"&nome="+$i("i3GEOFjuntaNovoNome").value; | |
159 | + ps = i3GEOF.juntaMedidasVariaveis.pegaCalculos(); | |
160 | + atualiza = function(retorno){ | |
161 | + i3GEO.janela.fechaAguarde("aguardeAnalise"); | |
162 | + i3GEO.atualiza(); | |
163 | + i3GEO.temaAtivo = retorno.data; | |
164 | + }; | |
165 | + //i3GEO.util.ajaxGet(p,atualiza); | |
166 | + cpJSON.call(p,"foo",atualiza,ps); | |
167 | + } | |
168 | +}; | |
0 | 169 | \ No newline at end of file | ... | ... |
... | ... | @@ -0,0 +1,17 @@ |
1 | +<div class='container-fluid'> | |
2 | + <h5>{{{escolha}}}</h5> | |
3 | + <div id="i3GEOFjuntaLista"></div> | |
4 | + <div class='form-group label-fixed condensed'> | |
5 | + <label class="control-label" for="i3GEOFjuntaNovoNome">{{nome}}}</label> | |
6 | + <input class="form-control input-lg" type='text' id='i3GEOFjuntaNovoNome' value='' /> | |
7 | + </div> | |
8 | + <button onclick="i3GEOF.juntamedidasvariavel.aplica()" class='btn btn-primary btn-sm btn-raised'>{{{aplicar}}}</button> | |
9 | + <div id=i3GEOFjuntaColunasCalculadas> | |
10 | + <h5>{{{colunas}}}</h5> | |
11 | + <button onclick="i3GEOF.metaestat.analise.juntaMedidasVariaveis.noNovoCalculo()" class='btn btn-primary btn-sm btn-raised'>{{{addno}}}</button> | |
12 | + </div> | |
13 | + | |
14 | + <h5 class="alert alert-info"> | |
15 | + {{{ajuda}}} | |
16 | + </h5> | |
17 | +</div> | |
0 | 18 | \ No newline at end of file | ... | ... |
ferramentas/metaestat/index.js
... | ... | @@ -252,433 +252,6 @@ i3GEOF.metaestat = { |
252 | 252 | i3GEOF.metaestat.comum.aguarde("hidden"); |
253 | 253 | }; |
254 | 254 | i3GEO.php.listaCamadasMetaestat(temp); |
255 | - }, | |
256 | - /** | |
257 | - * Abre a janela da ferramenta que permite adicionar labels | |
258 | - * Executa i3GEO.util.dialogoFerramenta() mas com a funcao i3GEOF.metaestat.analise.abreToponimia() | |
259 | - * isso permite a obtencao dos parametros necessarios, como a lista de itens que o usuario podera escolher | |
260 | - */ | |
261 | - toponimia: function(){ | |
262 | - if($i("i3geoCartoAnaliseCamadasCombo").value == ""){ | |
263 | - i3GEO.janela.tempoMsg("Ative uma camada primeiro"); | |
264 | - return; | |
265 | - } | |
266 | - i3GEO.mapa.ativaTema($i("i3geoCartoAnaliseCamadasCombo").value); | |
267 | - i3GEO.util.dialogoFerramenta("i3GEO.tema.dialogo.toponimia()","toponimia","toponimia","dependencias.php","i3GEOF.metaestat.analise.abreToponimia()"); | |
268 | - }, | |
269 | - /** | |
270 | - * Obtem os parametros necessarios ao funcionamento de i3GEOF.metaestat.analise.toponimia() | |
271 | - * Abre a janela de opcoes de i3GEOF.toponimia.iniciaJanelaFlutuante() | |
272 | - */ | |
273 | - abreToponimia: function(){ | |
274 | - if(typeof(i3GEOF.toponimia.dicionario) === 'undefined'){ | |
275 | - i3GEO.util.scriptTag( | |
276 | - i3GEO.configura.locaplic+"/ferramentas/toponimia/dicionario.js", | |
277 | - "i3GEOF.metaestat.analise.janelaToponimia()", | |
278 | - "i3GEOF.toponimia.dicionario_script" | |
279 | - ); | |
280 | - } | |
281 | - else{ | |
282 | - i3GEOF.metaestat.analise.janelaToponimia(); | |
283 | - } | |
284 | - }, | |
285 | - janelaToponimia: function(){ | |
286 | - var p = i3GEO.configura.locaplic+"/ferramentas/metaestat/analise.php?g_sid="+i3GEO.configura.sid + | |
287 | - "&funcao=pegaDadosTME&tema="+i3GEO.temaAtivo, | |
288 | - temp = function(retorno){ | |
289 | - i3GEO.janela.fechaAguarde("aguardeAnalise"); | |
290 | - i3GEOF.toponimia.ATIVAITEM = retorno.data.itemDados; | |
291 | - i3GEOF.toponimia.iniciaJanelaFlutuante(); | |
292 | - }; | |
293 | - i3GEO.janela.abreAguarde("aguardeAnalise","Aguarde..."); | |
294 | - i3GEO.util.ajaxGet(p,temp); | |
295 | - }, | |
296 | - /** | |
297 | - * Junta camadas em uma nova, contendo as colunas das medidas | |
298 | - */ | |
299 | - juntaMedidasVariaveis: { | |
300 | - inicia: function(){ | |
301 | - if($i("aguardeAnalise_c") && $i("aguardeAnalise_c").style.visibility == "visible"){ | |
302 | - return; | |
303 | - }; | |
304 | - var p = i3GEO.configura.locaplic+"/ferramentas/metaestat/analise.php?g_sid="+i3GEO.configura.sid + | |
305 | - "&funcao=listaLayersAgrupados"; | |
306 | - i3GEO.janela.abreAguarde("aguardeAnalise","Aguarde..."); | |
307 | - i3GEO.util.ajaxGet(p,i3GEOF.metaestat.analise.juntaMedidasVariaveis.janelaFlutuante); | |
308 | - }, | |
309 | - janelaFlutuante: function(retorno){ | |
310 | - i3GEO.janela.fechaAguarde("aguardeAnalise"); | |
311 | - if($i("i3GEOF.junta_corpo")){ | |
312 | - return; | |
313 | - } | |
314 | - var minimiza,cabecalho,titulo,ins,n,i,lista = "<table class=lista4 >"; | |
315 | - cabecalho = function(){ | |
316 | - }; | |
317 | - minimiza = function(){ | |
318 | - i3GEO.janela.minimiza("i3GEOF.junta"); | |
319 | - }; | |
320 | - //cria a janela flutuante | |
321 | - titulo = "</div><div class='i3GeoTituloJanelaBs'>Junção de medidas</div>"; | |
322 | - i3GEO.janela.cria( | |
323 | - "260px", | |
324 | - "300px", | |
325 | - "", | |
326 | - "", | |
327 | - "", | |
328 | - titulo, | |
329 | - "i3GEOF.junta", | |
330 | - false, | |
331 | - "hd", | |
332 | - cabecalho, | |
333 | - minimiza, | |
334 | - "", | |
335 | - false | |
336 | - ); | |
337 | - $i("i3GEOF.junta_corpo").style.backgroundColor = "white"; | |
338 | - n = retorno.data.length; | |
339 | - for(i=0;i<n;i++){ | |
340 | - lista += "<tr><td><input style=cursor:pointer type=checkbox value='"+retorno.data[i].layer+"' ></td><td>"+retorno.data[i].tema+"</td></tr>"; | |
341 | - } | |
342 | - lista += "</table>"; | |
343 | - ins = "" + | |
344 | - '<p class=paragrafo ><b>Escolha as camadas de mesmo tipo e região:</b></p>' + | |
345 | - lista + | |
346 | - '<br><p class=paragrafo >Nome da nova camada</p>' + | |
347 | - $inputText("","","i3GEOFjuntaNovoNome","",30,'') + | |
348 | - '<br><br><input id=i3geojuntaAplica type="button" value="Aplicar" />' + | |
349 | - '<div id=i3GEOFjuntaColunasCalculadas >' + | |
350 | - '<br><p class=paragrafo ><b>Colunas calculadas (opcional)</b> <img title="Adiciona entrada de formulario" onclick="i3GEOF.metaestat.analise.juntaMedidasVariaveis.noNovoCalculo()" src="'+i3GEO.configura.locaplic+'/imagens/plus.gif" style="cursor: pointer;"></p></div>' + | |
351 | - '<div id=i3GEOFjuntaColunasCalculadasMensagemAjuda ></div>' ; | |
352 | - $i("i3GEOF.junta_corpo").innerHTML = ins; | |
353 | - new YAHOO.widget.Button( | |
354 | - "i3geojuntaAplica", | |
355 | - {onclick:{fn: i3GEOF.metaestat.analise.juntaMedidasVariaveis.aplica}} | |
356 | - ); | |
357 | - i3GEOF.metaestat.analise.juntaMedidasVariaveis.noNovoCalculo(); | |
358 | - //ajuda para o calculo | |
359 | - i3GEO.util.mensagemAjuda("i3GEOFjuntaColunasCalculadasMensagemAjuda", | |
360 | - "Os cálculos são fórmulas que utilizam as colunas que forem juntadas e que serão incluídas "+ | |
361 | - "na nova camada. Cada uma dessas colunas receberá um nome sequencial, por exemplo <i>valortema0,valortema1,"+ | |
362 | - "valortema2...</i><br><br>As colunas calculadas podem utilizar esses nomes como entrada em fórmulas. "+ | |
363 | - "Cada fórmula irá gerar uma nova coluna na tabela e deve utilizar a sintaxe SQL (<a href='http://www.postgresql.org/docs/9.3/static/functions-math.html' target=_blank >SQL no Postgres</a>)"+ | |
364 | - "<br><br>Exemplos de uso:<br><br>" + | |
365 | - "coluna de nome: <b>soma</b><br>" + | |
366 | - "valortema0 + valortema1 <br><br>" + | |
367 | - "coluna de nome: <b>taxa</b><br>" + | |
368 | - "(valortema0 * 100) / valortema1" | |
369 | - ); | |
370 | - }, | |
371 | - noNovoCalculo: function(){ | |
372 | - var no = document.createElement("div"); | |
373 | - no.style.margin = "10px"; | |
374 | - no.style.padding = "5px"; | |
375 | - no.style.backgroundColor = "beige"; | |
376 | - no.style.width = "210px"; | |
377 | - no.innerHTML = '<p class=paragrafo >Nome (apenas letras e números)<br>' + | |
378 | - '<input type=text value="" style=width:205px />' + | |
379 | - '<br>Fórmula (padrão sql)<br>' + | |
380 | - '<textarea style=width:205px ></textarea></p>'; | |
381 | - $i("i3GEOFjuntaColunasCalculadas").appendChild(no); | |
382 | - }, | |
383 | - pegaCalculos: function(){ | |
384 | - var div = $i("i3GEOFjuntaColunasCalculadas"), | |
385 | - nomes = div.getElementsByTagName("input"), | |
386 | - formulas = div.getElementsByTagName("textarea"), | |
387 | - n = nomes.length, | |
388 | - parnomes = [], | |
389 | - parformulas = [], | |
390 | - i; | |
391 | - for(i=0;i<n;i++){ | |
392 | - if(nomes[i].value != "" && formulas[i].value != ""){ | |
393 | - parnomes.push(nomes[i].value); | |
394 | - parformulas.push(formulas[i].value); | |
395 | - } | |
396 | - } | |
397 | - return "&colunascalc="+parnomes.join(",")+"&formulas="+parformulas.join(","); | |
398 | - }, | |
399 | - aplica: function(){ | |
400 | - if($i("aguardeAnalise_c") && $i("aguardeAnalise_c").style.visibility == "visible"){ | |
401 | - return; | |
402 | - }; | |
403 | - i3GEO.janela.abreAguarde("aguardeAnalise","Aguarde..."); | |
404 | - var ps,atualiza,p,i, | |
405 | - lista = [], | |
406 | - ics = $i("i3GEOF.junta_corpo").getElementsByTagName("input"), | |
407 | - n = ics.length; | |
408 | - for(i=0;i<n;i++){ | |
409 | - if(ics[i].type == "checkbox" && ics[i].checked === true){ | |
410 | - lista.push(ics[i].value); | |
411 | - } | |
412 | - } | |
413 | - if(lista.length == 0){ | |
414 | - alert("selecionaCamada"); | |
415 | - return; | |
416 | - } | |
417 | - i3GEO.janela.abreAguarde("aguardeAnalise","Aguarde..."); | |
418 | - p = i3GEO.configura.locaplic+"/ferramentas/metaestat/analise.php?g_sid="+i3GEO.configura.sid + | |
419 | - "&funcao=juntaMedidasVariaveis&layerNames="+lista.join(",")+"&nome="+$i("i3GEOFjuntaNovoNome").value; | |
420 | - ps = i3GEOF.metaestat.analise.juntaMedidasVariaveis.pegaCalculos(); | |
421 | - atualiza = function(retorno){ | |
422 | - i3GEO.janela.fechaAguarde("aguardeAnalise"); | |
423 | - i3GEO.atualiza(); | |
424 | - i3GEO.temaAtivo = retorno.data; | |
425 | - i3GEOF.metaestat.analise.comboCamadas(); | |
426 | - }; | |
427 | - //i3GEO.util.ajaxGet(p,atualiza); | |
428 | - cpJSON.call(p,"foo",atualiza,ps); | |
429 | - } | |
430 | - }, | |
431 | - | |
432 | - /** | |
433 | - * Ativa a ferramenta que permite a modificacao do tipo de representacao da camada | |
434 | - * Executa i3GEOF.alterarep.iniciaJanelaFlutuante(); | |
435 | - */ | |
436 | - alteraRep: function(){ | |
437 | - if(typeof(i3GEOF.alterarep) === 'undefined'){ | |
438 | - i3GEO.util.scriptTag( | |
439 | - i3GEO.configura.locaplic+"/ferramentas/metaestat/alterarep.js", | |
440 | - "i3GEOF.alterarep.iniciaJanelaFlutuante()", | |
441 | - "i3GEOF.alterarep_script" | |
442 | - ); | |
443 | - } | |
444 | - else{ | |
445 | - i3GEOF.alterarep.iniciaJanelaFlutuante(); | |
446 | - } | |
447 | - }, | |
448 | - /** | |
449 | - * Ativa a ferramenta que permite a criacao de mapa de calor | |
450 | - * Executa ferramentas/metaestat/analise.php?funcao=calor; | |
451 | - */ | |
452 | - calor: function(){ | |
453 | - if($i("aguardeAnalise_c") && $i("aguardeAnalise_c").style.visibility == "visible"){ | |
454 | - return; | |
455 | - }; | |
456 | - | |
457 | - if($i("i3geoCartoAnaliseCamadasCombo").value == ""){ | |
458 | - i3GEO.janela.tempoMsg("Ative uma camada primeiro"); | |
459 | - return; | |
460 | - } | |
461 | - if(!window.confirm("Gera o mapa de calor? Isso pode demorar...")){ | |
462 | - return; | |
463 | - } | |
464 | - i3GEO.janela.tempoMsg("Será considerada apenas a região mostrada no mapa"); | |
465 | - i3GEO.mapa.ativaTema($i("i3geoCartoAnaliseCamadasCombo").value); | |
466 | - var p = i3GEO.configura.locaplic+"/ferramentas/metaestat/analise.php?g_sid="+i3GEO.configura.sid + | |
467 | - "&funcao=calor&tema="+$i("i3geoCartoAnaliseCamadasCombo").value+"&ext="+i3GEO.parametros.mapexten, | |
468 | - temp = function(retorno){ | |
469 | - i3GEO.janela.fechaAguarde("aguardeAnalise"); | |
470 | - i3GEO.atualiza(); | |
471 | - }; | |
472 | - i3GEO.janela.abreAguarde("aguardeAnalise","Aguarde..."); | |
473 | - i3GEO.util.ajaxGet(p,temp); | |
474 | - }, | |
475 | - /** | |
476 | - * Ativa a ferramenta que permite ativar a visualizacao de determinada regiao cadastrada | |
477 | - * Executa i3GEOF.mostraregiao.iniciaJanelaFlutuante(); | |
478 | - */ | |
479 | - mostraRegiao: function(){ | |
480 | - i3GEO.util.dialogoFerramenta( | |
481 | - "i3GEOF.metaestat.analise.mostraRegiao()", | |
482 | - "mostraregiao", | |
483 | - "mostraregiao", | |
484 | - "dependencias.php", | |
485 | - "i3GEOF.mostraregiao.iniciaJanelaFlutuante()" | |
486 | - ); | |
487 | - }, | |
488 | - /** | |
489 | - * Ativa a ferramenta que permite ativar/desativar o contorno dos limites utilizados em uma camada | |
490 | - * Executa ferramentas/metaestat/analise.php?funcao=alteraContorno; | |
491 | - */ | |
492 | - contorno: function(){ | |
493 | - if($i("aguardeAnalise_c") && $i("aguardeAnalise_c").style.visibility == "visible"){ | |
494 | - return; | |
495 | - }; | |
496 | - | |
497 | - if($i("i3geoCartoAnaliseCamadasCombo").value == ""){ | |
498 | - i3GEO.janela.tempoMsg("Ative uma camada primeiro"); | |
499 | - return; | |
500 | - } | |
501 | - i3GEO.mapa.ativaTema($i("i3geoCartoAnaliseCamadasCombo").value); | |
502 | - var p = i3GEO.configura.locaplic+"/ferramentas/metaestat/analise.php?g_sid="+i3GEO.configura.sid + | |
503 | - "&funcao=alteraContorno&tema="+$i("i3geoCartoAnaliseCamadasCombo").value, | |
504 | - temp = function(retorno){ | |
505 | - i3GEO.janela.fechaAguarde("aguardeAnalise"); | |
506 | - i3GEO.atualiza(); | |
507 | - i3GEO.Interface.atualizaTema("",i3GEO.temaAtivo); | |
508 | - i3GEO.arvoreDeCamadas.atualizaLegenda(i3GEO.temaAtivo); | |
509 | - }; | |
510 | - i3GEO.janela.abreAguarde("aguardeAnalise","Aguarde..."); | |
511 | - i3GEO.util.ajaxGet(p,temp); | |
512 | - }, | |
513 | - /** | |
514 | - * Ativa a ferramenta que permite obter e visualizar os dados em KMZ no Google Earth | |
515 | - * Primeiro obtem os parametros necesarios, como a lista de itens da camada | |
516 | - * Executa i3GEO.tema.dialogo.tme() com a funcao i3GEOF.metaestat.analise.abreTme() | |
517 | - */ | |
518 | - ativaTme: function(){ | |
519 | - i3GEO.util.dialogoFerramenta("i3GEO.tema.dialogo.tme()","tme","tme","dependencias.php","i3GEOF.metaestat.analise.abreTme()"); | |
520 | - }, | |
521 | - /** | |
522 | - * Abre a ferramenta de visualização em 3d | |
523 | - * Executa i3GEOF.tme.iniciaJanelaFlutuante(); | |
524 | - */ | |
525 | - abreTme: function(){ | |
526 | - if($i("i3geoCartoAnaliseCamadasCombo").value == ""){ | |
527 | - i3GEO.janela.tempoMsg("Ative uma camada primeiro"); | |
528 | - return; | |
529 | - } | |
530 | - i3GEO.mapa.ativaTema($i("i3geoCartoAnaliseCamadasCombo").value); | |
531 | - if(typeof(i3GEOF.tme.dicionario) === 'undefined'){ | |
532 | - i3GEO.util.scriptTag( | |
533 | - i3GEO.configura.locaplic+"/ferramentas/tme/dicionario.js", | |
534 | - "i3GEOF.metaestat.analise.janelaTme()", | |
535 | - "i3GEOF.tme.dicionario_script" | |
536 | - ); | |
537 | - } | |
538 | - else{ | |
539 | - i3GEOF.metaestat.analise.janelaTme(); | |
540 | - } | |
541 | - }, | |
542 | - janelaTme: function(){ | |
543 | - var p = i3GEO.configura.locaplic+"/ferramentas/metaestat/analise.php?g_sid="+i3GEO.configura.sid + | |
544 | - "&funcao=pegaDadosTME&tema="+i3GEO.temaAtivo, | |
545 | - temp = function(retorno){ | |
546 | - i3GEO.janela.fechaAguarde("aguardeAnalise"); | |
547 | - i3GEOF.tme.ITEMNOMEREGIOES = retorno.data.itemNomeRegioes; | |
548 | - i3GEOF.tme.ITEMDADOS = retorno.data.itemDados; | |
549 | - i3GEOF.tme.iniciaJanelaFlutuante(); | |
550 | - }; | |
551 | - i3GEO.janela.abreAguarde("aguardeAnalise","Aguarde..."); | |
552 | - i3GEO.util.ajaxGet(p,temp); | |
553 | - }, | |
554 | - /** | |
555 | - * Abre a ferramenta que mostra um relatorio com sumario estatistico dos dados | |
556 | - * Executa ferramentas/tabela/exec.php?funcao=estatistica | |
557 | - */ | |
558 | - estatistica: function(){ | |
559 | - if($i("i3geoCartoAnaliseCamadasCombo").value == ""){ | |
560 | - i3GEO.janela.tempoMsg("Ative uma camada primeiro"); | |
561 | - return; | |
562 | - } | |
563 | - i3GEO.mapa.ativaTema($i("i3geoCartoAnaliseCamadasCombo").value); | |
564 | - //primeiro pega o nome da coluna que contem os dados | |
565 | - //depois busca as estatisticas | |
566 | - var p = i3GEO.configura.locaplic+"/ferramentas/metaestat/analise.php?g_sid="+i3GEO.configura.sid + | |
567 | - "&funcao=pegaDadosTME&tema="+i3GEO.temaAtivo, | |
568 | - temp = function(retorno){ | |
569 | - if(retorno && retorno.data && retorno.data.itemDados != ""){ | |
570 | - var item = retorno.data.itemDados, | |
571 | - p = i3GEO.configura.locaplic+"/ferramentas/tabela/exec.php?g_sid=" + | |
572 | - i3GEO.configura.sid+"&funcao=estatistica&item="+item+ | |
573 | - "&tema="+i3GEO.temaAtivo+"&exclui=&ext="+i3GEO.parametros.extentTotal, | |
574 | - monta = function(retorno){ | |
575 | - i3GEO.janela.fechaAguarde("aguardeAnalise"); | |
576 | - var ins = "", | |
577 | - nometema, | |
578 | - nome, | |
579 | - valor, | |
580 | - i, | |
581 | - n; | |
582 | - nometema = i3GEO.arvoreDeCamadas.pegaTema(i3GEO.temaAtivo); | |
583 | - if(nometema && nometema.tema){ | |
584 | - ins = "<p style='text-align:left'> <span style='color:gray'><b>Camada: </b></span>"+nometema.tema+"</p>" + | |
585 | - "<p style='text-align:left'> <span style='color:gray'><b>Coluna: </b></span>"+item+"</p>"; | |
586 | - } | |
587 | - if(retorno.data.indices !== undefined){ | |
588 | - if (retorno.data.indices){ | |
589 | - n = retorno.data.indices.length; | |
590 | - for (i=0;i<n;i++){ | |
591 | - nome = eval("retorno.data.variaveis."+retorno.data.indices[i]); | |
592 | - valor = eval("retorno.data.valores."+retorno.data.indices[i]); | |
593 | - ins += "<p style='text-align:left'> <span style='color:gray'>"+nome+": </span>"+valor+"</p>"; | |
594 | - } | |
595 | - } | |
596 | - } | |
597 | - else{ | |
598 | - ins = retorno.data; | |
599 | - } | |
600 | - i3GEO.janela.mensagemSimples(ins,"Estatísticas"); | |
601 | - }; | |
602 | - i3GEO.util.ajaxGet(p,monta); | |
603 | - } | |
604 | - else{ | |
605 | - i3GEO.janela.fechaAguarde("aguardeAnalise"); | |
606 | - i3GEO.janela.tempoMsg("Ocorreu algum erro"); | |
607 | - } | |
608 | - }; | |
609 | - if($i("aguardeAnalise_c") && $i("aguardeAnalise_c").style.visibility == "visible"){ | |
610 | - return; | |
611 | - }; | |
612 | - i3GEO.janela.abreAguarde("aguardeAnalise","Aguarde..."); | |
613 | - i3GEO.util.ajaxGet(p,temp); | |
614 | - }, | |
615 | - /** | |
616 | - * Abre a ferramenta que permite realizar uma animacao baseada nas camadas existentes no mapa | |
617 | - * executa i3GEO.mapa.dialogo.animacao() com a funcao i3GEOF.metaestat.analise.listaCamadasAnimacao() | |
618 | - */ | |
619 | - ativaAnimacao: function(){ | |
620 | - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.animacao()","animacao","animacao","dependencias.php","i3GEOF.metaestat.analise.listaCamadasAnimacao()"); | |
621 | - }, | |
622 | - /** | |
623 | - * Lista as camadas que podem ser usadas na ferramenta de animacao | |
624 | - * Preenche o div com a lista usando i3GEOF.animacao.listaDeCamadas() | |
625 | - * Marca os checkbox das camadas que sao oriundas do sistema metaestat e que estao no mapa | |
626 | - */ | |
627 | - listaCamadasAnimacao: function(){ | |
628 | - i3GEOF.animacao.iniciaJanelaFlutuante(); | |
629 | - i3GEOF.animacao.listaDeCamadas(); | |
630 | - var temp = function(retorno){ | |
631 | - var temas = retorno.data, | |
632 | - n = temas.length, | |
633 | - cs = $i("i3GEOFanimacaoLista").getElementsByTagName("input"), | |
634 | - ns = cs.length, | |
635 | - i,j; | |
636 | - for(i=0;i<n;i++){ | |
637 | - for(j=0;j<ns;j++){ | |
638 | - if(cs[j].value == temas[i]){ | |
639 | - cs[j].checked = true; | |
640 | - } | |
641 | - } | |
642 | - } | |
643 | - i3GEOF.metaestat.comum.aguarde("hidden"); | |
644 | - }; | |
645 | - i3GEO.php.listaCamadasMetaestat(temp); | |
646 | - }, | |
647 | - /** | |
648 | - * Ativa a ferramenta que permite modificar o degrade de cores utilizado | |
649 | - */ | |
650 | - alteraCores: function(){ | |
651 | - //listaColourRampAnaliseMetaestat e o id do elemento input que recebera a lista de cores | |
652 | - i3GEO.util.abreColourRamp("","listaColourRampAnaliseMetaestat",10); | |
653 | - }, | |
654 | - /** | |
655 | - * Aplica o novo degrade de cores | |
656 | - * Disparado no evento onchange do input que guarda o numero de cores | |
657 | - */ | |
658 | - aplicaColourRamp: function(){ | |
659 | - var i = $i("listaColourRampAnaliseMetaestat"); | |
660 | - if(i.value != ""){ | |
661 | - var p,temp,cores = i.value; | |
662 | - temp = function(){ | |
663 | - i3GEO.janela.fechaAguarde("aguardeAnalise"); | |
664 | - i3GEO.atualiza(); | |
665 | - i3GEO.Interface.atualizaTema("",i3GEO.temaAtivo); | |
666 | - i3GEO.arvoreDeCamadas.atualizaLegenda(i3GEO.temaAtivo); | |
667 | - }; | |
668 | - p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid + | |
669 | - "&funcao=alteraclasse&opcao=aplicacoresrgb&ext=" + | |
670 | - i3GEO.parametros.mapexten + | |
671 | - "&tema="+i3GEO.temaAtivo + | |
672 | - "&cores=" + cores; | |
673 | - i3GEO.janela.AGUARDEMODAL = true; | |
674 | - if($i("aguardeAnalise_c") && $i("aguardeAnalise_c").style.visibility == "visible"){ | |
675 | - return; | |
676 | - }; | |
677 | - | |
678 | - i3GEO.janela.abreAguarde("aguardeAnalise","Aplicando..."); | |
679 | - i3GEO.janela.AGUARDEMODAL = false; | |
680 | - i3GEO.util.ajaxGet(p,temp); | |
681 | - } | |
682 | 255 | } |
683 | 256 | }, |
684 | 257 | /** |
... | ... | @@ -753,8 +326,6 @@ i3GEOF.metaestat = { |
753 | 326 | } |
754 | 327 | janela.show(); |
755 | 328 | i3GEOF.metaestat.classes.botaoAplicar(); |
756 | - //imagemxy = i3GEO.util.pegaPosicaoObjeto($i(i3GEO.Interface.IDCORPO)); | |
757 | - //janela.moveTo(imagemxy[0]+i3GEOF.metaestat.LEFT+i3GEOF.metaestat.LARGURA+20,i3GEOF.metaestat.TOP); | |
758 | 329 | }, |
759 | 330 | /** |
760 | 331 | * Ativa o botao que aplica e guarda os parametros escolhidos | ... | ... |
ferramentas/metaestat/template_analise_mst.html
... | ... | @@ -58,23 +58,26 @@ |
58 | 58 | {{{t49}}} |
59 | 59 | </a> |
60 | 60 | --> |
61 | + <!-- | |
61 | 62 | <a onclick="i3GEOF.metaestat.analise.estatistica()" title="" class='btn btn-primary btn-lg btn-block btn-raised' href='javascript:void(0)' > |
62 | 63 | Estatística básica |
63 | 64 | </a> |
65 | + --> | |
66 | + <!-- | |
64 | 67 | <a onclick="i3GEOF.metaestat.analise.alteraRep()" title="" class='btn btn-primary btn-lg btn-block btn-raised' href='javascript:void(0)' > |
65 | 68 | Tipo de representação |
66 | 69 | </a> |
67 | 70 | <a onclick="i3GEOF.metaestat.analise.calor()" title="" class='btn btn-primary btn-lg btn-block btn-raised' href='javascript:void(0)' > |
68 | 71 | Mapa de calor |
69 | 72 | </a> |
70 | - <!-- | |
71 | 73 | <a onclick="i3GEO.mapa.dialogo.congelaMapa()" title="" class='btn btn-primary btn-lg btn-block btn-raised' href='javascript:void(0)' > |
72 | 74 | Congela o mapa |
73 | 75 | </a> |
74 | - --> | |
76 | + | |
75 | 77 | <a onclick="i3GEOF.metaestat.analise.toponimia()" title="Mostra os valores como textos no mapa" class='btn btn-primary btn-lg btn-block btn-raised' href='javascript:void(0)' > |
76 | 78 | Valores |
77 | 79 | </a> |
80 | + --> | |
78 | 81 | <a onclick="i3GEOF.metaestat.analise.juntaMedidasVariaveis.inicia()" title="" class='btn btn-primary btn-lg btn-block btn-raised' href='javascript:void(0)' > |
79 | 82 | Junção de dados |
80 | 83 | </a> | ... | ... |
ferramentas/metaestat/template_mst.html
... | ... | @@ -10,7 +10,7 @@ |
10 | 10 | <span class="form-group condensed botoes"> |
11 | 11 | <a href='javascript:void(0)' onclick="i3GEOF.metaestat.comum.adicionaCamada()" class='btn btn-primary btn-sm btn-raised'>{{{10}}}</a> |
12 | 12 | <a href='javascript:void(0)' onclick="i3GEOF.metaestat.editor.inicia()" class='btn btn-primary btn-sm btn-raised'>{{{edicao}}}</a> |
13 | - <a href='javascript:void(0)' onclick="i3GEOF.metaestat.analise.inicia()" class='btn btn-primary btn-sm btn-raised'>{{{analise}}}</a> | |
13 | + <!--<a href='javascript:void(0)' onclick="i3GEOF.metaestat.analise.inicia()" class='btn btn-primary btn-sm btn-raised'>{{{analise}}}</a>--> | |
14 | 14 | <a href='javascript:void(0)' onclick="i3GEOF.metaestat.principal.atualiza()" class='btn btn-primary btn-fab btn-fab-mini'><span class="material-icons md-18">refresh</span></a> |
15 | 15 | </span> |
16 | 16 | ... | ... |
js/analise.js
... | ... | @@ -435,6 +435,21 @@ i3GEO.analise = |
435 | 435 | "area", |
436 | 436 | "dependencias.php", |
437 | 437 | "i3GEOF.area.iniciaJanelaFlutuante()"); |
438 | + }, | |
439 | + juntamedidasvariavel : function(tema) { | |
440 | + if(!tema){ | |
441 | + tema = i3GEO.temaAtivo; | |
442 | + } | |
443 | + var temp = function(){ | |
444 | + i3GEOF.juntamedidasvariavel.iniciaJanelaFlutuante(tema); | |
445 | + }; | |
446 | + i3GEO.util.dialogoFerramenta( | |
447 | + "i3GEO.analise.dialogo.juntamedidasvariavel()", | |
448 | + "juntamedidasvariavel", | |
449 | + "juntamedidasvariavel", | |
450 | + "dependencias.php", | |
451 | + temp | |
452 | + ); | |
438 | 453 | } |
439 | 454 | } |
440 | 455 | }; |
441 | 456 | \ No newline at end of file | ... | ... |