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,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 | +?> |