From d3058e89288b84de5946e686683a12c4e0f47b24 Mon Sep 17 00:00:00 2001 From: edmarmoretti Date: Tue, 15 Aug 2017 13:59:14 -0300 Subject: [PATCH] Corrigida a opção que define se a legenda de um layer deve ou não aparecer ao imprimir o mapa --- ferramentas/imprimir/a4lpaisagempdf.php | 7 +++---- ferramentas/imprimir/aggpng.php | 30 ++++++++++++++++-------------- ferramentas/imprimir/geotif.php | 71 +++++++++++++++++++++++------------------------------------------------ ferramentas/imprimir/jpeg.php | 69 +++++++++++++++++++++++---------------------------------------------- ferramentas/imprimir/svg.php | 66 ++++++++++++++++++------------------------------------------------ ferramentas/imprimir/swf.php | 5 +++-- ferramentas/legenda/dicionario.js | 2 +- js/tema.js | 2 +- temas/_lbiomashp.map | 24 ++++++++++++------------ 9 files changed, 100 insertions(+), 176 deletions(-) diff --git a/ferramentas/imprimir/a4lpaisagempdf.php b/ferramentas/imprimir/a4lpaisagempdf.php index e18e177..fff4065 100755 --- a/ferramentas/imprimir/a4lpaisagempdf.php +++ b/ferramentas/imprimir/a4lpaisagempdf.php @@ -106,14 +106,13 @@ $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); $pathMapa = $dir_tmp."/".basename($imgo->imageurl)."/".basename($nomer); $nomeImagem = nomeRandomico(); $legenda = $map->legend; -//$legenda->set("keysizex",20); -//$legenda->set("keysizey",20); -//$label = $legenda->label; -//$label->set("size",14); //corrige o titulo da legenda $numlayers = $map->numlayers; for ($j=0;$j < $numlayers;$j++){ $l = $map->getlayer($j); + if(strtoupper($l->getmetadata("classe")) == "NAO"){ + $l->set("status",MS_OFF); + } if($l->type != 3 && $l->type != 4){ $nclass = $l->numclasses; for($i=0;$i<$nclass;$i++){ diff --git a/ferramentas/imprimir/aggpng.php b/ferramentas/imprimir/aggpng.php index aa6505a..d941366 100755 --- a/ferramentas/imprimir/aggpng.php +++ b/ferramentas/imprimir/aggpng.php @@ -128,11 +128,27 @@ if($imgo->imagepath == "") $nomer = ($imgo->imagepath)."mapa".$nomes.".png"; $imgo->saveImage($nomer); $nomemapa = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST'].($imgo->imageurl).basename($nomer); +//escala +$imgo = $map->drawscalebar(); +$nomer = ($imgo->imagepath)."escala".$nomes.".png"; +$imgo->saveImage($nomer); +$nomeescala = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST'].($imgo->imageurl).basename($nomer); +//referência +$o = $map->reference->outlinecolor; +$o->setrgb(255,0,0); +$map->preparequery(); +$imgo = $map->drawreferencemap(); +$nomer = ($imgo->imagepath)."ref".$nomes.".png"; +$imgo->saveImage($nomer); +$nomeref = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST'].($imgo->imageurl).basename($nomer); //legenda //corrige o titulo da legenda $numlayers = $map->numlayers; for ($j=0;$j < $numlayers;$j++){ $l = $map->getlayer($j); + if(strtoupper($l->getmetadata("classe")) == "NAO"){ + $l->set("status",MS_OFF); + } if($l->type != 3 && $l->type != 4){ $nclass = $l->numclasses; for($i=0;$i<$nclass;$i++){ @@ -147,20 +163,6 @@ $imgo = $map->drawlegend(); $nomer = ($imgo->imagepath)."legenda".$nomes.".png"; $imgo->saveImage($nomer); $nomelegenda = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST'].($imgo->imageurl).basename($nomer); -//escala -$imgo = $map->drawscalebar(); -$nomer = ($imgo->imagepath)."escala".$nomes.".png"; -$imgo->saveImage($nomer); -$nomeescala = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST'].($imgo->imageurl).basename($nomer); -//referência -$o = $map->reference->outlinecolor; -$o->setrgb(255,0,0); -$map->preparequery(); -$imgo = $map->drawreferencemap(); -$nomer = ($imgo->imagepath)."ref".$nomes.".png"; -$imgo->saveImage($nomer); -$nomeref = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST'].($imgo->imageurl).basename($nomer); - echo "

