From ee698423e9f8401bdc1521be6dfbde718f140c38 Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Sun, 22 Nov 2009 04:34:27 +0000 Subject: [PATCH] Correção na conversão de pontos em linhas e polígonos. Em função de um bug do Mapserver, foi necessário converter os pontos para WKT antes da conversão para linhas ou polígonos. --- classesphp/classe_shp.php | 19 ++++++++----------- classesphp/mapa_controle.php | 2 +- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/classesphp/classe_shp.php b/classesphp/classe_shp.php index 8edc66a..b689b1f 100644 --- a/classesphp/classe_shp.php +++ b/classesphp/classe_shp.php @@ -424,6 +424,7 @@ $para - linha|poligono $this->layer->whichShapes($ret); $linha = ms_newLineObj(); $pponto = ""; + $pontos = array(); while ($shape = $this->layer->nextShape()) { $lin = $shape->line(0); @@ -432,19 +433,15 @@ $para - linha|poligono {$pponto = $pt;} if (($prjTema != "") && ($prjMapa != $prjTema)) {$pt->project($projInObj, $projOutObj);} - $linha->add($pt); + $pontos[] = $pt->x; + $pontos[] = $pt->y; } + $pontos = implode(" ",$pontos); + $pontos = xy2wkt($pontos); if ($para == "poligono") - { - $linha->add($pponto); - } - $shape = ms_newShapeObj($tipos); - $shape->add($linha); - - //for ($i=0;$i < $linha->numpoints;$i++) - //{var_dump($linha->point($i));} - - + {$shape = ms_shapeObjFromWkt($pontos["poligono"]);} + else + {$shape = ms_shapeObjFromWkt($pontos["linha"]);} foreach ($items as $ni) {$reg[] = "-";} $novoshpf->addShape($shape); diff --git a/classesphp/mapa_controle.php b/classesphp/mapa_controle.php index 40ce37f..71502ef 100644 --- a/classesphp/mapa_controle.php +++ b/classesphp/mapa_controle.php @@ -2765,7 +2765,7 @@ function redesenhaMapa() } $mensagens = "var mensagens ='".$m->pegaMensagens()."'"; restauraCon($map_file,$postgis_mapa); - + ob_clean(); if (($par == "") || ($imagem == "")) {$cp->set_data("erro");} else -- libgit2 0.21.2