From 4e6b5831a7253cf78294146592ba0c3c0ef06ced Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Mon, 17 Dec 2007 19:02:59 +0000 Subject: [PATCH] Adicionada opção de definição da projeção das coordenadas digitadas na ferramenta de inserir pontos --- classesphp/classe_shp.php | 10 +++++++++- classesphp/mapa_controle.php | 3 ++- ferramentas/inserexy2/index.htm | 39 +++++++++++++++++++++++++++++++-------- ferramentas/inserexy2/index.js | 111 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------- 4 files changed, 118 insertions(+), 45 deletions(-) diff --git a/classesphp/classe_shp.php b/classesphp/classe_shp.php index c963435..0bb1b7d 100644 --- a/classesphp/classe_shp.php +++ b/classesphp/classe_shp.php @@ -133,8 +133,10 @@ Insere um ponto em um shape file no diretório local parameters: $xy - X e y do novo ponto, separados por espaços. Pode ser mais de um ponto. + +$projecao - código epsg da projeção das coordenadas */ - function insereSHP($xy) + function insereSHP($xy,$projecao) { require_once "../pacotes/phpxbase/api_conversion.php"; $xy = explode(" ",$xy); @@ -158,6 +160,12 @@ $xy - X e y do novo ponto, separados por espaços. Pode ser mais de um ponto. { $poPoint = ms_newpointobj(); $poPoint->setXY($xy[$i],$xy[$i+1]); + if($projecao != "") + { + $projOutObj = ms_newprojectionobj("proj=latlong"); + $projInObj = ms_newprojectionobj("init=epsg:".$projecao); + $poPoint->project($projInObj, $projOutObj); + } $shapefileObj->addpoint($poPoint); } $shapefileObj->free(); diff --git a/classesphp/mapa_controle.php b/classesphp/mapa_controle.php index d78ab90..c803e01 100644 --- a/classesphp/mapa_controle.php +++ b/classesphp/mapa_controle.php @@ -1210,7 +1210,8 @@ Include: case "insereSHP": include("classe_shp.php"); $m = new SHP($map_file,$tema); - $m->insereSHP($xy); + if (!isset($projecao)){$projecao = "";} + $m->insereSHP($xy,$projecao); redesenhaMapa(); break; /* diff --git a/ferramentas/inserexy2/index.htm b/ferramentas/inserexy2/index.htm index 3016b1b..9329007 100644 --- a/ferramentas/inserexy2/index.htm +++ b/ferramentas/inserexy2/index.htm @@ -14,6 +14,11 @@
Coordenadas
+
Escolha o tema para inserir os pontos: @@ -27,28 +32,46 @@