Utilize a opção de alteração das propriedades do mapa para ajustar a legenda, tamanho e outras características antes de gerar os arquivos.

"; echo "

Arquivos gerados:

"; diff --git a/ferramentas/imprimir/geotif.php b/ferramentas/imprimir/geotif.php index 3af70c3..ba8ac6b 100755 --- a/ferramentas/imprimir/geotif.php +++ b/ferramentas/imprimir/geotif.php @@ -65,68 +65,31 @@ require(dirname(__FILE__)."/../../classesphp/funcoes_gerais.php"); //error_reporting(0); $nomes = nomeRandomico(); $map = ms_newMapObj($map_file); -$temp = str_replace(".map","",$map_file)."xxx.map"; -$map->save($temp); -substituiCon($temp,$postgis_mapa); +substituiConObj($map,$postgis_mapa); $of = $map->outputformat; $of->set("driver","GDAL/GTiff"); $of->set("imagemode","RGB"); $map = ms_newMapObj($temp); -if($map->getmetadata("interface") == "googlemaps") -{ +if($map->getmetadata("interface") == "googlemaps"){ $proj4 = pegaProjecaoDefault("proj4"); $map->setProjection($proj4); $map->set("units",MS_METERS); $map->preparequery(); $map->set("scaledenom",$map->scaledenom * 100000); } -//$legenda =$map->legend; -//$legenda->set("status",MS_EMBED); -//altera o nome das classes vazias -$temas = $map->getalllayernames(); -foreach ($temas as $tema) -{ - $layer = $map->getlayerbyname($tema); - if (($layer->data != "") && (strtolower($layer->getmetadata("escondido")) != "sim") && (strtolower($layer->getmetadata("tema")) != "nao")) - { - if ($layer->numclasses > 0) - { - $classe = $layer->getclass(0); - if (($classe->name == "") || ($classe->name == " ")) - {$classe->set("name",$layer->getmetadata("tema"));} - } - } - if ($layer->getmetadata("classe") == "NAO") - { - $nclasses = $layer->numclasses; - if ($nclasses > 0) - { - for($i=0;$i<$nclasses;$i++) - { - $classe = $layer->getclass($i); - $classe->set("name","classeNula"); - } - } - } -} -$map->save($temp); -removeLinha("classeNula",$temp); -$map = ms_newMapObj($temp); -substituiCon($temp,$postgis_mapa); $o = $map->outputformat; if($mapexten != ""){ $ext = explode(" ",$mapexten); $extatual = $map->extent; $extatual->setextent($ext[0],$ext[1],$ext[2],$ext[3]); } -//$legenda = $map->legend; -//$legenda->set("status",MS_EMBED); $o->set("imagemode",MS_IMAGEMODE_RGB); $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); //mapa $imgo = $map->draw(); -if($imgo->imagepath == "") -{echo "Erro IMAGEPATH vazio";exit;} +if($imgo->imagepath == ""){ + echo "Erro IMAGEPATH vazio";exit; +} $nomer = ($imgo->imagepath)."mapa".$nomes.".tif"; $imgo->saveImage($nomer); $nomemapa = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST'].($imgo->imageurl).basename($nomer); @@ -135,12 +98,24 @@ $nomemapa = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST'].($imgo->imageu $numlayers = $map->numlayers; for ($j=0;$j < $numlayers;$j++){ $l = $map->getlayer($j); - if($l->type != 3 && $l->type != 4){ - $nclass = $l->numclasses; - for($i=0;$i<$nclass;$i++){ - $classe = $l->getclass($i); - if($classe->title === ""){ - $classe->title = $classe->name; + if ($l->getmetadata("classe") == "NAO"){ + $l->set("status",MS_OFF); + } else { + if (($l->data != "") && (strtolower($l->getmetadata("escondido")) != "sim") && (strtolower($l->getmetadata("tema")) != "nao")){ + if ($l->numclasses > 0){ + $classe = $l->getclass(0); + if (($classe->name == "") || ($classe->name == " ")){ + $classe->set("name",$layer->getmetadata("tema")); + } + } + } + if($l->type != 3 && $l->type != 4){ + $nclass = $l->numclasses; + for($i=0;$i<$nclass;$i++){ + $classe = $l->getclass($i); + if($classe->title === ""){ + $classe->title = $classe->name; + } } } } diff --git a/ferramentas/imprimir/jpeg.php b/ferramentas/imprimir/jpeg.php index e48aac0..c8eded1 100755 --- a/ferramentas/imprimir/jpeg.php +++ b/ferramentas/imprimir/jpeg.php @@ -64,10 +64,7 @@ require(dirname(__FILE__)."/../../classesphp/funcoes_gerais.php"); //error_reporting(0); $nomes = nomeRandomico(); $map = ms_newMapObj($map_file); -$temp = str_replace(".map","xxx.map",$map_file); -$map->save($temp); -substituiCon($temp,$postgis_mapa); -$map = ms_newMapObj($temp); +substituiConObj($map,$postgis_mapa); $of = $map->outputformat; $of->set("driver","AGG/JPEG"); $of->set("imagemode","RGB"); @@ -81,39 +78,6 @@ if($map->getmetadata("interface") == "googlemaps") $map->preparequery(); $map->set("scaledenom",$map->scaledenom * 100000); } -//$legenda =$map->legend; -//$legenda->set("status",MS_EMBED); -//altera o nome das classes vazias -$temas = $map->getalllayernames(); -foreach ($temas as $tema) -{ - $layer = $map->getlayerbyname($tema); - if (($layer->data != "") && (strtolower($layer->getmetadata("escondido")) != "sim") && (strtolower($layer->getmetadata("tema")) != "nao")) - { - if ($layer->numclasses > 0) - { - $classe = $layer->getclass(0); - if (($classe->name == "") || ($classe->name == " ")) - {$classe->set("name",$layer->getmetadata("tema"));} - } - } - if ($layer->getmetadata("classe") == "NAO") - { - $nclasses = $layer->numclasses; - if ($nclasses > 0) - { - for($i=0;$i<$nclasses;$i++) - { - $classe = $layer->getclass($i); - $classe->set("name","classeNula"); - } - } - } -} -$map->save($temp); -removeLinha("classeNula",$temp); -$map = ms_newMapObj($temp); -substituiCon($temp,$postgis_mapa); $o = $map->outputformat; if($mapexten != ""){ @@ -125,8 +89,10 @@ $o->set("imagemode",MS_IMAGEMODE_RGB); $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); //mapa $imgo = $map->draw(); -if($imgo->imagepath == "") -{echo "Erro IMAGEPATH vazio";exit;} +if($imgo->imagepath == ""){ + echo "Erro IMAGEPATH vazio"; + exit; +} $nomer = ($imgo->imagepath)."mapa".$nomes.".jpg"; $imgo->saveImage($nomer); $nomemapa = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST'].($imgo->imageurl).basename($nomer); @@ -135,12 +101,24 @@ $nomemapa = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST'].($imgo->imageu $numlayers = $map->numlayers; for ($j=0;$j < $numlayers;$j++){ $l = $map->getlayer($j); - if($l->type != 3 && $l->type != 4){ - $nclass = $l->numclasses; - for($i=0;$i<$nclass;$i++){ - $classe = $l->getclass($i); - if($classe->title === ""){ - $classe->title = $classe->name; + if ($l->getmetadata("classe") == "NAO"){ + $l->set("status",MS_OFF); + } else { + if (($l->data != "") && (strtolower($l->getmetadata("escondido")) != "sim") && (strtolower($l->getmetadata("tema")) != "nao")){ + if ($l->numclasses > 0){ + $classe = $l->getclass(0); + if (($classe->name == "") || ($classe->name == " ")){ + $classe->set("name",$layer->getmetadata("tema")); + } + } + } + if($l->type != 3 && $l->type != 4){ + $nclass = $l->numclasses; + for($i=0;$i<$nclass;$i++){ + $classe = $l->getclass($i); + if($classe->title === ""){ + $classe->title = $classe->name; + } } } } @@ -163,7 +141,6 @@ $nomer = ($imgo->imagepath)."ref".$nomes.".jpg"; $imgo->saveImage($nomer); $nomeref = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST'].($imgo->imageurl).basename($nomer); - echo "

