Commit dbffb28b47bb9ca9c6d6715b2429e65e801b630c

Authored by Edmar Moretti
1 parent 1a965084

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
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
... ... @@ -54,5 +54,13 @@ i3GEOF.atalhoscamada.dicionario = {
54 54 es : "",
55 55 it : ""
56 56 }
57   - ]
  57 + ],
  58 + "juncao" : [
  59 + {
  60 + pt : "Junção de camadas",
  61 + en : "",
  62 + es : "",
  63 + it : ""
  64 + }
  65 + ]
58 66 };
... ...
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>
... ...
ferramentas/juntamedidasvariavel/dependencias.php 0 → 100755
... ... @@ -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
... ...
ferramentas/juntamedidasvariavel/dicionario.js 0 → 100755
... ... @@ -0,0 +1,47 @@
  1 +i3GEOF.juntamedidasvariavel.dicionario = {
  2 + 'titulo' : [ {
  3 + pt : "Jun&ccedil;&atilde;o de tabelas",
  4 + en : "",
  5 + es : ""
  6 + } ],
  7 + 'ajuda' : [ {
  8 + pt : "Os c&aacute;lculos s&atilde;o f&oacute;rmulas que utilizam as colunas que forem juntadas e que ser&atilde;o inclu&iacute;das na nova camada. Cada uma dessas colunas receber&aacute; um nome sequencial, por exemplo <i>valortema0,valortema1, valortema2...</i><br><br>As colunas calculadas podem utilizar esses nomes como entrada em f&oacute;rmulas. Cada f&oacute;rmula ir&aacute; 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&atilde;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&uacute;meros)",
  39 + en : "",
  40 + es : ""
  41 + } ],
  42 + 'titulosql' : [ {
  43 + pt : "Digite a f&oacute;rmula (padr&atilde;o sql)",
  44 + en : "",
  45 + es : ""
  46 + } ]
  47 +};
... ...
ferramentas/juntamedidasvariavel/index.js 0 → 100755
... ... @@ -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&ccedil;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. &Eacute; chamado por criaJanelaFlutuante
  28 +
  29 + Parametro:
  30 +
  31 + iddiv {String} - id do div que receber&aacute; 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&oacute;digo html para apresenta&ccedil;&atilde;o das op&ccedil;&otilde;es da ferramenta
  65 +
  66 + Retorno:
  67 +
  68 + String com o c&oacute;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
... ...
ferramentas/juntamedidasvariavel/template_mst.html 0 → 100755
... ... @@ -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&ccedil;&atilde;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&atilde;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>&nbsp;<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&aacute;lculos s&atilde;o f&oacute;rmulas que utilizam as colunas que forem juntadas e que ser&atilde;o inclu&iacute;das "+
361   - "na nova camada. Cada uma dessas colunas receber&aacute; um nome sequencial, por exemplo <i>valortema0,valortema1,"+
362   - "valortema2...</i><br><br>As colunas calculadas podem utilizar esses nomes como entrada em f&oacute;rmulas. "+
363   - "Cada f&oacute;rmula ir&aacute; 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&uacute;meros)<br>' +
378   - '<input type=text value="" style=width:205px />' +
379   - '<br>F&oacute;rmula (padr&atilde;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&aacute; considerada apenas a regi&atilde;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&iacute;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&iacute;stica b&aacute;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&ccedil;&atilde;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&ccedil;&atilde;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
... ...