Commit 138c467eb6598075d29e6f04d78c51ed72be9b9f
1 parent
cfe3c3f9
Exists in
master
and in
6 other branches
Melhoria na criação do mapfile de cache na criação do mapa quando se usa um id do sistema metaestat
Showing
2 changed files
with
36 additions
and
25 deletions
Show diff stats
classesphp/classe_metaestatinfo.php
| @@ -545,7 +545,7 @@ class MetaestatInfo{ | @@ -545,7 +545,7 @@ class MetaestatInfo{ | ||
| 545 | * @param faz o cache do mapfile | 545 | * @param faz o cache do mapfile |
| 546 | * @return array("mapfile"=>,"layer"=>,"titulolayer"=>) | 546 | * @return array("mapfile"=>,"layer"=>,"titulolayer"=>) |
| 547 | */ | 547 | */ |
| 548 | - function mapfileMedidaVariavel($id_medida_variavel,$filtro="",$todasascolunas = 0,$tipolayer="polygon",$titulolayer="",$id_classificacao="",$agruparpor="",$codigo_tipo_regiao="",$opacidade="",$suportaWMST=false,$cachemapfile=true){ | 548 | + function mapfileMedidaVariavel($id_medida_variavel,$filtro="",$todasascolunas = 0,$tipolayer="polygon",$titulolayer="",$id_classificacao="",$agruparpor="",$codigo_tipo_regiao="",$opacidade="",$suportaWMST=false,$cachemapfile=true,$nomeTemp=""){ |
| 549 | //para permitir a inclusao de filtros, o fim do sql e marcado com /*FW*//*FW*/ | 549 | //para permitir a inclusao de filtros, o fim do sql e marcado com /*FW*//*FW*/ |
| 550 | //indicando onde deve comecar e terminar uma possivel clausula where | 550 | //indicando onde deve comecar e terminar uma possivel clausula where |
| 551 | //ou com /*FA*//*FA*/ | 551 | //ou com /*FA*//*FA*/ |
| @@ -557,7 +557,13 @@ class MetaestatInfo{ | @@ -557,7 +557,13 @@ class MetaestatInfo{ | ||
| 557 | if($cachemapfile == false){ | 557 | if($cachemapfile == false){ |
| 558 | $this->nomecache = $this->nomecache . $this->nomeRandomico(5); | 558 | $this->nomecache = $this->nomecache . $this->nomeRandomico(5); |
| 559 | } | 559 | } |
| 560 | - $arq = $this->dir_tmp."/".$this->nomecache.".map"; | 560 | + if($nomeTemp == ""){ |
| 561 | + $arq = $this->dir_tmp."/".$this->nomecache.".map"; | ||
| 562 | + $nomeDoLayer = $this->nomecache; | ||
| 563 | + } else { | ||
| 564 | + $arq = $nomeTemp; | ||
| 565 | + $nomeDoLayer = str_replace(".map","",basename($nomeTemp)); | ||
| 566 | + } | ||
| 561 | //error_log("-- "); | 567 | //error_log("-- "); |
| 562 | //error_log("--xxxxxxxxxxx---- nomecache: ".$arq); | 568 | //error_log("--xxxxxxxxxxx---- nomecache: ".$arq); |
| 563 | if(!file_exists($arq)){ | 569 | if(!file_exists($arq)){ |
| @@ -699,7 +705,7 @@ class MetaestatInfo{ | @@ -699,7 +705,7 @@ class MetaestatInfo{ | ||
| 699 | } | 705 | } |
| 700 | } | 706 | } |
| 701 | $dados[] = "LAYER"; | 707 | $dados[] = "LAYER"; |
| 702 | - $dados[] = ' NAME "'.$this->nomecache.'"'; | 708 | + $dados[] = ' NAME "'.$nomeDoLayer.'"'; |
| 703 | $dados[] = " TYPE $tipolayer"; | 709 | $dados[] = " TYPE $tipolayer"; |
| 704 | $dados[] = ' DATA "'.$sqlf.'"'; | 710 | $dados[] = ' DATA "'.$sqlf.'"'; |
| 705 | //$dados[] = ' CONNECTION "'.$conexao.'"'; | 711 | //$dados[] = ' CONNECTION "'.$conexao.'"'; |
| @@ -793,7 +799,7 @@ class MetaestatInfo{ | @@ -793,7 +799,7 @@ class MetaestatInfo{ | ||
| 793 | } | 799 | } |
| 794 | } | 800 | } |
| 795 | 801 | ||
| 796 | - return array("mapfile"=>$arq,"layer"=>$this->nomecache,"titulolayer"=>$titulolayer); | 802 | + return array("mapfile"=>$arq,"layer"=>$nomeDoLayer,"titulolayer"=>$titulolayer); |
| 797 | } | 803 | } |
| 798 | /** | 804 | /** |
| 799 | * Cria um mapfile para visualizacao de regioes | 805 | * Cria um mapfile para visualizacao de regioes |
ms_criamapa.php
| @@ -845,28 +845,33 @@ function incluiTemasIniciais() | @@ -845,28 +845,33 @@ function incluiTemasIniciais() | ||
| 845 | $metaestatidsligados = str_replace(',', " ", $metaestatidsligados); | 845 | $metaestatidsligados = str_replace(',', " ", $metaestatidsligados); |
| 846 | $metaestatidsligados = explode(" ", $metaestatidsligados); | 846 | $metaestatidsligados = explode(" ", $metaestatidsligados); |
| 847 | foreach ($metaestatids as $metaestatid) { | 847 | foreach ($metaestatids as $metaestatid) { |
| 848 | - // $_pg["filtro"] = str_replace('"', "'", $_pg["filtro"]); | ||
| 849 | - $m = new MetaestatInfo(); | ||
| 850 | - | ||
| 851 | - $parametros = $m->listaParametro($metaestatid, "", "", true, true); | ||
| 852 | - // id_parametro_medida,coluna | ||
| 853 | - $filtroPar = array(); | ||
| 854 | - $tituloPar = array(); | ||
| 855 | - foreach ($parametros as $parametro) { | ||
| 856 | - $valoresparametro = $m->valorUnicoMedidaVariavel($metaestatid, $parametro["coluna"]); | ||
| 857 | - //var_dump($valoresparametro); | ||
| 858 | - //exit(); | ||
| 859 | - $valormaior = $valoresparametro[count($valoresparametro) - 1]; | ||
| 860 | - $filtroPar[] = " " . $parametro["coluna"] . "::text = '" . $valormaior[$parametro["coluna"]] . "' "; | ||
| 861 | - $tituloPar[] = $parametro["coluna"] . ": " . $valormaior[$parametro["coluna"]]; | ||
| 862 | - } | ||
| 863 | - $dadosMedida = $m->listaMedidaVariavel("", $metaestatid); | ||
| 864 | - // var_dump($dadosMedida);exit; | ||
| 865 | - $tituloCamada = mb_convert_encoding($dadosMedida["nomemedida"],"ISO-8859-1",mb_detect_encoding($dadosMedida["nomemedida"])); | ||
| 866 | - if(count($tituloPar)>0){ | ||
| 867 | - $tituloCamada = $tituloCamada." (".implode(" ,",$tituloPar)." )"; | 848 | + if(!file_exists($_SESSION["dir_tmp"]."/metaestatTempInit".$metaestatid.".map")){ |
| 849 | + $m = new MetaestatInfo(); | ||
| 850 | + $parametros = $m->listaParametro($metaestatid, "", "", true, true); | ||
| 851 | + // id_parametro_medida,coluna | ||
| 852 | + $filtroPar = array(); | ||
| 853 | + $tituloPar = array(); | ||
| 854 | + foreach ($parametros as $parametro) { | ||
| 855 | + $valoresparametro = $m->valorUnicoMedidaVariavel($metaestatid, $parametro["coluna"]); | ||
| 856 | + //var_dump($valoresparametro); | ||
| 857 | + //exit(); | ||
| 858 | + $valormaior = $valoresparametro[count($valoresparametro) - 1]; | ||
| 859 | + $filtroPar[] = " " . $parametro["coluna"] . "::text = '" . $valormaior[$parametro["coluna"]] . "' "; | ||
| 860 | + $tituloPar[] = $parametro["coluna"] . ": " . $valormaior[$parametro["coluna"]]; | ||
| 861 | + } | ||
| 862 | + $dadosMedida = $m->listaMedidaVariavel("", $metaestatid); | ||
| 863 | + // var_dump($dadosMedida);exit; | ||
| 864 | + $tituloCamada = mb_convert_encoding($dadosMedida["nomemedida"],"ISO-8859-1",mb_detect_encoding($dadosMedida["nomemedida"])); | ||
| 865 | + if(count($tituloPar)>0){ | ||
| 866 | + $tituloCamada = $tituloCamada." (".implode(" ,",$tituloPar)." )"; | ||
| 867 | + } | ||
| 868 | + $mapfilemetaestat = $m->mapfileMedidaVariavel($metaestatid, implode(" AND ", $filtroPar), 0, "polygon", $tituloCamada, "", "", "", "", false, true,$_SESSION["dir_tmp"]."/metaestatTempInit".$metaestatid.".map"); | ||
| 869 | + } else { | ||
| 870 | + $mapfilemetaestat = array( | ||
| 871 | + "mapfile" => $_SESSION["dir_tmp"]."/metaestatTempInit".$metaestatid.".map", | ||
| 872 | + "layer" => "metaestatTempInit".$metaestatid | ||
| 873 | + ); | ||
| 868 | } | 874 | } |
| 869 | - $mapfilemetaestat = $m->mapfileMedidaVariavel($metaestatid, implode(" AND ", $filtroPar), 0, "polygon", $tituloCamada, "", "", "", "", false, true); | ||
| 870 | // array(3) { ["mapfile"]=> string(52) "/tmp/ms_tmp/AAAAc20ad4d76fe97759aa27a0c99bff6710.map" ["layer"]=> string(36) "AAAAc20ad4d76fe97759aa27a0c99bff6710" ["titulolayer"]=> string(0) "" } | 875 | // array(3) { ["mapfile"]=> string(52) "/tmp/ms_tmp/AAAAc20ad4d76fe97759aa27a0c99bff6710.map" ["layer"]=> string(36) "AAAAc20ad4d76fe97759aa27a0c99bff6710" ["titulolayer"]=> string(0) "" } |
| 871 | // var_dump ($mapfilemetaestat); | 876 | // var_dump ($mapfilemetaestat); |
| 872 | // exit; | 877 | // exit; |