Commit f3e27dd10d6aa8533ba885795891fab0a54201a1

Authored by Edmar Moretti
1 parent 1d766e30

Atualização da documentação e das rotinas que processam projetos gvsig. Agora, t…

…odas as vistas de um projeto são adicionadas ao mapa quando se usa um arquivo gvsig
classesphp/classe_mapa.php
@@ -976,15 +976,16 @@ $random - indica se os nomes dos novos layers serão modificados ou nao @@ -976,15 +976,16 @@ $random - indica se os nomes dos novos layers serão modificados ou nao
976 include_once($locaplic."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php"); 976 include_once($locaplic."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php");
977 $gm = new gvsig2mapfile($nomemap); 977 $gm = new gvsig2mapfile($nomemap);
978 $gvsigview = $gm->getViewsNames(); 978 $gvsigview = $gm->getViewsNames();
979 - $gvsigview = $gvsigview[0];  
980 - $dataView = $gm->getViewData($gvsigview);  
981 - $adicionar = array();  
982 - foreach($dataView["layerNames"] as $t){  
983 - if(!in_array($t,$this->nomes)){  
984 - $adicionar[] = $t; 979 + foreach($gvsigview as $gv){
  980 + $dataView = $gm->getViewData($gvsigview);
  981 + $adicionar = array();
  982 + foreach($dataView["layerNames"] as $t){
  983 + if(!in_array($t,$this->nomes)){
  984 + $adicionar[] = $t;
  985 + }
985 } 986 }
  987 + $this->mapa = $gm->addLayers($this->mapa,$gv,$adicionar);
986 } 988 }
987 - $this->mapa = $gm->addLayers($this->mapa,$gvsigview,$adicionar);  
988 foreach($adicionar as $nome){ 989 foreach($adicionar as $nome){
989 $l = $this->mapa->getlayerbyname($nome); 990 $l = $this->mapa->getlayerbyname($nome);
990 //reposiciona o layer se for o caso 991 //reposiciona o layer se for o caso
classesphp/funcoes_gerais.php
@@ -1530,6 +1530,7 @@ Include: @@ -1530,6 +1530,7 @@ Include:
1530 function downloadTema2($map_file,$tema,$locaplic,$dir_tmp,$postgis_mapa) 1530 function downloadTema2($map_file,$tema,$locaplic,$dir_tmp,$postgis_mapa)
1531 { 1531 {
1532 ini_set("max_execution_time","1800"); 1532 ini_set("max_execution_time","1800");
  1533 + $temas = array();
1533 if(file_exists($locaplic."/ms_configura.php")){ 1534 if(file_exists($locaplic."/ms_configura.php")){
1534 include($locaplic."/ms_configura.php"); 1535 include($locaplic."/ms_configura.php");
1535 } 1536 }
@@ -1628,10 +1629,12 @@ function downloadTema2($map_file,$tema,$locaplic,$dir_tmp,$postgis_mapa) @@ -1628,10 +1629,12 @@ function downloadTema2($map_file,$tema,$locaplic,$dir_tmp,$postgis_mapa)
1628 include_once($locaplic."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php"); 1629 include_once($locaplic."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php");
1629 $gm = new gvsig2mapfile($locaplic."/temas/".$tema.".gvp"); 1630 $gm = new gvsig2mapfile($locaplic."/temas/".$tema.".gvp");
1630 $gvsigview = $gm->getViewsNames(); 1631 $gvsigview = $gm->getViewsNames();
1631 - $gvsigview = $gvsigview[0];  
1632 - $dataView = $gm->getViewData($gvsigview);  
1633 - $map = $gm->addLayers($map,$gvsigview,$dataView["layerNames"]);  
1634 - $temas = $gm->nomesLayersAdicionados; 1632 + foreach($gvsigview as $gv){
  1633 + $dataView = $gm->getViewData($gvsigview);
  1634 + $map = $gm->addLayers($map,$gvsigview,$dataView["layerNames"]);
  1635 + $temas = array_merge($temas,$gm->nomesLayersAdicionados);
  1636 + }
  1637 + //$temas = $gm->nomesLayersAdicionados;
1635 } 1638 }
1636 // 1639 //
1637 //salva o mapfile com um outro nome para evitar que o mapa atual, se estiver aberto, seja modificado 1640 //salva o mapfile com um outro nome para evitar que o mapa atual, se estiver aberto, seja modificado
geraminiatura.php
@@ -241,12 +241,13 @@ function verificaMiniatura($map,$tipo,$admin=false) @@ -241,12 +241,13 @@ function verificaMiniatura($map,$tipo,$admin=false)
241 include_once($locaplic."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php"); 241 include_once($locaplic."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php");
242 $gm = new gvsig2mapfile($tema); 242 $gm = new gvsig2mapfile($tema);
243 $gvsigview = $gm->getViewsNames(); 243 $gvsigview = $gm->getViewsNames();
244 - $gvsigview = $gvsigview[0];  
245 - $dataView = $gm->getViewData($gvsigview); 244 + foreach($gvsigview as $v){
  245 + $dataView = $gm->getViewData($v);
  246 + $mapa = $gm->addLayers($mapa,$v,$dataView["layerNames"]);
  247 + }
246 $next = $dataView["extent"]; 248 $next = $dataView["extent"];
247 $ext = $mapa->extent; 249 $ext = $mapa->extent;
248 - $ext->setextent($next[0],$next[1],$next[2],$next[3]);  
249 - $mapa = $gm->addLayers($mapa,$gvsigview,$dataView["layerNames"]); 250 + $ext->setextent($next[0],$next[1],$next[2],$next[3]);
250 } 251 }
251 if ($tipo == "mini" || $tipo == "todos"){ 252 if ($tipo == "mini" || $tipo == "todos"){
252 $mapa->setsize(50,50); 253 $mapa->setsize(50,50);
ms_criamapa.php
@@ -125,9 +125,9 @@ image_wms - tipo de imagem disponível @@ -125,9 +125,9 @@ image_wms - tipo de imagem disponível
125 125
126 versao_wms - Versão do WMS (necessário quando da inclusão de uma camada WMS diretamente pela URL) 126 versao_wms - Versão do WMS (necessário quando da inclusão de uma camada WMS diretamente pela URL)
127 127
128 -gvsiggvp - (depreciado na versão 4.7) endereço no servidor do arquivo de projeto gvSig (gvp) que será utilizado para construir o mapa (experimental) 128 +gvsiggvp - (depreciado na versão 4.7 - utilize o parametro temasa) endereço no servidor do arquivo de projeto gvSig (gvp) que será utilizado para construir o mapa (experimental)
129 129
130 -gvsigview - (depreciado na versão 4.7) nome da view do projeto gvSig. Se nao for especificado, sera considerada a primeira view existente no projeto. Exemplo (http://localhost/i3geo/ms_criamapa.php?gvsiggvp=c:\temp\teste.gvp&gvsigview=Untitled - 0) 130 +gvsigview - lista com nomes de views existentes no projeto gvSig separado por virgula. Se for vazio, serao adicionadas todas as views. Exemplo (http://localhost/i3geo/ms_criamapa.php?gvsiggvp=c:\temp\teste.gvp&gvsigview=Untitled - 0)
131 */ 131 */
132 132
133 //$_COOKIE = array(); 133 //$_COOKIE = array();
@@ -680,12 +680,13 @@ function incluiTemasIniciais(){ @@ -680,12 +680,13 @@ function incluiTemasIniciais(){
680 include_once($locaplic."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php"); 680 include_once($locaplic."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php");
681 $gm = new gvsig2mapfile($arqtemp); 681 $gm = new gvsig2mapfile($arqtemp);
682 $gvsigview = $gm->getViewsNames(); 682 $gvsigview = $gm->getViewsNames();
683 - $gvsigview = $gvsigview[0];  
684 - $dataView = $gm->getViewData($gvsigview); 683 + foreach($gvsigview as $v){
  684 + $dataView = $gm->getViewData($v);
  685 + $mapn = $gm->addLayers($mapn,$v,$dataView["layerNames"]);
  686 + }
685 $next = $dataView["extent"]; 687 $next = $dataView["extent"];
686 $ext = $mapn->extent; 688 $ext = $mapn->extent;
687 $ext->setextent($next[0],$next[1],$next[2],$next[3]); 689 $ext->setextent($next[0],$next[1],$next[2],$next[3]);
688 - $mapn = $gm->addLayers($mapn,$gvsigview,$dataView["layerNames"]);  
689 } 690 }
690 } 691 }
691 } 692 }
@@ -1111,18 +1112,26 @@ function incluiMapaGvsig($gvsiggvp,$gvsigview=""){ @@ -1111,18 +1112,26 @@ function incluiMapaGvsig($gvsiggvp,$gvsigview=""){
1111 $gm = new gvsig2mapfile($gvsiggvp); 1112 $gm = new gvsig2mapfile($gvsiggvp);
1112 if(empty($gvsigview)){ 1113 if(empty($gvsigview)){
1113 $gvsigview = $gm->getViewsNames(); 1114 $gvsigview = $gm->getViewsNames();
1114 - $gvsigview = $gvsigview[0]; 1115 + //$gvsigview = $gvsigview[0];
  1116 + }
  1117 + else{
  1118 + $gvsigview = str_replace(" ",",",$gvsigview);
  1119 + $gvsigview = explode(",",$gvsigview);
1115 } 1120 }
1116 - $dataView = $gm->getViewData($gvsigview);  
1117 - $numlayers = $mapn->numlayers;  
1118 - for ($i=0;$i < $numlayers;$i++){  
1119 - $layer = $mapn->getlayer($i);  
1120 - $layer->set("status",MS_DELETE); 1121 + $numlayers = $mapn->numlayers;
  1122 + for ($i=0;$i < $numlayers;$i++){
  1123 + $layer = $mapn->getlayer($i);
  1124 + $layer->set("status",MS_DELETE);
  1125 + }
  1126 + foreach($gvsigview as $v){
  1127 + if($v != ""){
  1128 + $dataView = $gm->getViewData($v);
  1129 + $mapn = $gm->addLayers($mapn,$gvsigview,$dataView["layerNames"]);
  1130 + }
1121 } 1131 }
1122 $next = $dataView["extent"]; 1132 $next = $dataView["extent"];
1123 $ext = $mapn->extent; 1133 $ext = $mapn->extent;
1124 $ext->setextent($next[0],$next[1],$next[2],$next[3]); 1134 $ext->setextent($next[0],$next[1],$next[2],$next[3]);
1125 - $mapn = $gm->addLayers($mapn,$gvsigview,$dataView["layerNames"]);  
1126 } 1135 }
1127 /* 1136 /*
1128 Captura e mostra os erros de processamento do mapserver 1137 Captura e mostra os erros de processamento do mapserver
@@ -323,9 +323,10 @@ if ($tipo == &quot;&quot; || $tipo == &quot;metadados&quot;){ @@ -323,9 +323,10 @@ if ($tipo == &quot;&quot; || $tipo == &quot;metadados&quot;){
323 include_once($locaplic."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php"); 323 include_once($locaplic."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php");
324 $gm = new gvsig2mapfile($locaplic."/temas/".$tx.".gvp"); 324 $gm = new gvsig2mapfile($locaplic."/temas/".$tx.".gvp");
325 $gvsigview = $gm->getViewsNames(); 325 $gvsigview = $gm->getViewsNames();
326 - $gvsigview = $gvsigview[0];  
327 - $dataView = $gm->getViewData($gvsigview);  
328 - $oMap = $gm->addLayers($oMap,$gvsigview,$dataView["layerNames"]); 326 + foreach($gvsigview as $gv){
  327 + $dataView = $gm->getViewData($gv);
  328 + $oMap = $gm->addLayers($oMap,$gv,$dataView["layerNames"]);
  329 + }
329 $numlayers = $oMap->numlayers; 330 $numlayers = $oMap->numlayers;
330 $layers = array(); 331 $layers = array();
331 //$layers[] = "default"; 332 //$layers[] = "default";
pacotes/gvsig/gvsig2mapfile/upload.htm
@@ -13,13 +13,13 @@ @@ -13,13 +13,13 @@
13 <img src='../../../imagens/i3geo1bw.jpg' > 13 <img src='../../../imagens/i3geo1bw.jpg' >
14 <p class="paragrafo" > 14 <p class="paragrafo" >
15 <a href='http://softwarepublico.gov.br'>http://softwarepublico.gov.br</a><br> 15 <a href='http://softwarepublico.gov.br'>http://softwarepublico.gov.br</a><br>
16 -<a href='http://svn.softwarepublico.gov.br/trac/i3geo/browser/i3geo/pacotes/gvsig/gvsig2mapfile' >Código fonte</a><br> 16 +<a href='http://svn.softwarepublico.gov.br/trac/i3geo/browser/i3geo/pacotes/gvsig/gvsig2mapfile' >C&oacute;digo fonte</a><br>
17 <form id=i3GEOupload target="i3GEOuploadiframe" action="upload.php" method="post" ENCTYPE="multipart/form-data"> 17 <form id=i3GEOupload target="i3GEOuploadiframe" action="upload.php" method="post" ENCTYPE="multipart/form-data">
18 - <p class="paragrafo" >Arquivo de projeto gvSig (.gvp). Será utilizada a primeira "view" existente no projeto.<br>  
19 - A conversão ainda é experimental, caso ocorra algum erro, envie o seu projeto para o e-mail: edmar.moretti@gmail.com<br>  
20 - Não há garantias de sigilo em relação ao arquivo enviado ao servidor. Evite utilizar dados restritos, como endereços e senhas.<br>  
21 - No caso de camadas baseadas em conexões com banco de dados, a senha colocada em CONNECTION é igual ao nome do usuário, uma vez  
22 - que não é armazenada no arquivo .gvp<br><br> 18 + <p class="paragrafo" >Arquivo de projeto gvSig (.gvp). Ser&atilde;o utilizadas todas as vistas existentes no projeto.<br>
  19 + A convers&atilde;o ainda &eacute; experimental, caso ocorra algum erro, envie o seu projeto para o e-mail: edmar.moretti@gmail.com&lt;br&gt;
  20 + N&atilde;o h&aacute; garantias de sigilo em rela&ccedil;&atilde;o ao arquivo enviado ao servidor. Evite utilizar dados restritos, como endere&ccedil;os e senhas.&lt;br&gt;
  21 + No caso de camadas baseadas em conex&otilde;es com banco de dados, a senha colocada em CONNECTION &eacute; igual ao nome do usu&aacute;rio, uma vez
  22 + que n&atilde;o &eacute; armazenada no arquivo .gvp. No final da lista de vistas e layers deve aparecer o mapfile gerado<br><br>
23 <input type="file" size=42 name="i3GEOuploadfile" style="top:0px;left:0px;cursor:pointer;"></p> 23 <input type="file" size=42 name="i3GEOuploadfile" style="top:0px;left:0px;cursor:pointer;"></p>
24 <input type="submit" value="Upload" size=12 name="submit"> 24 <input type="submit" value="Upload" size=12 name="submit">
25 <input type="hidden" name="MAX_FILE_SIZE" value="100000"> 25 <input type="hidden" name="MAX_FILE_SIZE" value="100000">
pacotes/gvsig/gvsig2mapfile/upload.php
@@ -43,26 +43,32 @@ if (isset($_FILES[&#39;i3GEOuploadfile&#39;][&#39;name&#39;])) @@ -43,26 +43,32 @@ if (isset($_FILES[&#39;i3GEOuploadfile&#39;][&#39;name&#39;]))
43 if($status != 1) 43 if($status != 1)
44 {ob_clean();echo "Ocorreu um erro no envio do arquivo";exit;} 44 {ob_clean();echo "Ocorreu um erro no envio do arquivo";exit;}
45 45
46 - if($status == 1)  
47 - { 46 + if($status == 1){
48 //echo $Arquivon; 47 //echo $Arquivon;
  48 + $nomefim = str_replace(".gvp",".map",$Arquivon);
  49 + echo "#arquivo final: $nomefim <br>";
49 $gm = new gvsig2mapfile($Arquivon); 50 $gm = new gvsig2mapfile($Arquivon);
50 - $views = $gm->getViewsNames();  
51 - $dataView = $gm->getViewData($views[0]);  
52 $numlayers = $mapn->numlayers; 51 $numlayers = $mapn->numlayers;
53 - for ($i=0;$i < $numlayers;$i++)  
54 - {  
55 - $layer = $mapn->getlayer($i);  
56 - $layer->set("status",MS_DELETE); 52 + for ($i=0;$i < $numlayers;$i++){
  53 + $layer = $mapn->getlayer($i);
  54 + $layer->set("status",MS_DELETE);
  55 + }
  56 + $views = $gm->getViewsNames();
  57 + foreach($views as $v){
  58 + echo "#vista: ".$v;
  59 + $dataView = $gm->getViewData($v);
  60 + $layernames = $dataView["layerNames"];
  61 + echo "<br>#layers: ".implode(", ",$layernames)."<br>";
  62 + $mapn = $gm->addLayers($mapn,$v,$layernames);
  63 + $mapn->save($nomefim);
57 } 64 }
58 $next = $dataView["extent"]; 65 $next = $dataView["extent"];
59 $ext = $mapn->extent; 66 $ext = $mapn->extent;
60 $ext->setextent($next[0],$next[1],$next[2],$next[3]); 67 $ext->setextent($next[0],$next[1],$next[2],$next[3]);
61 68
62 - $mapn = $gm->addLayers($mapn,$views[0],$dataView["layerNames"]);  
63 - $mapn->save(str_replace(".gvp",".map",$Arquivon)); 69 + $mapn->save($nomefim);
64 $handle = fopen(str_replace(".gvp",".map",$Arquivon), "r"); 70 $handle = fopen(str_replace(".gvp",".map",$Arquivon), "r");
65 - echo "<html>"; 71 + echo "<html>#mapfile: <br>";
66 while (!feof($handle)) 72 while (!feof($handle))
67 { 73 {
68 $linha = fgets($handle); 74 $linha = fgets($handle);
testamapfile.php
@@ -310,15 +310,16 @@ function verifica($map,$solegenda){ @@ -310,15 +310,16 @@ function verifica($map,$solegenda){
310 $gvsiggvp = $locaplic."/".$tema; 310 $gvsiggvp = $locaplic."/".$tema;
311 } 311 }
312 include_once($locaplic."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php"); 312 include_once($locaplic."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php");
313 - $gm = new gvsig2mapfile($gvsiggvp); 313 + $gm = new gvsig2mapfile($gvsiggvp);
314 $gvsigview = $gm->getViewsNames(); 314 $gvsigview = $gm->getViewsNames();
315 - $gvsigview = $gvsigview[0];  
316 - $dataView = $gm->getViewData($gvsigview);  
317 - $numlayers = $mapn->numlayers; 315 + foreach($gvsigview as $v){
  316 + $dataView = $gm->getViewData($v);
  317 + $mapa = $gm->addLayers($mapa,$v,$dataView["layerNames"]);
  318 + }
318 $next = $dataView["extent"]; 319 $next = $dataView["extent"];
319 $ext = $mapa->extent; 320 $ext = $mapa->extent;
320 $ext->setextent($next[0],$next[1],$next[2],$next[3]); 321 $ext->setextent($next[0],$next[1],$next[2],$next[3]);
321 - $mapa = $gm->addLayers($mapa,$gvsigview,$dataView["layerNames"]); 322 +
322 } 323 }
323 if ($tipo == "mini"){ 324 if ($tipo == "mini"){
324 $mapa->setsize(50,50); 325 $mapa->setsize(50,50);