Commit 6b3392500eb8a3a34ce09dc5b1384a3863a75bca

Authored by Edmar Moretti
1 parent e4391d5a

Atualização do sistema de metadados estatísticos

admin/admin.db
No preview for this file type
admin/php/classe_metaestat.php
... ... @@ -240,7 +240,7 @@ class Metaestat{
240 240 $dados = $this->listaMedidaVariavel("",$id_medida_variavel);
241 241 $dadosgeo = $this->listaTipoRegiao($dados["codigo_tipo_regiao"]);
242 242 $agregaregiao = false;
243   - if($dados["codigo_tipo_regiao"] != $codigo_tipo_regiao){
  243 + if($codigo_tipo_regiao != "" && $dados["codigo_tipo_regiao"] != $codigo_tipo_regiao){
244 244 $agregaregiao = true;
245 245 $dadosgeoagregada = $this->listaTipoRegiao($codigo_tipo_regiao);
246 246 }
... ... @@ -314,6 +314,7 @@ class Metaestat{
314 314 $conexao = $this->listaConexao($meta["codigo_estat_conexao"],true);
315 315 $conexao = "user=".$conexao["usuario"]." password=".$conexao["senha"]." dbname=".$conexao["bancodedados"]." host=".$conexao["host"]." port=".$conexao["porta"]."";
316 316 //echo $conexao;exit;
  317 + //echo "$id_medida_variavel,$todasascolunas,$agruparpor,$tipolayer,$codigo_tipo_regiao";exit;
317 318 $sql = $this->sqlMedidaVariavel($id_medida_variavel,$todasascolunas,$agruparpor,$tipolayer,$codigo_tipo_regiao);
318 319 $sqlf = $sql["sqlmapserver"];
319 320 if(!empty($filtro)){
... ... @@ -978,10 +979,12 @@ class Metaestat{
978 979 $id_medida_variavel - opcional
979 980 */
980 981 function listaMedidaVariavel($codigo_variavel,$id_medida_variavel=""){
981   - $sql = "SELECT i3geoestat_medida_variavel.* ";
  982 + $sql = "SELECT i3geoestat_medida_variavel.*,i3geoestat_unidade_medida.permitemedia,i3geoestat_unidade_medida.permitesoma,i3geoestat_unidade_medida.nome as unidade_medida ";
982 983 $sql .= "FROM ".$this->esquemaadmin."i3geoestat_variavel ";
983 984 $sql .= "INNER JOIN ".$this->esquemaadmin."i3geoestat_medida_variavel ";
984 985 $sql .= "ON i3geoestat_variavel.codigo_variavel = i3geoestat_medida_variavel.codigo_variavel ";
  986 + $sql .= "INNER JOIN ".$this->esquemaadmin."i3geoestat_unidade_medida ";
  987 + $sql .= "ON i3geoestat_unidade_medida.codigo_unidade_medida = i3geoestat_medida_variavel.codigo_unidade_medida ";
985 988 if($codigo_variavel != ""){
986 989 $sql .= "WHERE i3geoestat_variavel.codigo_variavel = $codigo_variavel ";
987 990 if($id_medida_variavel != ""){
... ...
admin/php/conexaomma.php
... ... @@ -1,47 +0,0 @@
1   -<?php
2   -/*
3   - Title: Exemplo de arquivo de conex&atilde;o alternativo
4   -
5   -Esse programa pode ser inclu&iacute;do em ms_configura.php caso se queira alterar o banco de dados default e usar um banco Postgres
6   -
7   -dbhw - objeto PDO com a conex&atilde;o para leitura e escrita
8   -
9   -dbh - objeto PDO com a conex&atilde;o para leitura
10   -
11   -Licen&ccedil;a:
12   -
13   -GPL2
14   -
15   -i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
16   -
17   -Direitos Autorais Reservados (c) 2006 Minist&eacute;rio do Meio Ambiente Brasil
18   -Desenvolvedor: Edmar Moretti edmar.moretti@mma.gov.br
19   -
20   -Este programa &eacute; software livre; voc&ecirc; pode redistribu&iacute;-lo
21   -e/ou modific&aacute;-lo sob os termos da Licen&ccedil;a P&uacute;blica Geral
22   -GNU conforme publicada pela Free Software Foundation;
23   -
24   -Este programa &eacute; distribu&iacute;do na expectativa de que seja &uacute;til,
25   -por&eacute;m, SEM NENHUMA GARANTIA; nem mesmo a garantia impl&iacute;cita
26   -de COMERCIABILIDADE OU ADEQUA&Ccedil;&Atilde;O A UMA FINALIDADE ESPEC&Iacute;FICA.
27   -Consulte a Licen&ccedil;a P&uacute;blica Geral do GNU para mais detalhes.
28   -Voc&ecirc; deve ter recebido uma cópia da Licen&ccedil;a P&uacute;blica Geral do
29   - GNU junto com este programa; se n&atilde;o, escreva para a
30   -Free Software Foundation, Inc., no endere&ccedil;o
31   -59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
32   -
33   -Arquivo: i3geo/admin/php/conexaomma.php
34   -
35   -*/
36   -try
37   -{
38   - $dbh = new PDO('pgsql:dbname=geodados;user=geodados;password=geodados;host=pgsql1.mma.gov.br');
39   - $dbhw = new PDO('');
40   -}
41   -catch (PDOException $e)
42   -{
43   - print "Erro ao criar o objeto PDO!: " . $e->getMessage() . "<br/> Talvez exista alguma incompatibilidade entre o PHP e o banco admin.db. Vc pode apagar o arquivo menutemas/admin.db e recria-lo com admin/php/criasqlite.php";
44   - die();
45   -}
46   -$convUTF = false;
47   -?>
admin/php/metaestat.php
... ... @@ -380,8 +380,34 @@ switch (strtoupper($funcao))
380 380 $m->alteraClasseClassificacao("",$id_classe,$titulo,$expressao,$vermelho,$verde,$azul,"","","-1","-1","-1","");
381 381 }
382 382 }
383   - if($tipo == "intervalosiguais"){
384   - //TODO
  383 + if($tipo == "intiguais5"){
  384 + $m = new Metaestat();
  385 + $dados = $m->sumarioMedidaVariavel($id_medida_variavel);
  386 + $min = $dados["menor"];
  387 + $max = $dados["maior"];
  388 + $item = $dados["colunavalor"];
  389 + $intervalo = ($max - $min) / 5;
  390 + //adiciona as classes novas
  391 + $intatual = $min;
  392 + $m->excluirRegistro("i3geoestat_classes","id_classificacao",$id_classificacao);
  393 + for ($i=0; $i < 5; ++$i){
  394 + if ($i == 5 - 1){
  395 + $expressao = "(([".$item."]>=".$intatual.")and([".$item."]<=".($intatual+$intervalo)."))";
  396 + }
  397 + else{
  398 + $expressao = "(([".$item."]>=".$intatual.")and([".$item."]<".($intatual+$intervalo)."))";
  399 + }
  400 + $titulo = ">= ".$intatual." e < que ".($intatual+$intervalo);
  401 + $intatual = $intatual + $intervalo;
  402 + $id_classe = $m->alteraClasseClassificacao($id_classificacao);
  403 + if(!empty($cores)){
  404 + $cor = explode(",",$cores[$i]);
  405 + $vermelho = $cor[0];
  406 + $verde = $cor[1];
  407 + $azul = $cor[2];
  408 + }
  409 + $m->alteraClasseClassificacao("",$id_classe,$titulo,$expressao,$vermelho,$verde,$azul,"","","-1","-1","-1","");
  410 + }
385 411 }
386 412 retornaJSON("ok");
387 413 exit;
... ... @@ -917,7 +943,6 @@ switch (strtoupper($funcao))
917 943 'dirtmp' => $dir_tmp,
918 944 'barSize'=> 5000
919 945 );
920   -
921 946 include (__DIR__."/../../pacotes/tme/TME_i3geo.php");
922 947 }
923 948 exit;
... ...
admin/php/xml.php
... ... @@ -225,7 +225,7 @@ function geraRSSgrupos($locaplic)
225 225 global $esquemaadmin;
226 226 $sql = "select '' as tipo_ws, n1.id_n1 as id_ws, g.nome_grupo as nome_ws,'rsstemasraiz.php?nivel=1&id='||n1.id_n1 as desc_ws,'rsssubgrupos.php?id='||n1.id_n1 as link_ws,'' as autor_ws ";
227 227 $sql .= "from ".$esquemaadmin."i3geoadmin_n1 as n1,".$esquemaadmin."i3geoadmin_grupos as g ";
228   - $sql .= "where g.id_grupo = n1.id_grupo and n1.n1_perfil = '' group by nome_ws,desc_ws,link_ws,autor_ws order by nome_ws";
  228 + $sql .= "where g.id_grupo = n1.id_grupo and n1.n1_perfil = '' group by id_ws,tipo_ws,nome_ws,desc_ws,link_ws,autor_ws order by nome_ws";
229 229 return geraXmlRSS($locaplic,$sql,"Lista de grupos");
230 230 }
231 231 /*
... ...
ferramentas/metaestat/dicionario1.js
  1 +//dicionario exclusivo do editor
1 2 //+$trad(1,i3GEOF.metaestat.dicionario1)+
2 3 i3GEOF.metaestat.dicionario1 = {
3 4 "1":[
... ... @@ -9,7 +10,7 @@ it:&quot;&quot;
9 10 }],
10 11 "2":[
11 12 {
12   -pt:"Esse ajudante auxiliar&aacute; voc&ecirc; na cria&ccedil;&atilde;o de novas vari&aacute;veis ou na edi&ccedil;&atilde;o das j&aacute; existentes.<br>Como fonte para os mapas e an&aacute;lises voc&ecirc; poder&aacute; utilizar tabelas j&aacute; armazenadas em seu banco de dados ou ent&atilde;o criar um novo local para armazenar e editar seus pr&oacute;prios dados. Utilize o bot&atilde;o abaixo para prosseguir ou uma das op&ccedil;&otilde;s espec&iacute;ficas",
  13 +pt:"Esse ajudante auxiliar&aacute; voc&ecirc; na cria&ccedil;&atilde;o de novas vari&aacute;veis ou na edi&ccedil;&atilde;o das j&aacute; existentes.<br>Como fonte para os mapas e an&aacute;lises voc&ecirc; poder&aacute; utilizar tabelas j&aacute; armazenadas em seu banco de dados ou ent&atilde;o criar um novo local para armazenar e editar seus pr&oacute;prios dados. Utilize o bot&atilde;o abaixo a direita para prosseguir ou uma das op&ccedil;&otilde;s espec&iacute;ficas.<br> Ap&oacute;s utilizar o ajudante voc&ecirc;e pode complementar as informa&ccedil;&otilde;es por meio do editor avan&ccedil;ado, que permite inserir fontes e links que descrevem seus dados.",
13 14 en:"",
14 15 es:"",
15 16 it:""
... ... @@ -93,6 +94,34 @@ it:&quot;&quot;
93 94 }],
94 95 "14":[
95 96 {
  97 +pt:"Unidade de medida",
  98 +en:"",
  99 +es:"",
  100 +it:""
  101 +}],
  102 +"15":[
  103 +{
  104 +pt:"",
  105 +en:"",
  106 +es:"",
  107 +it:""
  108 +}],
  109 +"16":[
  110 +{
  111 +pt:"",
  112 +en:"",
  113 +es:"",
  114 +it:""
  115 +}],
  116 +"17":[
  117 +{
  118 +pt:"",
  119 +en:"",
  120 +es:"",
  121 +it:""
  122 +}],
  123 +"18":[
  124 +{
96 125 pt:"",
97 126 en:"",
98 127 es:"",
... ...
ferramentas/metaestat/index.js
... ... @@ -46,6 +46,8 @@ i3GEOF.metaestat = {
46 46 ALTURA: 300,
47 47 //lista das camadas que foram adicionadas ao mapa
48 48 CAMADAS: [],
  49 + //dados das medidas obtidos para a ultima variavel escolhida
  50 + DADOSMEDIDASVARIAVEL: [],
49 51 //para efeitos de compatibilidade com i3GEO.mapa.dialogo
50 52 criaJanelaFlutuante: function(){
51 53 i3GEOF.metaestat.inicia();
... ... @@ -507,7 +509,6 @@ i3GEOF.metaestat = {
507 509 i3GEOF.metaestat.editor.removeEl("i3GEOF.metaestat.editor.t2");
508 510 // Enome e o id do input onde o usuario escolheu o nome da nova variavel
509 511 i3GEOF.metaestat.editor.t2(true,$i("Enomemedida").value);
510   - //TODO inserir fontes e links
511 512 };
512 513 i3GEOadmin.variaveis.editar("medidaVariavel","");
513 514 //passa o codigo da variavel
... ... @@ -585,6 +586,28 @@ i3GEOF.metaestat = {
585 586 }
586 587 }
587 588 },
  589 + /**
  590 + * Obtem um parametro da medida variavel escolhida. Os parametros sao obtidos da chamada em ajax que pega a lista de medidas de uma variavel
  591 + */
  592 + dadoMedidaSelecionada: function(parametro){
  593 + var c = $i("i3geoCartoComboMedidaVariavelEditor"),n,i;
  594 + if(c){
  595 + n = c.options.length;
  596 + for(i=0;i<n;i++){
  597 + if(c.options[i].selected === true){
  598 + if(i3GEOF.metaestat.DADOSMEDIDASVARIAVEL[i-1]){
  599 + return i3GEOF.metaestat.DADOSMEDIDASVARIAVEL[i-1][parametro];
  600 + }
  601 + else{
  602 + return "";
  603 + }
  604 + }
  605 + }
  606 + }
  607 + else{
  608 + return "";
  609 + }
  610 + },
588 611 comboVariaveisOnchange: function(){
589 612 i3GEOF.metaestat.editor.removeEl("i3GEOF.metaestat.editor.t2");
590 613 },
... ... @@ -603,8 +626,20 @@ i3GEOF.metaestat = {
603 626 i3GEO.util.ajaxGet(p,temp);
604 627 },
605 628 intervalosIguais: function(){
606   -//TODO int iguais
  629 + var id_medida_variavel = $i("i3geoCartoComboMedidaVariavelEditor").value,
  630 + id_classificacao = $i("i3geoCartoComboClassificacoesEditor").value,
  631 + cores = $i("listaColourRampEditor").value,
  632 + p = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=calculaClassificacao&tipo=intiguais5&cores="+cores+"&id_classificacao="+id_classificacao+"&id_medida_variavel="+id_medida_variavel+"&g_sid="+i3GEO.configura.sid,
  633 + temp = function(retorno){
  634 + core_carregando("desativa");
  635 + };
  636 + core_carregando("ativa");
  637 + i3GEO.util.ajaxGet(p,temp);
607 638 },
  639 + /**
  640 + * Abertura do ajudante
  641 + *
  642 + **/
608 643 t0: function(){
609 644 var ins = "<p class='paragrafo' >" + $trad(2,i3GEOF.metaestat.dicionario1) +
610 645 "<br><br><p><input id=i3GEOFmetaestatEditorBotao1 type='button' value='"+$trad(3,i3GEOF.metaestat.dicionario1)+"' />" +
... ... @@ -620,6 +655,9 @@ i3GEOF.metaestat = {
620 655 {onclick:{fn: function(){alert("Oi");}}}
621 656 );
622 657 },
  658 + /**
  659 + * Edicao da variavel
  660 + */
623 661 t1: function(remove,textoSelecionado){
624 662 if(remove == true){
625 663 //remove o conteudo anteriormente construido
... ... @@ -647,6 +685,10 @@ i3GEOF.metaestat = {
647 685 };
648 686 i3GEO.php.listaVariavel(temp);
649 687 },
  688 + /**
  689 + * Edicao da medida da variavel
  690 + *
  691 + */
650 692 t2: function(remove,textoSelecionado){
651 693 if(remove == true){
652 694 //remove o conteudo anteriormente construido
... ... @@ -658,6 +700,7 @@ i3GEOF.metaestat = {
658 700 }
659 701 else{
660 702 var temp = function(dados){
  703 + //guarda os dados
661 704 var ins = "<p class='paragrafo' >" + $trad(2,i3GEOF.metaestat.dicionario) + "<br><br>" +
662 705 "<span>" + i3GEOF.metaestat.principal.comboMedidasVariavel(dados,"i3geoCartoComboMedidaVariavelEditor","i3GEOF.metaestat.editor.comboMedidaVariavelOnchange(this)") + "</span>" +
663 706 "<br><br><p><input id=i3GEOFmetaestatEditorBotao4 type='button' value='"+$trad(8,i3GEOF.metaestat.dicionario1)+"' />" +
... ... @@ -676,7 +719,6 @@ i3GEOF.metaestat = {
676 719 if(textoSelecionado){
677 720 i3GEOF.metaestat.editor.selComboPorTexto("i3geoCartoComboMedidaVariavelEditor",textoSelecionado);
678 721 }
679   -
680 722 },
681 723 codigo_variavel = $i("i3geoCartoComboVariavelEditor").value;
682 724 if(codigo_variavel == ""){
... ... @@ -687,6 +729,9 @@ i3GEOF.metaestat = {
687 729 i3GEO.php.listaMedidaVariavel(codigo_variavel,temp);
688 730 }
689 731 },
  732 + /**
  733 + * Edicao da classificacao
  734 + */
690 735 t3: function(remove,textoSelecionado){
691 736 //TODO incluir opcao de upload de dados
692 737 if(remove == true){
... ... @@ -701,9 +746,11 @@ i3GEOF.metaestat = {
701 746 var temp = function(dados){
702 747 var ins = "<p class='paragrafo' >" + $trad(7,i3GEOF.metaestat.dicionario1) + "<br><br>" +
703 748 "<span>" + i3GEOF.metaestat.principal.comboClassificacoesMedidaVariavel(dados,"i3geoCartoComboClassificacoesEditor","") + "</span>" +
  749 + "<br><br>"+$trad(14,i3GEOF.metaestat.dicionario1)+": " + i3GEOF.metaestat.editor.dadoMedidaSelecionada("unidade_medida") +
704 750 "<br><br><p><input id=i3GEOFmetaestatEditorBotao5 type='button' value='"+$trad(8,i3GEOF.metaestat.dicionario1)+"' />" +
705 751 "&nbsp;<input id=i3GEOFmetaestatEditorBotao5a type='button' value='"+$trad(5,i3GEOF.metaestat.dicionario1)+"' /><br>";
706 752 i3GEO.util.proximoAnterior("i3GEOF.metaestat.editor.t2()","i3GEOF.metaestat.editor.t4()",ins,"i3GEOF.metaestat.editor.t3","i3GEOFmetaestatEditor",true);
  753 +
707 754 new YAHOO.widget.Button(
708 755 "i3GEOFmetaestatEditorBotao5",
709 756 {onclick:{fn: i3GEOF.metaestat.editor.editaClassificacao}}
... ... @@ -719,6 +766,9 @@ i3GEOF.metaestat = {
719 766 i3GEO.php.listaClassificacaoMedida($i("i3geoCartoComboMedidaVariavelEditor").value,temp);
720 767 }
721 768 },
  769 + /**
  770 + * Edicao das classes
  771 + */
722 772 t4: function(){
723 773 //remove o conteudo anteriormente construido
724 774 i3GEOF.metaestat.editor.removeEl("i3GEOF.metaestat.editor.t4");
... ... @@ -728,12 +778,17 @@ i3GEOF.metaestat = {
728 778 }
729 779 else{
730 780 var temp = function(dados){
731   - var ins = "<p class='paragrafo' >" + $trad(10,i3GEOF.metaestat.dicionario1) +
  781 + var soma = i3GEOF.metaestat.editor.dadoMedidaSelecionada("permitesoma"),
  782 + media = i3GEOF.metaestat.editor.dadoMedidaSelecionada("permitemedia"),
  783 + ins = "<p class='paragrafo' >" + $trad(10,i3GEOF.metaestat.dicionario1) +
732 784 "<br><br><p>" +
733 785 "&nbsp;<input id=i3GEOFmetaestatEditorBotao8 type='button' value='"+$trad(13,i3GEOF.metaestat.dicionario1)+"' />" +
734   - "<br><br>&nbsp;<input id=i3GEOFmetaestatEditorBotao6 type='button' value='"+$trad(11,i3GEOF.metaestat.dicionario1)+"' />" +
735   - "&nbsp;<input id=i3GEOFmetaestatEditorBotao7 type='button' value='"+$trad(12,i3GEOF.metaestat.dicionario1)+"' />" +
736   - '<input type=hidden value="" id="listaColourRampEditor" />'; //utilizado pelo seletor de colourramp;
  786 + "<br><br>";
  787 + if(soma == 1 || media == 1){
  788 + ins += "&nbsp;<input id=i3GEOFmetaestatEditorBotao6 type='button' value='"+$trad(11,i3GEOF.metaestat.dicionario1)+"' />" +
  789 + "&nbsp;<input id=i3GEOFmetaestatEditorBotao7 type='button' value='"+$trad(12,i3GEOF.metaestat.dicionario1)+"' />";
  790 + }
  791 + ins += '<input type=hidden value="" id="listaColourRampEditor" />'; //utilizado pelo seletor de colourramp;
737 792 i3GEO.util.proximoAnterior("i3GEOF.metaestat.editor.t3()","i3GEOF.metaestat.editor.t5()",ins,"i3GEOF.metaestat.editor.t4","i3GEOFmetaestatEditor",true);
738 793 new YAHOO.widget.Button(
739 794 "i3GEOFmetaestatEditorBotao8",
... ... @@ -742,16 +797,18 @@ i3GEOF.metaestat = {
742 797 }}}
743 798 );
744 799 $i("i3GEOFmetaestatEditorBotao8-button").style.width = (i3GEOF.metaestat.LARGURA / 2) + "px";
745   - new YAHOO.widget.Button(
746   - "i3GEOFmetaestatEditorBotao6",
747   - {onclick:{fn: i3GEOF.metaestat.editor.quartis}}
748   - );
749   - $i("i3GEOFmetaestatEditorBotao6-button").style.width = (i3GEOF.metaestat.LARGURA / 2) + "px";
750   - new YAHOO.widget.Button(
751   - "i3GEOFmetaestatEditorBotao7",
752   - {onclick:{fn: i3GEOF.metaestat.editor.intervalosIguais}}
753   - );
754   - $i("i3GEOFmetaestatEditorBotao7-button").style.width = (i3GEOF.metaestat.LARGURA / 2) + "px";
  800 + if($i("i3GEOFmetaestatEditorBotao6")){
  801 + new YAHOO.widget.Button(
  802 + "i3GEOFmetaestatEditorBotao6",
  803 + {onclick:{fn: i3GEOF.metaestat.editor.quartis}}
  804 + );
  805 + $i("i3GEOFmetaestatEditorBotao6-button").style.width = (i3GEOF.metaestat.LARGURA / 2) + "px";
  806 + new YAHOO.widget.Button(
  807 + "i3GEOFmetaestatEditorBotao7",
  808 + {onclick:{fn: i3GEOF.metaestat.editor.intervalosIguais}}
  809 + );
  810 + $i("i3GEOFmetaestatEditorBotao7-button").style.width = (i3GEOF.metaestat.LARGURA / 2) + "px";
  811 + }
755 812 };
756 813 i3GEO.php.listaClasseClassificacao($i("i3geoCartoComboClassificacoesEditor").value,temp);
757 814 }
... ... @@ -1029,6 +1086,7 @@ i3GEOF.metaestat = {
1029 1086 i3GEOF.metaestat.classes.destroiJanela();
1030 1087 },
1031 1088 comboMedidasVariavel: function(dados,idcombo,stronchange){
  1089 + i3GEOF.metaestat.DADOSMEDIDASVARIAVEL = dados;
1032 1090 var n = dados.length,
1033 1091 ins = '',
1034 1092 i;
... ...