Utilize a opção de alteração das propriedades do mapa para ajustar a legenda, tamanho e outras características antes de gerar os arquivos.

"; echo "

Arquivos gerados:

"; echo "Mapa

"; diff --git a/ferramentas/imprimir/svg.php b/ferramentas/imprimir/svg.php index 83e3906..288b949 100755 --- a/ferramentas/imprimir/svg.php +++ b/ferramentas/imprimir/svg.php @@ -65,10 +65,7 @@ require(dirname(__FILE__)."/../../classesphp/funcoes_gerais.php"); $nomes = nomeRandomico(); $map = ms_newMapObj($map_file); -$temp = str_replace(".map","xxx.map",$map_file); -$map->save($temp); -substituiCon($temp,$postgis_mapa); -$map = ms_newMapObj($temp); +substituiConObj($map,$postgis_mapa); if($map->getmetadata("interface") == "googlemaps") { $proj4 = pegaProjecaoDefault("proj4"); @@ -85,57 +82,30 @@ if($leb->type == "MS_BITMAP"){ $leb->set("type",MS_TRUETYPE); $leb->set("font","Arial"); } -//altera o nome das classes vazias +//legenda +//corrige o titulo da legenda $numlayers = $map->numlayers; -for ($i=0;$i < $numlayers;$i++) -{ - $layer = $map->getlayer($i); - if (($layer->data != "") && (strtolower($layer->getmetadata("escondido")) != "sim") && (strtolower($layer->getmetadata("tema")) != "sim")) - { - if ($layer->numclasses > 0) - { - $classe = $layer->getclass(0); - if (($classe->name == "") || ($classe->name == " ")) - {$classe->set("name",$layer->getmetadata("tema"));} - } - } - if ($layer->getmetadata("classe") == "NAO") - { - $nclasses = $layer->numclasses; - if ($nclasses > 0) - { - for($j=0;$j<$nclasses;$j++) - { - $classe = $layer->getclass($j); - $classe->set("name","classeNula"); +for ($j=0;$j < $numlayers;$j++){ + $l = $map->getlayer($j); + if (($l->data != "") && (strtolower($l->getmetadata("escondido")) != "sim") && (strtolower($l->getmetadata("tema")) != "nao")){ + if ($l->numclasses > 0){ + $classe = $l->getclass(0); + if (($classe->name == "") || ($classe->name == " ")){ + $classe->set("name",$layer->getmetadata("tema")); + } } } - } - - $nclasses = $layer->numclasses; - if ($nclasses > 0){ - for($j=0;$j<$nclasses;$j++){ - $classe = $layer->getclass($j); - $leb = false; - if($v["inteiro"] >= 60200){ - if($classe->numlabels > 0){ - $leb = $classe->getLabel(0); + if($l->type != 3 && $l->type != 4){ + $nclass = $l->numclasses; + for($i=0;$i<$nclass;$i++){ + $classe = $l->getclass($i); + if($classe->title === ""){ + $classe->title = $classe->name; } } - else{ - $leb = $classe->label; - } - if($leb != false && $leb->type == MS_BITMAP){ - $leb->set("type",MS_TRUETYPE); - $leb->set("font","Arial"); - } } - } } -$map->save($temp); -removeLinha("classeNula",$temp); -$map = ms_newMapObj($temp); -substituiCon($temp,$postgis_mapa); + $o = $map->outputformat; if($mapexten != ""){ $ext = explode(" ",$mapexten); diff --git a/ferramentas/imprimir/swf.php b/ferramentas/imprimir/swf.php index 2c3b95a..3a3516e 100755 --- a/ferramentas/imprimir/swf.php +++ b/ferramentas/imprimir/swf.php @@ -35,6 +35,7 @@ require(dirname(__FILE__)."/../../classesphp/funcoes_gerais.php"); //error_reporting(0); $nomes = nomeRandomico(); $map = ms_newMapObj($map_file); +substituiConObj($map,$postgis_mapa); $legenda =$map->legend; $legenda->set("status",MS_EMBED); //altera o nome das classes vazias @@ -64,9 +65,9 @@ foreach ($temas as $tema) } } } -$map->save($temp); + removeLinha("classeNula",$temp); -$map = ms_newMapObj($temp); + $of = $map->outputformat; $of->set("driver","swf"); $of->set("imagemode","PC256"); diff --git a/ferramentas/legenda/dicionario.js b/ferramentas/legenda/dicionario.js index 14c0ef8..d425d36 100755 --- a/ferramentas/legenda/dicionario.js +++ b/ferramentas/legenda/dicionario.js @@ -52,7 +52,7 @@ i3GEOF.legenda.dicionario = ], 'mostraClassesLegenda' : [ { - pt : "Mostra as classes desse tema na legenda do mapa", + pt : "Ao imprimir, mostra as classes desse tema na legenda do mapa ", en : "", es : "" } diff --git a/js/tema.js b/js/tema.js index 9b8c14d..68299d5 100755 --- a/js/tema.js +++ b/js/tema.js @@ -257,7 +257,7 @@ i3GEO.tema = * {string} - codigo do tema */ invertestatuslegenda : function(idtema) { - i3GEO.janela.tempoMsg($trad("x17")); + //i3GEO.janela.tempoMsg($trad("x17")); i3GEO.mapa.ativaTema(idtema); i3GEO.php.invertestatuslegenda(function(retorno) { i3GEO.atualiza(retorno); diff --git a/temas/_lbiomashp.map b/temas/_lbiomashp.map index f24d4db..8f7cb93 100755 --- a/temas/_lbiomashp.map +++ b/temas/_lbiomashp.map @@ -5,37 +5,37 @@ MAP CONNECTION "" DATA "/var/www/i3geo/aplicmap/dados/biomas.shp" METADATA - "TIP" "CD_LEGENDA" "cache" "sim" - "CLASSE" "sim" + "TIP" "CD_LEGENDA" "olopacity" "" + "CLASSE" "SIM" "permitekmz" "SIM" "gmopacity" "" "gmstatus" "" "ITENSDESC" "Teste de acentuação" - "TILES" "SIM" - "ESCALA" "250000" "editavel" "" + "ESCALA" "250000" + "TILES" "SIM" "arquivotemaoriginal" "" "extensao" "-73.990940816816 -33.74827031115 -34.822855820777 5.272224303909" - "nomeoriginal" "" "olstatus" "" + "nomeoriginal" "" "permitedownload" "SIM" - "FILTROORIGINAL" "" "permitecomentario" "NAO" - "DATAORIGINAL" "" + "FILTROORIGINAL" "" "escondido" "NAO" - "download" "SIM" + "DATAORIGINAL" "" "esquematabelaeditavel" "" + "download" "SIM" "itembuscarapida" "CD_LEGENDA" "ITENS" "CD_LEGENDA" - "permitekml" "SIM" - "permiteogc" "SIM" "transitioneffect" "NAO" - "convcaracter" "SIM" + "permiteogc" "SIM" + "permitekml" "SIM" "TEMA" "Biomas shapefile (acentuação)" - "colunaidunico" "" + "convcaracter" "SIM" "colunageometria" "" + "colunaidunico" "" "identifica" "sim" "tabelaeditavel" "" "legendaimg" "https://mancilha.files.wordpress.com/2008/09/teste2.png" -- libgit2 0.21.2