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 976 include_once($locaplic."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php");
977 977 $gm = new gvsig2mapfile($nomemap);
978 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 989 foreach($adicionar as $nome){
989 990 $l = $this->mapa->getlayerbyname($nome);
990 991 //reposiciona o layer se for o caso
... ...
classesphp/funcoes_gerais.php
... ... @@ -1530,6 +1530,7 @@ Include:
1530 1530 function downloadTema2($map_file,$tema,$locaplic,$dir_tmp,$postgis_mapa)
1531 1531 {
1532 1532 ini_set("max_execution_time","1800");
  1533 + $temas = array();
1533 1534 if(file_exists($locaplic."/ms_configura.php")){
1534 1535 include($locaplic."/ms_configura.php");
1535 1536 }
... ... @@ -1628,10 +1629,12 @@ function downloadTema2($map_file,$tema,$locaplic,$dir_tmp,$postgis_mapa)
1628 1629 include_once($locaplic."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php");
1629 1630 $gm = new gvsig2mapfile($locaplic."/temas/".$tema.".gvp");
1630 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 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 241 include_once($locaplic."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php");
242 242 $gm = new gvsig2mapfile($tema);
243 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 248 $next = $dataView["extent"];
247 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 252 if ($tipo == "mini" || $tipo == "todos"){
252 253 $mapa->setsize(50,50);
... ...
ms_criamapa.php
... ... @@ -125,9 +125,9 @@ image_wms - tipo de imagem disponível
125 125  
126 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 133 //$_COOKIE = array();
... ... @@ -680,12 +680,13 @@ function incluiTemasIniciais(){
680 680 include_once($locaplic."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php");
681 681 $gm = new gvsig2mapfile($arqtemp);
682 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 687 $next = $dataView["extent"];
686 688 $ext = $mapn->extent;
687 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 1112 $gm = new gvsig2mapfile($gvsiggvp);
1112 1113 if(empty($gvsigview)){
1113 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 1132 $next = $dataView["extent"];
1123 1133 $ext = $mapn->extent;
1124 1134 $ext->setextent($next[0],$next[1],$next[2],$next[3]);
1125   - $mapn = $gm->addLayers($mapn,$gvsigview,$dataView["layerNames"]);
1126 1135 }
1127 1136 /*
1128 1137 Captura e mostra os erros de processamento do mapserver
... ...
ogc.php
... ... @@ -323,9 +323,10 @@ if ($tipo == &quot;&quot; || $tipo == &quot;metadados&quot;){
323 323 include_once($locaplic."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php");
324 324 $gm = new gvsig2mapfile($locaplic."/temas/".$tx.".gvp");
325 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 330 $numlayers = $oMap->numlayers;
330 331 $layers = array();
331 332 //$layers[] = "default";
... ...
pacotes/gvsig/gvsig2mapfile/upload.htm
... ... @@ -13,13 +13,13 @@
13 13 <img src='../../../imagens/i3geo1bw.jpg' >
14 14 <p class="paragrafo" >
15 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 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 23 <input type="file" size=42 name="i3GEOuploadfile" style="top:0px;left:0px;cursor:pointer;"></p>
24 24 <input type="submit" value="Upload" size=12 name="submit">
25 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 43 if($status != 1)
44 44 {ob_clean();echo "Ocorreu um erro no envio do arquivo";exit;}
45 45  
46   - if($status == 1)
47   - {
  46 + if($status == 1){
48 47 //echo $Arquivon;
  48 + $nomefim = str_replace(".gvp",".map",$Arquivon);
  49 + echo "#arquivo final: $nomefim <br>";
49 50 $gm = new gvsig2mapfile($Arquivon);
50   - $views = $gm->getViewsNames();
51   - $dataView = $gm->getViewData($views[0]);
52 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 65 $next = $dataView["extent"];
59 66 $ext = $mapn->extent;
60 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 70 $handle = fopen(str_replace(".gvp",".map",$Arquivon), "r");
65   - echo "<html>";
  71 + echo "<html>#mapfile: <br>";
66 72 while (!feof($handle))
67 73 {
68 74 $linha = fgets($handle);
... ...
testamapfile.php
... ... @@ -310,15 +310,16 @@ function verifica($map,$solegenda){
310 310 $gvsiggvp = $locaplic."/".$tema;
311 311 }
312 312 include_once($locaplic."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php");
313   - $gm = new gvsig2mapfile($gvsiggvp);
  313 + $gm = new gvsig2mapfile($gvsiggvp);
314 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 319 $next = $dataView["extent"];
319 320 $ext = $mapa->extent;
320 321 $ext->setextent($next[0],$next[1],$next[2],$next[3]);
321   - $mapa = $gm->addLayers($mapa,$gvsigview,$dataView["layerNames"]);
  322 +
322 323 }
323 324 if ($tipo == "mini"){
324 325 $mapa->setsize(50,50);
... ...