Commit 27a438df07ac690dadcd622ca4ce6e35c4c94ad5

Authored by Edmar Moretti
1 parent 824c374e

Corrige as operações de seleção e obtenção de atributos quando é utilizada a int…

…erface googlemaps e temas em projeções que não geográfica
classesphp/classe_atributos.php
@@ -69,10 +69,18 @@ class Atributos @@ -69,10 +69,18 @@ class Atributos
69 Nome do arquivo de seleção (.qy) 69 Nome do arquivo de seleção (.qy)
70 */ 70 */
71 public $qyfile; 71 public $qyfile;
  72 + /*
  73 + Variavel: $projO
  74 +
  75 + Objeto projection original do mapa. Obtido apenas na interface Googlemaps
  76 + */
  77 + public $projO;
72 /* 78 /*
73 Function: __construct 79 Function: __construct
74 80
75 -Cria um objeto Atributos 81 +Cria um objeto Atributos.
  82 +
  83 +O tipo de interface usada pelo mapa é obtido do metadata "interface". Se for a interface Googlemaps, é feita a alteração temporária da projeção do mapa.
76 84
77 parameters: 85 parameters:
78 86
@@ -100,8 +108,6 @@ $ext - (opcional) extensão geográfica que será aplicada ao mapa @@ -100,8 +108,6 @@ $ext - (opcional) extensão geográfica que será aplicada ao mapa
100 if($tema != "" && @$this->mapa->getlayerbyname($tema)) 108 if($tema != "" && @$this->mapa->getlayerbyname($tema))
101 { 109 {
102 $this->layer = $this->mapa->getlayerbyname($tema); 110 $this->layer = $this->mapa->getlayerbyname($tema);
103 - //if($this->layer->getProjection() == "" )  
104 - //{$this->layer->setProjection("init=epsg:4291");}  
105 $this->nome = $tema; 111 $this->nome = $tema;
106 } 112 }
107 if($ext && $ext != ""){ 113 if($ext && $ext != ""){
@@ -109,6 +115,10 @@ $ext - (opcional) extensão geográfica que será aplicada ao mapa @@ -109,6 +115,10 @@ $ext - (opcional) extensão geográfica que será aplicada ao mapa
109 $extatual = $this->mapa->extent; 115 $extatual = $this->mapa->extent;
110 $extatual->setextent((min($e[0],$e[2])),(min($e[1],$e[3])),(max($e[0],$e[2])),(max($e[1],$e[3]))); 116 $extatual->setextent((min($e[0],$e[2])),(min($e[1],$e[3])),(max($e[0],$e[2])),(max($e[1],$e[3])));
111 } 117 }
  118 + if($this->mapa->getmetadata("interface") == "googlemaps"){
  119 + $this->projO = $this->mapa->getProjection();
  120 + $this->mapa->setProjection("init=epsg:4291");
  121 + }
112 } 122 }
113 } 123 }
114 /* 124 /*
@@ -120,7 +130,9 @@ Salva o mapfile atual @@ -120,7 +130,9 @@ Salva o mapfile atual
120 function salva() 130 function salva()
121 { 131 {
122 if (connection_aborted()){exit();} 132 if (connection_aborted()){exit();}
123 - $this->mapa->save($this->arquivo); 133 + if($this->mapa->getmetadata("interface") == "googlemaps")
  134 + {$this->mapa->setProjection($this->projO);}
  135 + $this->mapa->save($this->arquivo);
124 } 136 }
125 137
126 /* 138 /*
@@ -764,14 +776,14 @@ $listaDeTemas - (opcional) Lista com os códigos dos temas que serão identificado @@ -764,14 +776,14 @@ $listaDeTemas - (opcional) Lista com os códigos dos temas que serão identificado
764 } 776 }
765 foreach ($listatemas as $tema) 777 foreach ($listatemas as $tema)
766 { 778 {
767 - $resultados[$tema] = $this->identificaQBP2($tema,$xyarray[0],$xyarray[1],$this->arquivo,$resolucao,"","",false,$ext); 779 + $resultados[$tema] = $this->identificaQBP2($tema,$xyarray[0],$xyarray[1],"",$resolucao,"","",false,$ext);
768 } 780 }
769 } 781 }
770 //pesquisa todos os temas acrescentados no mapa 782 //pesquisa todos os temas acrescentados no mapa
771 if ($opcao == "todos") 783 if ($opcao == "todos")
772 { 784 {
773 foreach ($listatemas as $tema) 785 foreach ($listatemas as $tema)
774 - {$resultados[$tema] = $this->identificaQBP2($tema,$xyarray[0],$xyarray[1],$this->arquivo,$resolucao,"","",false,$ext);} 786 + {$resultados[$tema] = $this->identificaQBP2($tema,$xyarray[0],$xyarray[1],"",$resolucao,"","",false,$ext);}
775 } 787 }
776 //pesquisa apenas os temas visiveis 788 //pesquisa apenas os temas visiveis
777 if ($opcao == "ligados" || $opcao == "lista") 789 if ($opcao == "ligados" || $opcao == "lista")
@@ -790,7 +802,7 @@ $listaDeTemas - (opcional) Lista com os códigos dos temas que serão identificado @@ -790,7 +802,7 @@ $listaDeTemas - (opcional) Lista com os códigos dos temas que serão identificado
790 foreach ($listatemas as $tema) 802 foreach ($listatemas as $tema)
791 { 803 {
792 $l = $this->mapa->getlayerbyname($tema); 804 $l = $this->mapa->getlayerbyname($tema);
793 - $resultados[$tema] = $this->identificaQBP2($tema,$xyarray[0],$xyarray[1],$this->arquivo,$resolucao,"","",false,$ext); 805 + $resultados[$tema] = $this->identificaQBP2($tema,$xyarray[0],$xyarray[1],"",$resolucao,"","",false,$ext);
794 } 806 }
795 //var_dump($resultados); 807 //var_dump($resultados);
796 } 808 }
@@ -806,7 +818,7 @@ $listaDeTemas - (opcional) Lista com os códigos dos temas que serão identificado @@ -806,7 +818,7 @@ $listaDeTemas - (opcional) Lista com os códigos dos temas que serão identificado
806 { 818 {
807 if ($tl->status == MS_DEFAULT || $listaDeTemas != "") 819 if ($tl->status == MS_DEFAULT || $listaDeTemas != "")
808 { 820 {
809 - $resultados[$tema] = array("tips"=>$itemtip,"dados"=>$this->identificaQBP2($tema,$xyarray[0],$xyarray[1],$this->arquivo,$resolucao,$itemtip,"",true,$ext)); 821 + $resultados[$tema] = array("tips"=>$itemtip,"dados"=>$this->identificaQBP2($tema,$xyarray[0],$xyarray[1],"",$resolucao,$itemtip,"",true,$ext));
810 $ltemp[] = $tema; 822 $ltemp[] = $tema;
811 } 823 }
812 } 824 }
@@ -1144,6 +1156,7 @@ $listaDeTemas - (opcional) Lista com os códigos dos temas que serão identificado @@ -1144,6 +1156,7 @@ $listaDeTemas - (opcional) Lista com os códigos dos temas que serão identificado
1144 $layer->set("template","none.htm"); 1156 $layer->set("template","none.htm");
1145 $pt = ms_newPointObj(); 1157 $pt = ms_newPointObj();
1146 $pt->setXY($x, $y); 1158 $pt->setXY($x, $y);
  1159 +
1147 // 1160 //
1148 //operação especial para o caso de wms 1161 //operação especial para o caso de wms
1149 // 1162 //
classesphp/classe_selecao.php
@@ -11,7 +11,7 @@ Licenca: @@ -11,7 +11,7 @@ Licenca:
11 GPL2 11 GPL2
12 12
13 13
14 -I3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet 14 +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
15 15
16 Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil 16 Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil
17 Desenvolvedor: Edmar Moretti edmar.moretti@mma.gov.br 17 Desenvolvedor: Edmar Moretti edmar.moretti@mma.gov.br
@@ -68,11 +68,19 @@ class Selecao @@ -68,11 +68,19 @@ class Selecao
68 Nome do arquivo de seleção (.qy) 68 Nome do arquivo de seleção (.qy)
69 */ 69 */
70 public $qyfile; 70 public $qyfile;
  71 + /*
  72 + Variavel: $projO
  73 +
  74 + Objeto projection original do mapa. Obtido apenas na interface Googlemaps
  75 + */
  76 + public $projO;
