Commit ba48ded378641d0bb6ac64beacda6e7597b0a0ad
1 parent
3697da4d
Exists in
master
and in
6 other branches
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 | +?> | ... | ... |