From f6e59278801b6b06572a6e1aaf5ec1e9498b4e6e Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Tue, 17 Jan 2012 10:58:55 +0000 Subject: [PATCH] Inclusão de função para mover layers do tipo annotation para o topo do mapa --- admin/admin.db | Bin 75776 -> 0 bytes classesphp/classe_analise.php | 53 +++++++++++++++++++++++++++++++---------------------- classesphp/classe_atlas.php | 4 ++++ classesphp/funcoes_gerais.php | 21 +++++++++++++++++++++ classesphp/mapa_inicia.php | 4 ++++ 5 files changed, 60 insertions(+), 22 deletions(-) diff --git a/admin/admin.db b/admin/admin.db index d8e56b4..8852721 100644 Binary files a/admin/admin.db and b/admin/admin.db differ diff --git a/classesphp/classe_analise.php b/classesphp/classe_analise.php index a2ad7a2..8abb599 100644 --- a/classesphp/classe_analise.php +++ b/classesphp/classe_analise.php @@ -233,24 +233,24 @@ Include: break; //delaunay e voronoi case "deldir": - $this->mapaDeldir($nomearq,$dir_tmp,$R_path,$locaplic); - $this->deldirDir2shp($nomearq."dirsgs",$dir_tmp,$locaplic); - $this->deldirDel2shp($nomearq."delsgs",$dir_tmp,$locaplic); - if(file_exists($this->qyfile)) - {unlink($this->qyfile);} + $this->mapaDeldir($nomearq,$dir_tmp,$R_path,$locaplic); + $this->deldirDir2shp($nomearq."dirsgs",$dir_tmp,$locaplic); + $this->deldirDel2shp($nomearq."delsgs",$dir_tmp,$locaplic); + if(file_exists($this->qyfile)) + {unlink($this->qyfile);} return "ok"; break; case "kernel": - $this->mapaKernel($nomearq,$dimx,$dimy,$dir_tmp,$R_path,$locaplic,$sigma); + $this->mapaKernel($nomearq,$dimx,$dimy,$dir_tmp,$R_path,$locaplic,$sigma); break; case "densidade": - $this->mapaDensidade($nomearq,$dimx,$dimy,$dir_tmp,$R_path,$locaplic); + $this->mapaDensidade($nomearq,$dimx,$dimy,$dir_tmp,$R_path,$locaplic); break; case "distancia": - $this->mapaDistancia($nomearq,$dimx,$dimy,$dir_tmp,$R_path,$locaplic); + $this->mapaDistancia($nomearq,$dimx,$dimy,$dir_tmp,$R_path,$locaplic); break; case "relatorio": - $r = $this->mapaRelatorioAnaliseDist($nomearq,$dimx,$dimy,$dir_tmp,$R_path,$locaplic); + $r = $this->mapaRelatorioAnaliseDist($nomearq,$dimx,$dimy,$dir_tmp,$R_path,$locaplic); return($tmpurl.basename($this->diretorio)."/".basename($nomearq).'.htm'); break; } @@ -293,20 +293,29 @@ Include: // //reposiciona o layer // - $indicel = $novolayer->index; - $numlayers = $this->mapa->numlayers; - $nummove = 0; - for ($i = $numlayers-1;$i > 0;$i--) - { - $layerAbaixo = $this->mapa->getlayer($i); - $tipo = $layerAbaixo->type; - if (($tipo != 2) && ($tipo != 3)) - {$nummove++;} + $layer = $this->mapa->getlayerbyname($this->nome); + if($layer != ""){ + $temp = ms_newLayerObj($this->mapa,$novolayer); + $novolayer->set("status",MS_DELETE); + $temp = ms_newLayerObj($this->mapa,$layer); + $layer->set("status",MS_DELETE); } - if ($nummove > 2) - { - for ($i=0;$i<=($nummove - 3);++$i) - {$this->mapa->movelayerup($indicel);} + else{ + $indicel = $novolayer->index; + $numlayers = $this->mapa->numlayers; + $nummove = 0; + for ($i = $numlayers-1;$i > 0;$i--) + { + $layerAbaixo = $this->mapa->getlayer($i); + $tipo = $layerAbaixo->type; + if (($tipo != 2) && ($tipo != 3)) + {$nummove++;} + } + if ($nummove > 2) + { + for ($i=0;$i<=($nummove - 3);++$i) + {$this->mapa->movelayerup($indicel);} + } } } else diff --git a/classesphp/classe_atlas.php b/classesphp/classe_atlas.php index 389e6bf..61a01a0 100644 --- a/classesphp/classe_atlas.php +++ b/classesphp/classe_atlas.php @@ -235,6 +235,10 @@ locaplic - localização do i3geo no servidor {$ext->setextent($newext[0], $newext[1], $newext[2], $newext[3]);} $mapa->save($map_file); } + if(!function_exists("sobeAnno")){ + include_once("funcoes_gerais.php"); + } + sobeAnno($map_file); if ($w == ""){$w = 300;} if($h == ""){$h = 300;} return (array("link"=>$link,"w"=>$w,"h"=>$h,"mapexten"=>implode(" ",$newext))); diff --git a/classesphp/funcoes_gerais.php b/classesphp/funcoes_gerais.php index 5a7ae02..aedc14d 100644 --- a/classesphp/funcoes_gerais.php +++ b/classesphp/funcoes_gerais.php @@ -2858,6 +2858,27 @@ function verificaEditores($editores) } return $editor; } +/* +Function: sobeAnno + +Coloca todas as camadas do tipo ANNOTATION sobre as demais + +Parametros: + +$map_file - arquivo mapfile que será processado +*/ +function sobeAnno($map_file){ + $mapa = ms_newMapObj($map_file); + $numlayers = $mapa->numlayers; + for ($i=0;$i<$numlayers;$i++){ + $layer = $mapa->getlayer($i); + if($layer->type == 4){ + $temp = ms_newLayerObj($mapa,$layer); + $layer->set("status",MS_DELETE); + } + } + $mapa->save($map_file); +} function retornaShapesMapext($objLayer,$objMapa){ $shapes = array(); $status = $objLayer->open(); diff --git a/classesphp/mapa_inicia.php b/classesphp/mapa_inicia.php index 49207cc..33bbcaa 100644 --- a/classesphp/mapa_inicia.php +++ b/classesphp/mapa_inicia.php @@ -154,6 +154,10 @@ function iniciaMapa() //altera o tamanho do query map para ficar igual ao do mapa include_once("classe_mapa.php"); error_reporting(E_ALL); + if(!function_exists("sobeAnno")){ + include_once("funcoes_gerais.php"); + } + sobeAnno($map_file); $m = new Mapa($map_file); if(isset($w)) { -- libgit2 0.21.2