71 /* 77 /*
72 Function: __construct 78 Function: __construct
73 79
74 Cria um objeto Selecao 80 Cria um objeto Selecao
75 81
  82 +O tipo de interface usada pelo mapa é obtido do metadata "interface". Se for a interface Googlemaps, é feita a alteração temporária da projeção do mapa.
  83 +
76 parameters: 84 parameters:
77 85
78 $map_file - Endereço do mapfile no servidor. 86 $map_file - Endereço do mapfile no servidor.
@@ -105,6 +113,10 @@ $ext - extensão geográfica do mapa @@ -105,6 +113,10 @@ $ext - extensão geográfica do mapa
105 $extatual = $this->mapa->extent; 113 $extatual = $this->mapa->extent;
106 $extatual->setextent((min($e[0],$e[2])),(min($e[1],$e[3])),(max($e[0],$e[2])),(max($e[1],$e[3]))); 114 $extatual->setextent((min($e[0],$e[2])),(min($e[1],$e[3])),(max($e[0],$e[2])),(max($e[1],$e[3])));
107 } 115 }
  116 + if($this->mapa->getmetadata("interface") == "googlemaps"){
  117 + $this->projO = $this->mapa->getProjection();
  118 + $this->mapa->setProjection("init=epsg:4291");
  119 + }
108 } 120 }
109 /* 121 /*
110 function: salva 122 function: salva
@@ -114,6 +126,8 @@ Salva o mapfile atual @@ -114,6 +126,8 @@ Salva o mapfile atual
114 function salva() 126 function salva()
115 { 127 {
116 if (connection_aborted()){exit();} 128 if (connection_aborted()){exit();}
  129 + if($this->mapa->getmetadata("interface") == "googlemaps")
  130 + {$this->mapa->setProjection($this->projO);}
117 $this->mapa->save($this->arquivo); 131 $this->mapa->save($this->arquivo);
118 } 132 }
119 /* 133 /*
classesphp/classe_temas.php
@@ -378,6 +378,10 @@ Calcula a extensão geográfica de um tema e ajusta o mapa para essa extensão. @@ -378,6 +378,10 @@ Calcula a extensão geográfica de um tema e ajusta o mapa para essa extensão.
378 function zoomTema() 378 function zoomTema()
379 { 379 {
380 if(!$this->layer){return "erro";} 380 if(!$this->layer){return "erro";}
  381 + if($this->mapa->getmetadata("interface") == "googlemaps"){
  382 + $projO = $this->mapa->getProjection();
  383 + $this->mapa->setProjection("init=epsg:4291");
  384 + }
381 $prjMapa = ""; 385 $prjMapa = "";
382 $prjTema = ""; 386 $prjTema = "";
383 if($this->layer->type != MS_LAYER_RASTER) 387 if($this->layer->type != MS_LAYER_RASTER)
@@ -411,6 +415,8 @@ Calcula a extensão geográfica de um tema e ajusta o mapa para essa extensão. @@ -411,6 +415,8 @@ Calcula a extensão geográfica de um tema e ajusta o mapa para essa extensão.
411 $extatual->setextent($ret[0],$ret[1],$ret[2],$ret[3]); 415 $extatual->setextent($ret[0],$ret[1],$ret[2],$ret[3]);
412 //echo "oi";exit; 416 //echo "oi";exit;
413 } 417 }
  418 + if($this->mapa->getmetadata("interface") == "googlemaps")
  419 + {$this->mapa->setProjection($projO);}
414 return("ok"); 420 return("ok");
415 } 421 }
416 /* 422 /*
@@ -987,9 +993,13 @@ Calcula a extensão geográfica dos elementos selecionados de um tema e ajusta o m @@ -987,9 +993,13 @@ Calcula a extensão geográfica dos elementos selecionados de um tema e ajusta o m
987 function zoomSel() 993 function zoomSel()
988 { 994 {
989 if(!$this->layer){return "erro";} 995 if(!$this->layer){return "erro";}
  996 + if($this->mapa->getmetadata("interface") == "googlemaps"){
  997 + $projO = $this->mapa->getProjection();
  998 + $this->mapa->setProjection("init=epsg:4291");
  999 + }
990 $extatual = $this->mapa->extent; 1000 $extatual = $this->mapa->extent;
991 - $prjMapa = "";  
992 - $prjTema = ""; 1001 + $prjMapa = $this->mapa->getProjection();
  1002 + $prjTema = $this->layer->getProjection();
993 carregaquery($this->arquivo,&$this->layer,&$this->mapa); 1003 carregaquery($this->arquivo,&$this->layer,&$this->mapa);
994 $sopen = $this->layer->open(); 1004 $sopen = $this->layer->open();
995 if($sopen == MS_FAILURE){return "erro";} 1005 if($sopen == MS_FAILURE){return "erro";}
@@ -1026,6 +1036,8 @@ Calcula a extensão geográfica dos elementos selecionados de um tema e ajusta o m @@ -1026,6 +1036,8 @@ Calcula a extensão geográfica dos elementos selecionados de um tema e ajusta o m
1026 } 1036 }
1027 $extatual->setextent($ret->minx,$ret->miny,$ret->maxx,$ret->maxy); 1037 $extatual->setextent($ret->minx,$ret->miny,$ret->maxx,$ret->maxy);
1028 } 1038 }
  1039 + if($this->mapa->getmetadata("interface") == "googlemaps")
  1040 + {$this->mapa->setProjection($projO);}
1029 return("ok"); 1041 return("ok");
1030 } 1042 }
1031 /* 1043 /*
classesphp/funcoes_gerais.php
@@ -1348,7 +1348,6 @@ function pegaItens($layer,$mapa="") @@ -1348,7 +1348,6 @@ function pegaItens($layer,$mapa="")
1348 // 1348 //
1349 //no caso de WMS ou WFS 1349 //no caso de WMS ou WFS
1350 // 1350 //
1351 -  
1352 if($layer->connectiontype == 7){ 1351 if($layer->connectiontype == 7){
1353 $url = $layer->connection; 1352 $url = $layer->connection;
1354 $temp = explode("?",$url); 1353 $temp = explode("?",$url);
classesphp/mapa_controle.php
@@ -140,8 +140,10 @@ if ($funcao != "criaMapa") @@ -140,8 +140,10 @@ if ($funcao != "criaMapa")
140 //isso é necessário pois a variável "interface" pode ser utilizada como parâmetro em algumas funções ajax 140 //isso é necessário pois a variável "interface" pode ser utilizada como parâmetro em algumas funções ajax
141 //nesses casos, é necessário recuperar o valor correto e não da sessão 141 //nesses casos, é necessário recuperar o valor correto e não da sessão
142 // 142 //
143 -$_SESSION["interface"] = $interfaceTemp;  
144 -$interface = $interfaceTemp; 143 +if(isset($interfaceTemp) && $interfaceTemp != ""){
  144 + $_SESSION["interface"] = $interfaceTemp;
  145 + $interface = $interfaceTemp;
  146 +}
145 // 147 //
146 //verifica se deve ativar o debug 148 //verifica se deve ativar o debug
147 // 149 //
@@ -503,16 +505,7 @@ Salva o mapa acrescentando um novo layer com os pontos. @@ -503,16 +505,7 @@ Salva o mapa acrescentando um novo layer com os pontos.
503 include_once("classe_analise.php"); 505 include_once("classe_analise.php");
504 copiaSeguranca($map_file); 506 copiaSeguranca($map_file);
505 $m = new Analise($map_file,$tema,$locaplic,$ext); 507 $m = new Analise($map_file,$tema,$locaplic,$ext);
506 - /*  
507 - if($interface == "googlemaps")  
508 - {  
509 - $projMapa = $m->mapa->getProjection();  
510 - $m->mapa->setProjection("init=epsg:4291");  
511 - }  
512 - */  
513 $retorno = $m->criaCentroide($locaplic); 508 $retorno = $m->criaCentroide($locaplic);
514 - //if($interface == "googlemaps")  
515 - //{$m->mapa->setProjection($projMapa);}  
516 $m->salva(); 509 $m->salva();
517 $_SESSION["contadorsalva"]++; 510 $_SESSION["contadorsalva"]++;
518 break; 511 break;
@@ -1447,14 +1440,7 @@ Gera graficos automaticamente para os elementos de um tema @@ -1447,14 +1440,7 @@ Gera graficos automaticamente para os elementos de um tema
1447 include_once("classe_temas.php"); 1440 include_once("classe_temas.php");
1448 copiaSeguranca($map_file); 1441 copiaSeguranca($map_file);
1449 $m = new Temas($map_file,$tema,$locaplic); 1442 $m = new Temas($map_file,$tema,$locaplic);
1450 - if($interface == "googlemaps")  
1451 - {  
1452 - $projMapa = $m->mapa->getProjection();  
1453 - $m->mapa->setProjection("init=epsg:4291");  
1454 - }  
1455 $m->graficotema($lista,$tamanho,$tipo,$outlinecolor,$offset); 1443 $m->graficotema($lista,$tamanho,$tipo,$outlinecolor,$offset);
1456 - if($interface == "googlemaps")  
1457 - {$m->mapa->setProjection($projMapa);}  
1458 $m->salva(); 1444 $m->salva();
1459 $_SESSION["contadorsalva"]++; 1445 $_SESSION["contadorsalva"]++;
1460 redesenhaMapa(); 1446 redesenhaMapa();
@@ -1475,11 +1461,6 @@ Altera uma classe de um tema, aplicando uma nova classificação ou modificando pa @@ -1475,11 +1461,6 @@ Altera uma classe de um tema, aplicando uma nova classificação ou modificando pa
1475 include_once("classe_alteraclasse.php"); 1461 include_once("classe_alteraclasse.php");
1476 copiaSeguranca($map_file); 1462 copiaSeguranca($map_file);
1477 $m = new Alteraclasse($map_file,$tema,"",$ext); 1463 $m = new Alteraclasse($map_file,$tema,"",$ext);
1478 - if($interface == "googlemaps")  
1479 - {  
1480 - $projMapa = $m->mapa->getProjection();  
1481 - $m->mapa->setProjection("init=epsg:4291");  
1482 - }  
1483 if ($opcao == "aplicacoresrgb") 1464 if ($opcao == "aplicacoresrgb")
1484 { 1465 {
1485 $cores = str_replace("rgb","",$cores); 1466 $cores = str_replace("rgb","",$cores);
@@ -1515,8 +1496,6 @@ Altera uma classe de um tema, aplicando uma nova classificação ou modificando pa @@ -1515,8 +1496,6 @@ Altera uma classe de um tema, aplicando uma nova classificação ou modificando pa
1515 } 1496 }
1516 if ($opcao == "simbolounico") 1497 if ($opcao == "simbolounico")
1517 {$retorno = $m->simbolounico();} 1498 {$retorno = $m->simbolounico();}
1518 - if($interface == "googlemaps")  
1519 - {$m->mapa->setProjection($projMapa);}  
1520 $salvo = $m->salva(); 1499 $salvo = $m->salva();
1521 $_SESSION["contadorsalva"]++; 1500 $_SESSION["contadorsalva"]++;
1522 break; 1501 break;
@@ -1705,18 +1684,7 @@ Os valores para o gráfico são obtidos do tema indicado na classe. Para cada novo @@ -1705,18 +1684,7 @@ Os valores para o gráfico são obtidos do tema indicado na classe. Para cada novo
1705 include_once("classe_shp.php"); 1684 include_once("classe_shp.php");
1706 copiaSeguranca($map_file); 1685 copiaSeguranca($map_file);
1707 $m = new SHP($map_file,$tema,$locaplic); 1686 $m = new SHP($map_file,$tema,$locaplic);
1708 - if($interface == "googlemaps")  
1709 - {  
1710 - $projMapa = $m->mapa->getProjection();  
1711 - $m->mapa->setProjection("init=epsg:4291");  
1712 - $m->salva();  
1713 - }  
1714 $retorno = $m->insereSHPgrafico($x,$y,$itens,$width,$inclinacao,$shadow_height); 1687 $retorno = $m->insereSHPgrafico($x,$y,$itens,$width,$inclinacao,$shadow_height);
1715 - if($interface == "googlemaps")  
1716 - {  
1717 - $m->mapa->setProjection($projMapa);  
1718 - $m->salva();  
1719 - }  
1720 $_SESSION["contadorsalva"]++; 1688 $_SESSION["contadorsalva"]++;
1721 break; 1689 break;
1722 /* 1690 /*
@@ -2117,8 +2085,6 @@ A pesquisa em temas é feita apenas quando existir o metadata itembuscarapida @@ -2117,8 +2085,6 @@ A pesquisa em temas é feita apenas quando existir o metadata itembuscarapida
2117 if($lista != ""){ 2085 if($lista != ""){
2118 include_once("classe_atributos.php"); 2086 include_once("classe_atributos.php");
2119 $m = new Atributos($map_file); 2087 $m = new Atributos($map_file);
2120 - if($interface == "googlemaps")  
2121 - {$m->mapa->setProjection("init=epsg:4291");}  
2122 $dados = $m->buscaRegistros($palavra,$lista,"qualquer","mapa"); 2088 $dados = $m->buscaRegistros($palavra,$lista,"qualquer","mapa");
2123 foreach($dados as $tema){ 2089 foreach($dados as $tema){
2124 $rs = $tema["resultado"]; 2090 $rs = $tema["resultado"];
@@ -2154,8 +2120,6 @@ Procura valores em uma tabela que aderem a uma palavra de busca. @@ -2154,8 +2120,6 @@ Procura valores em uma tabela que aderem a uma palavra de busca.
2154 include_once("classe_atributos.php"); 2120 include_once("classe_atributos.php");
2155 if(!isset($tema)){$tema = "";} 2121 if(!isset($tema)){$tema = "";}
2156 $m = new Atributos($map_file,$tema,"",$ext); 2122 $m = new Atributos($map_file,$tema,"",$ext);
2157 - if($interface == "googlemaps")  
2158 - {$m->mapa->setProjection("init=epsg:4291");}  
2159 $retorno = $m->buscaRegistros($palavra,$lista,$tipo,$onde); 2123 $retorno = $m->buscaRegistros($palavra,$lista,$tipo,$onde);
2160 break; 2124 break;
2161 /* 2125 /*
@@ -2171,19 +2135,8 @@ Identifica elementos no mapa. @@ -2171,19 +2135,8 @@ Identifica elementos no mapa.
2171 if (!isset($tema)){$tema = "";} 2135 if (!isset($tema)){$tema = "";}
2172 if (!isset($resolucao)){$resolucao = 5;} 2136 if (!isset($resolucao)){$resolucao = 5;}
2173 include_once("classe_atributos.php"); 2137 include_once("classe_atributos.php");
2174 - $m = new Atributos($map_file,$tema);  
2175 - if($interface == "googlemaps")  
2176 - {  
2177 - $projMapa = $m->mapa->getProjection();  
2178 - $m->mapa->setProjection("init=epsg:4291");  
2179 - $m->salva();  
2180 - } 2138 + $m = new Atributos($map_file,$tema);
2181 $retorno = $m->identifica($opcao,$xy,$resolucao); 2139 $retorno = $m->identifica($opcao,$xy,$resolucao);
2182 - if($interface == "googlemaps")  
2183 - {  
2184 - $m->mapa->setProjection($projMapa);  
2185 - $m->salva();  
2186 - }  
2187 break; 2140 break;
2188 /* 2141 /*
2189 Valor: IDENTIFICA2 2142 Valor: IDENTIFICA2
@@ -2199,18 +2152,7 @@ Identifica elementos no mapa. @@ -2199,18 +2152,7 @@ Identifica elementos no mapa.
2199 if(!isset($ext)) 2152 if(!isset($ext))
2200 {$ext = "";} 2153 {$ext = "";}
2201 $m = new Atributos($map_file,$tema,"",$ext); 2154 $m = new Atributos($map_file,$tema,"",$ext);
2202 - if($interface == "googlemaps")  
2203 - {  
2204 - $projMapa = $m->mapa->getProjection();  
2205 - $m->mapa->setProjection("init=epsg:4291");  
2206 - $m->salva();  
2207 - }  
2208 $retorno = $m->identifica2($opcao,$xy,$resolucao,$ext,$listaDeTemas); 2155 $retorno = $m->identifica2($opcao,$xy,$resolucao,$ext,$listaDeTemas);
2209 - if($interface == "googlemaps")  
2210 - {  
2211 - $m->mapa->setProjection($projMapa);  
2212 - $m->salva();  
2213 - }  
2214 break; 2156 break;
2215 /* 2157 /*
2216 Valor: IDENTIFICAUNICO 2158 Valor: IDENTIFICAUNICO
@@ -2225,19 +2167,8 @@ Identifica elementos no mapa retornando apenas o valor de um único item. @@ -2225,19 +2167,8 @@ Identifica elementos no mapa retornando apenas o valor de um único item.
2225 if(!isset($ext)) 2167 if(!isset($ext))
2226 {$ext = "";} 2168 {$ext = "";}
2227 $m = new Atributos($map_file,$tema,"",$ext); 2169 $m = new Atributos($map_file,$tema,"",$ext);
2228 - if($interface == "googlemaps")  
2229 - {  
2230 - $projMapa = $m->mapa->getProjection();  
2231 - $m->mapa->setProjection("init=epsg:4291");  
2232 - $m->salva();  
2233 - }  
2234 $xy = explode(",",$xy); 2170 $xy = explode(",",$xy);
2235 $retorno = $m->identificaQBP($tema,$xy[0],$xy[1],$map_file,$resolucao,$item,$tiporetorno="unico"); 2171 $retorno = $m->identificaQBP($tema,$xy[0],$xy[1],$map_file,$resolucao,$item,$tiporetorno="unico");
2236 - if($interface == "googlemaps")  
2237 - {  
2238 - $m->mapa->setProjection($projMapa);  
2239 - $m->salva();  
2240 - }  
2241 break; 2172 break;
2242 /* 2173 /*
2243 Valor: ESTATISTICA 2174 Valor: ESTATISTICA
@@ -2272,8 +2203,6 @@ Pega todos os valores dos itens de uma tabela de um tema. @@ -2272,8 +2203,6 @@ Pega todos os valores dos itens de uma tabela de um tema.
2272 */ 2203 */
2273 case "LISTAREGISTROS": 2204 case "LISTAREGISTROS":
2274 include_once("classe_atributos.php"); 2205 include_once("classe_atributos.php");
2275 - if(isset($ext) && $ext != "" && $interface == "googlemaps" && $geo == false)  
2276 - {$ext = projetaExt($map_file,$ext);}  
2277 $m = new Atributos($map_file,$tema,"",$ext); 2206 $m = new Atributos($map_file,$tema,"",$ext);
2278 if(!isset($tipo)){$tipo = "";} 2207 if(!isset($tipo)){$tipo = "";}
2279 if(!isset($inicio)){$inicio = 0;} 2208 if(!isset($inicio)){$inicio = 0;}
@@ -2336,8 +2265,6 @@ Muda a extensão geográfica do mapa. @@ -2336,8 +2265,6 @@ Muda a extensão geográfica do mapa.
2336 if(!isset($geo)) 2265 if(!isset($geo))
2337 {$geo = false;} 2266 {$geo = false;}
2338 $m = new Navegacao($map_file); 2267 $m = new Navegacao($map_file);
2339 - if(isset($ext) && $ext != "" && $interface == "googlemaps" && $geo == false)  
2340 - {$ext = projetaExt($map_file,$ext);}  
2341 $m->mudaExtensao($ext); 2268 $m->mudaExtensao($ext);
2342 $m->salva(); 2269 $m->salva();
2343 $_SESSION["contadorsalva"]++; 2270 $_SESSION["contadorsalva"]++;
@@ -2706,11 +2633,6 @@ Seleciona elementos utilizando um ponto. @@ -2706,11 +2633,6 @@ Seleciona elementos utilizando um ponto.
2706 foreach($temas as $tema) 2633 foreach($temas as $tema)
2707 { 2634 {
2708 $m = new Selecao($map_file,$tema,$ext); 2635 $m = new Selecao($map_file,$tema,$ext);
2709 - if($interface == "googlemaps")  
2710 - {  
2711 - $projMapa = $m->mapa->getProjection();  
2712 - $m->mapa->setProjection("init=epsg:4291");  
2713 - }  
2714 $ok[] = $m->selecaoPT($xy,$tipo,$tolerancia); 2636 $ok[] = $m->selecaoPT($xy,$tipo,$tolerancia);
2715 } 2637 }
2716 $_SESSION["contadorsalva"]++; 2638 $_SESSION["contadorsalva"]++;
@@ -2730,11 +2652,6 @@ Seleciona elementos utilizando a extensão do mapa. @@ -2730,11 +2652,6 @@ Seleciona elementos utilizando a extensão do mapa.
2730 foreach($temas as $tema) 2652 foreach($temas as $tema)
2731 { 2653 {
2732 $m = new Selecao($map_file,$tema,$ext); 2654 $m = new Selecao($map_file,$tema,$ext);
2733 - if($interface == "googlemaps")  
2734 - {  
2735 - $projMapa = $m->mapa->getProjection();  
2736 - $m->mapa->setProjection("init=epsg:4291");  
2737 - }  
2738 $ok[] = $m->selecaoEXT($tipo); 2655 $ok[] = $m->selecaoEXT($tipo);
2739 } 2656 }
2740 //$retorno = implode(",",$ok); 2657 //$retorno = implode(",",$ok);
@@ -2754,12 +2671,7 @@ Seleciona elementos utilizando um retângulo. @@ -2754,12 +2671,7 @@ Seleciona elementos utilizando um retângulo.
2754 $temas = explode(",",$tema); 2671 $temas = explode(",",$tema);
2755 foreach($temas as $tema) 2672 foreach($temas as $tema)
2756 { 2673 {
2757 - $m = new Selecao($map_file,$tema,$ext);  
2758 - if($interface == "googlemaps")  
2759 - {  
2760 - $projMapa = $m->mapa->getProjection();  
2761 - $m->mapa->setProjection("init=epsg:4291");  
2762 - } 2674 + $m = new Selecao($map_file,$tema,$ext);
2763 $ok[] = $m->selecaoBOX($tipo,$ext); 2675 $ok[] = $m->selecaoBOX($tipo,$ext);
2764 } 2676 }
2765 $_SESSION["contadorsalva"]++; 2677 $_SESSION["contadorsalva"]++;
@@ -2809,12 +2721,7 @@ Sleciona elementos de um tema com base em outro tema. @@ -2809,12 +2721,7 @@ Sleciona elementos de um tema com base em outro tema.
2809 $temas = explode(",",$tema); 2721 $temas = explode(",",$tema);
2810 foreach($temas as $tema) 2722 foreach($temas as $tema)
2811 { 2723 {
2812 - $m = new Selecao($map_file,$tema);  
2813 - if($interface == "googlemaps")  
2814 - {  
2815 - $projMapa = $m->mapa->getProjection();  
2816 - $m->mapa->setProjection("init=epsg:4291");  
2817 - } 2724 + $m = new Selecao($map_file,$tema);
2818 $ok[] = $m->selecaoTema($temao,$tipo); 2725 $ok[] = $m->selecaoTema($temao,$tipo);
2819 } 2726 }
2820 $retorno = implode(",",$ok); 2727 $retorno = implode(",",$ok);
@@ -3101,14 +3008,7 @@ function selecaoPoli($xs,$ys,$tema,$tipo) @@ -3101,14 +3008,7 @@ function selecaoPoli($xs,$ys,$tema,$tipo)
3101 foreach($temas as $tema) 3008 foreach($temas as $tema)
3102 { 3009 {
3103 $m = new Selecao($map_file,$tema); 3010 $m = new Selecao($map_file,$tema);
3104 - if($interface == "googlemaps")  
3105 - {  
3106 - $projMapa = $m->mapa->getProjection();  
3107 - $m->mapa->setProjection("init=epsg:4291");  
3108 - }  
3109 $ok[] = $m->selecaoPorPoligono($tipo,$xs,$ys); 3011 $ok[] = $m->selecaoPorPoligono($tipo,$xs,$ys);
3110 - if($interface == "googlemaps")  
3111 - {$m->mapa->setProjection($projMapa);}  
3112 $m->salva(); 3012 $m->salva();
3113 $_SESSION["contadorsalva"]++; 3013 $_SESSION["contadorsalva"]++;
3114 } 3014 }
@@ -3144,8 +3044,9 @@ function redesenhaMapa() @@ -3144,8 +3044,9 @@ function redesenhaMapa()
3144 // 3044 //
3145 //na interface googlemaps não é necessário gerar a imagem 3045 //na interface googlemaps não é necessário gerar a imagem
3146 // 3046 //
3147 - if (isset($interface) && ($interface == "googlemaps" || $interface == "openlayers" || $interface == "googleearth"))  
3148 - { 3047 + if (isset($interface) && ($interface == "padrao" || $interface == "flamingo"))
  3048 + {$res = $m->redesenhaCorpo($tipoimagem,$utilizacgi,$locmapserv);}
  3049 + else{
3149 $e = $m->mapa->extent; 3050 $e = $m->mapa->extent;
3150 $ext = $e->minx." ".$e->miny." ".$e->maxx." ".$e->maxy; 3051 $ext = $e->minx." ".$e->miny." ".$e->maxx." ".$e->maxy;
3151 $res["mapimagem"] = ""; 3052 $res["mapimagem"] = "";
@@ -3160,9 +3061,6 @@ function redesenhaMapa() @@ -3160,9 +3061,6 @@ function redesenhaMapa()
3160 $res["mappath"] = ""; 3061 $res["mappath"] = "";
3161 $res["mapurl"] = ""; 3062 $res["mapurl"] = "";
3162 } 3063 }
3163 - else{  
3164 - $res = $m->redesenhaCorpo($tipoimagem,$utilizacgi,$locmapserv);  
3165 - }  
3166 $res["mensagens"] = $m->pegaMensagens(); 3064 $res["mensagens"] = $m->pegaMensagens();
3167 $res["tempo"] = microtime(1) - $tempo; 3065 $res["tempo"] = microtime(1) - $tempo;
3168 restauraCon($map_file,$postgis_mapa); 3066 restauraCon($map_file,$postgis_mapa);
classesphp/mapa_inicia.php
@@ -5,14 +5,14 @@ Title: mapa_inicia.php @@ -5,14 +5,14 @@ Title: mapa_inicia.php
5 Inicia um novo mapa. 5 Inicia um novo mapa.
6 6
7 Gera as imagens necessárias para abrir o mapa e calcula um conjunto de variáveis necessárias 7 Gera as imagens necessárias para abrir o mapa e calcula um conjunto de variáveis necessárias
8 -ao funcionamento do i3Geo. 8 +ao funcionamento do i3Geo. Os dados são devolvidos como um objeto json. Conforme a interface
  9 +que será utilizada pelo mapa, são feitos ajustes específicos.
