Commit 89f0378266ab26c1cbae64969f14130efc733a87
1 parent
82d249d6
Exists in
master
and in
7 other branches
Incluído método para obtenção das coordenadas do íltimo ponto em um layer
Showing
1 changed file
with
38 additions
and
0 deletions
Show diff stats
classesphp/classe_shp.php
@@ -301,6 +301,44 @@ string - xy | @@ -301,6 +301,44 @@ string - xy | ||
301 | return $xy; | 301 | return $xy; |
302 | } | 302 | } |
303 | /* | 303 | /* |
304 | +function: ultimoXY | ||
305 | + | ||
306 | +Obtém as coordenadas xy do último ponto existente no layer. O último ponto é considerado entre aqueles que estão visíveis no mapa atual | ||
307 | + | ||
308 | +return: | ||
309 | +array("layerprj"=>$xylayer,"mapprj"=>$xymapa) | ||
310 | +*/ | ||
311 | + function ultimoXY() | ||
312 | + { | ||
313 | + if(!$this->layer){return "erro";} | ||
314 | + $this->layer->queryByrect($this->mapa->extent); | ||
315 | + $res_count = $this->layer->getNumresults(); | ||
316 | + $sopen = $this->layer->open(); | ||
317 | + if($sopen == MS_FAILURE){return "erro";} | ||
318 | + $xy = array(); | ||
319 | + | ||
320 | + $result = $this->layer->getResult($res_count - 1); | ||
321 | + $shp_index = $result->shapeindex; | ||
322 | + $shape = $this->layer->getshape(-1,$shp_index); | ||
323 | + $lin = $shape->line(0); | ||
324 | + $pt = $lin->point(0); | ||
325 | + $this->layer->close(); | ||
326 | + $xylayer = array("x"=>$pt->x,"y"=>$pt->y); | ||
327 | + $prjMapa = $this->mapa->getProjection(); | ||
328 | + $prjTema = $this->layer->getProjection(); | ||
329 | + if (($prjTema != "") && ($prjMapa != $prjTema)) | ||
330 | + { | ||
331 | + $projInObj = ms_newprojectionobj($prjTema); | ||
332 | + $projOutObj = ms_newprojectionobj($prjMapa); | ||
333 | + $pt->project($projInObj, $projOutObj); | ||
334 | + $xymapa = array("x"=>$pt->x,"y"=>$pt->y); | ||
335 | + } | ||
336 | + else | ||
337 | + {$xymapa = $xylayer;} | ||
338 | + return array("layerprj"=>$xylayer,"mapprj"=>$xymapa); | ||
339 | + } | ||
340 | + | ||
341 | +/* | ||
304 | function: shpPT2shp | 342 | function: shpPT2shp |
305 | 343 | ||
306 | Cria um tema linear ou poligonal com base em pontos de um tema pontual. | 344 | Cria um tema linear ou poligonal com base em pontos de um tema pontual. |