From 38528aca4df1190f59fab6630a98ea029cee645c Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Tue, 18 Mar 2008 20:17:12 +0000 Subject: [PATCH] inclusão de zoom para o tema na ferramenta de teste de mapfile --- testamapfile.php | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/testamapfile.php b/testamapfile.php index 1ab749b..8a50045 100644 --- a/testamapfile.php +++ b/testamapfile.php @@ -127,7 +127,9 @@ function verifica($map) if ($layern->data == "") $dados = $layern->connection; else - $dados = $layern->data; + $dados = $layern->data; + + zoomTema($layern,$mapa); } if (isset($postgis_mapa)) { @@ -198,4 +200,32 @@ function verifica($map) $objImagem->free(); } } +function zoomTema($layer,&$mapa) +{ + $prjMapa = $mapa->getProjection(); + $prjTema = $layer->getProjection(); + $extatual = $mapa->extent; + $ret = $layer->getmetadata("extensao"); + $ct = $layer->connectiontype; + if(($ret == "") && ($ct != 1)) + {return;} + if ($ret == "") + { + $ret = $layer->getextent(); + //reprojeta o retangulo + if (($prjTema != "") && ($prjMapa != $prjTema)) + { + $projInObj = ms_newprojectionobj($prjTema); + $projOutObj = ms_newprojectionobj($prjMapa); + $ret->project($projInObj, $projOutObj); + } + $extatual->setextent($ret->minx,$ret->miny,$ret->maxx,$ret->maxy); + } + else + { + $ret = explode(" ",$ret); + $extatual->setextent($ret[0],$ret[1],$ret[2],$ret[3]); + } +} + ?> \ No newline at end of file -- libgit2 0.21.2