9 10
10 Licenca: 11 Licenca:
11 12
12 GPL2 13 GPL2
13 14
14 -  
15 -I3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet 15 +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
16 16
17 Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil 17 Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil
18 Desenvolvedor: Edmar Moretti edmar.moretti@mma.gov.br 18 Desenvolvedor: Edmar Moretti edmar.moretti@mma.gov.br
@@ -42,6 +42,8 @@ Inicia um mapa e obtém os parâmetros necessários para o funcionamento da interfa @@ -42,6 +42,8 @@ Inicia um mapa e obtém os parâmetros necessários para o funcionamento da interfa
42 42
43 Globais: 43 Globais:
44 44
  45 +$interface - nome da interface que será utilizada pelo mapa padrao|openlayers|googlemaps|googleearth|flamingo . O valor de $interface é também armazenado no metadata "interface" do objeto Map, podendo ser utilizada em outros programas do i3Geo.
  46 +
45 $openid - indica se o usuário foi ou não autenticado em alguma rede social (veja i3geo/pacotes/openid) 47 $openid - indica se o usuário foi ou não autenticado em alguma rede social (veja i3geo/pacotes/openid)
46 48
47 $interfacePadrao - interface definida em ms_configura.php 49 $interfacePadrao - interface definida em ms_configura.php
@@ -230,6 +232,7 @@ function iniciaMapa() @@ -230,6 +232,7 @@ function iniciaMapa()
230 $of->set("imagemode",MS_IMAGEMODE_RGBA); 232 $of->set("imagemode",MS_IMAGEMODE_RGBA);
231 $of->setOption("QUANTIZE_FORCE","OFF"); 233 $of->setOption("QUANTIZE_FORCE","OFF");
232 $of->set("driver","AGG/PNG"); 234 $of->set("driver","AGG/PNG");
  235 + $m->mapa->setmetadata("interface",$interface);
233 $m->salva(); 236 $m->salva();
234 237
235 $nomes = nomeRandomico(12); 238 $nomes = nomeRandomico(12);
ferramentas/busca/index.js.php
@@ -225,7 +225,7 @@ i3GEOF.busca = { @@ -225,7 +225,7 @@ i3GEOF.busca = {
225 {tipo = "qualquer";} 225 {tipo = "qualquer";}
226 if ($i("i3GEObuscaregiao").checked === true) 226 if ($i("i3GEObuscaregiao").checked === true)
227 {onde = "regiao";} 227 {onde = "regiao";}
228 - palavra = removeAcentos(palavra); 228 + palavra = i3GEO.util.removeAcentos(palavra);
229 p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=listavaloresitens&palavra="+palavra+"&lista="+listai.toString()+"&tipo="+tipo+"&onde="+onde+"&ext="+i3GEO.parametros.mapexten; 229 p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=listavaloresitens&palavra="+palavra+"&lista="+listai.toString()+"&tipo="+tipo+"&onde="+onde+"&ext="+i3GEO.parametros.mapexten;
230 cp = new cpaint(); 230 cp = new cpaint();
231 cp.set_response_type("json"); 231 cp.set_response_type("json");