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