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 | 545 | * @param faz o cache do mapfile |
| 546 | 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 | 549 | //para permitir a inclusao de filtros, o fim do sql e marcado com /*FW*//*FW*/ |
| 550 | 550 | //indicando onde deve comecar e terminar uma possivel clausula where |
| 551 | 551 | //ou com /*FA*//*FA*/ |
| ... | ... | @@ -557,7 +557,13 @@ class MetaestatInfo{ |
| 557 | 557 | if($cachemapfile == false){ |
| 558 | 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 | 567 | //error_log("-- "); |
| 562 | 568 | //error_log("--xxxxxxxxxxx---- nomecache: ".$arq); |
| 563 | 569 | if(!file_exists($arq)){ |
| ... | ... | @@ -699,7 +705,7 @@ class MetaestatInfo{ |
| 699 | 705 | } |
| 700 | 706 | } |
| 701 | 707 | $dados[] = "LAYER"; |
| 702 | - $dados[] = ' NAME "'.$this->nomecache.'"'; | |
| 708 | + $dados[] = ' NAME "'.$nomeDoLayer.'"'; | |
| 703 | 709 | $dados[] = " TYPE $tipolayer"; |
| 704 | 710 | $dados[] = ' DATA "'.$sqlf.'"'; |
| 705 | 711 | //$dados[] = ' CONNECTION "'.$conexao.'"'; |
| ... | ... | @@ -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 | 805 | * Cria um mapfile para visualizacao de regioes | ... | ... |
ms_criamapa.php
| ... | ... | @@ -845,28 +845,33 @@ function incluiTemasIniciais() |
| 845 | 845 | $metaestatidsligados = str_replace(',', " ", $metaestatidsligados); |
| 846 | 846 | $metaestatidsligados = explode(" ", $metaestatidsligados); |
| 847 | 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 | 875 | // array(3) { ["mapfile"]=> string(52) "/tmp/ms_tmp/AAAAc20ad4d76fe97759aa27a0c99bff6710.map" ["layer"]=> string(36) "AAAAc20ad4d76fe97759aa27a0c99bff6710" ["titulolayer"]=> string(0) "" } |
| 871 | 876 | // var_dump ($mapfilemetaestat); |
| 872 | 877 | // exit; | ... | ... |