Commit ba48ded378641d0bb6ac64beacda6e7597b0a0ad

Authored by Edmar Moretti
1 parent 3697da4d

Otimização da geração das camadas do mestaestat

Showing 1 changed file with 35 additions and 12 deletions   Show diff stats
classesphp/classe_metaestatinfo.php
... ... @@ -36,6 +36,7 @@ class MetaestatInfo{
36 36 */
37 37 function __construct(){
38 38 include(dirname(__FILE__)."/conexao.php");
  39 + error_reporting(0);
39 40 //vem do include
40 41 $this->dir_tmp = $dir_tmp;
41 42 $this->logTransacoes = $logTransacoes;
... ... @@ -81,7 +82,7 @@ class MetaestatInfo{
81 82 * Fecha a conexao com o banco de dados de administracao
82 83 */
83 84 function fechaConexao(){
84   - $this->dbh = null;
  85 + //$this->dbh = null;
85 86 }
86 87 /**
87 88 * Aplica a conversao de caracteres em um array ou string conforme o padrao do banco de administracao
... ... @@ -227,7 +228,8 @@ class MetaestatInfo{
227 228 //a parte que contem referencias a coluna com a geometria e marcada com /*SG*//*SG*/
228 229 //
229 230 //registros da medida da variavel
230   - $dados = $this->listaMedidaVariavel("",$id_medida_variavel);
  231 + $dados = $this->listaTabelaMedidaVariavel($id_medida_variavel);
  232 + $dadosUnidadeDeMedida = $this->listaUnidadeMedida($dados["codigo_unidade_medida"]);
231 233 if(!empty($dados["filtro"])){
232 234 if($filtro == ""){
233 235 $filtro = $dados["filtro"];
... ... @@ -311,13 +313,13 @@ class MetaestatInfo{
311 313 }
312 314 //verifica o tipo de calculo para agragacao de valores
313 315 $tipoconta = "";
314   - if($dados["permitesoma"] == 1 && $direto == false){
  316 + if($dadosUnidadeDeMedida["permitesoma"] == 1 && $direto == false){
315 317 $tipoconta = "sum";
316 318 if($agregaregiao == true){
317 319 $titulo .= " - soma";
318 320 }
319 321 }
320   - elseif($dados["permitemedia"] == 1 && $direto == false){
  322 + elseif($dadosUnidadeDeMedida["permitemedia"] == 1 && $direto == false){
321 323 $tipoconta = "avg";
322 324 if($agregaregiao == true){
323 325 $titulo .= " - media";
... ... @@ -567,14 +569,17 @@ class MetaestatInfo{
567 569 //error_log("-- ");
568 570 //error_log("--xxxxxxxxxxx---- nomecache: ".$arq);
569 571 if(!file_exists($arq)){
570   - $meta = $this->listaMedidaVariavel("",$id_medida_variavel);
  572 +//error_log("----- m->listaTabelaMedidaVariavel");
  573 + $meta = $this->listaTabelaMedidaVariavel($id_medida_variavel);
571 574 //evita agregar regioes qd nao e necessario
572 575 if($meta["codigo_tipo_regiao"] == $codigo_tipo_regiao || empty($codigo_tipo_regiao) ){
573 576 $agruparpor = "";
574 577 }
575 578 //$dconexao = $this->listaConexao($meta["codigo_estat_conexao"],true);
  579 +//error_log("----- m->listaConexaoMetaestat");
576 580 $dconexao = $this->listaConexaoMetaestat();
577 581 $conexao = "user=".$dconexao["usuario"]." password=".$dconexao["senha"]." dbname=".$dconexao["bancodedados"]." host=".$dconexao["host"]." port=".$dconexao["porta"]."";
  582 +//error_log("----- m->sqlMedidaVariavel");
578 583 $sql = $this->sqlMedidaVariavel(
579 584 $id_medida_variavel,
580 585 $todasascolunas,
... ... @@ -587,9 +592,13 @@ class MetaestatInfo{
587 592 //error_log("-- ");
588 593 //error_log("--xxxxxxxxxxx---- sqlMedidaVariavel: ".$sql);
589 594 if(empty($codigo_tipo_regiao)){
590   - $d = $this->listaMedidaVariavel("",$id_medida_variavel);
591   - $codigo_tipo_regiao = $d["codigo_tipo_regiao"];
  595 + //$d = $this->listaMedidaVariavel("",$id_medida_variavel);
  596 + $codigo_tipo_regiao = $meta["codigo_tipo_regiao"];
592 597 }
  598 + if(empty($codigo_tipo_regiao)){
  599 + return false;
  600 + }
  601 +//error_log("----- m->listaDadosGeometriaRegiao");
593 602 //define o tipo correto de layer
594 603 $dg = $this->listaDadosGeometriaRegiao($codigo_tipo_regiao);
595 604 if(empty($tipolayer)){
... ... @@ -601,8 +610,11 @@ class MetaestatInfo{
601 610 if($dg["dimension"] == 1){
602 611 $tipolayer = "line";
603 612 }
  613 + error_log("++++++ tipolayer ".$tipolayer);
  614 + error_log("++++++ dimension ".$dg["dimension"]);
  615 + error_log("++++++ id_medida_variavel ".$id_medida_variavel);
  616 + //$tipolayer = "polygon";
604 617 $sqlf = $sql["sqlmapserver"];
605   -
606 618 $classes = "";
607 619 if(!empty($id_classificacao)){
608 620 $classes = $this->listaClasseClassificacao($id_classificacao);
... ... @@ -721,6 +733,7 @@ class MetaestatInfo{
721 733 $dados[] = ' tme "{\"titulo\":\"'.$titulolayer.'\",\"colnome\":\"'.$sql["nomeregiao"].'\",\"colsdata\":[\"'.$sql["colunavalor"].'\"],\"lmax\":\"8000\",\"amax\":\"500000\",\"outlinecolor\":\"-1,-1,-1\",\"numvertices\":\"4\",\"auto\":\"nao\",\"exec\":\"nao\"}"';
722 734  
723 735 $dados[] = ' TIP "'.$sql["colunavalor"].','.$sql["nomeregiao"].'"';
  736 + //$dados[] = ' "UTFDATA" "'.$sql["colunavalor"].'"';
724 737 $dados[] = ' CLASSE "SIM"';
725 738 $dados[] = ' permitedownload "SIM"';
726 739 $dados[] = ' METAESTAT "SIM"';
... ... @@ -906,7 +919,7 @@ class MetaestatInfo{
906 919 $dados[] = ' NAME "'.$this->nomecache.'"';
907 920 $dados[] = " TYPE $tipolayer";
908 921 $dados[] = ' DATA "'.$sqlf.'"';
909   - $dados[] = ' CONNECTION "'.$conexao.'"';
  922 + $dados[] = ' CONNECTION "metaestat"';
910 923 $dados[] = ' CONNECTIONTYPE POSTGIS';
911 924 $dados[] = ' TEMPLATE "none.htm"';
912 925 $dados[] = ' STATUS OFF';
... ... @@ -957,7 +970,7 @@ class MetaestatInfo{
957 970 $dados[] = ' NAME "'.$this->nomecache.'_anno"';
958 971 $dados[] = " TYPE ANNOTATION";
959 972 $dados[] = ' DATA "'.$sqlf.'"';
960   - $dados[] = ' CONNECTION "'.$conexao.'"';
  973 + $dados[] = ' CONNECTION "metaestat"';
961 974 $dados[] = ' CONNECTIONTYPE POSTGIS';
962 975 $dados[] = ' TEMPLATE "none.htm"';
963 976 $dados[] = ' STATUS OFF';
... ... @@ -1089,7 +1102,7 @@ class MetaestatInfo{
1089 1102 function valorUnicoMedidaVariavel($id_medida_variavel,$coluna,$filtro=""){
1090 1103 $sqlf = $this->sqlMedidaVariavel($id_medida_variavel,0,$coluna,"polygon","",false,$filtro);
1091 1104 $sqlf = $sqlf["sqlagrupamento"];
1092   - $metaVariavel = $this->listaMedidaVariavel("",$id_medida_variavel);
  1105 + $metaVariavel = $this->listaTabelaMedidaVariavel($id_medida_variavel);
1093 1106 if(!empty($metaVariavel["codigo_estat_conexao"])){
1094 1107 //$c = $this->listaConexao($metaVariavel["codigo_estat_conexao"],true);
1095 1108 $c = $this->listaConexaoMetaestat();
... ... @@ -1373,6 +1386,16 @@ class MetaestatInfo{
1373 1386 $res = str_replace('"',"'",$res);
1374 1387 return $res;
1375 1388 }
  1389 + function listaTabelaMedidaVariavel($id_medida_variavel=""){
  1390 + $sql = "SELECT * ";
  1391 + $sql .= "FROM ".$this->esquemaadmin."i3geoestat_medida_variavel ";
  1392 + if($id_medida_variavel != "") {
  1393 + $sql .= " WHERE id_medida_variavel = $id_medida_variavel ";
  1394 + }
  1395 + $res = $this->execSQL($sql,$id_medida_variavel);
  1396 + $res = str_replace('"',"'",$res);
  1397 + return $res;
  1398 + }
1376 1399 /**
1377 1400 * Lista as regioes vinculadas a uma medida de variavel
1378 1401 * @param id da medida de vriavel
... ... @@ -2211,4 +2234,4 @@ class MetaestatInfo{
2211 2234 }
2212 2235 }
2213 2236 }
2214   -?>
2215 2237 \ No newline at end of file
  2238 +?>
... ...