Commit ca448575a2bf55ee43460f51d239ca8c8f5759c1

Authored by Edmar Moretti
1 parent c0280439

$1

classesjs/datadownload.js
@@ -279,10 +279,14 @@ function datadownload_download(obj) @@ -279,10 +279,14 @@ function datadownload_download(obj)
279 YAHOO.datadownloadLista.panel.show(); 279 YAHOO.datadownloadLista.panel.show();
280 //document.getElementById("corpo").innerHTML = "Aguarde. Gerando arquivos..." 280 //document.getElementById("corpo").innerHTML = "Aguarde. Gerando arquivos..."
281 var p = g_locaplic+"/classesphp/mapa_controle.php?map_file=&funcao=download3&tema="+obj.title; 281 var p = g_locaplic+"/classesphp/mapa_controle.php?map_file=&funcao=download3&tema="+obj.title;
282 - //caso a camada venha do sistema de metadados estatisticos 282 + //caso a camada venha do sistema de metadados estatisticos e seja uma variavel
283 if(obj.name && obj.name === "metaestat"){ 283 if(obj.name && obj.name === "metaestat"){
284 p = g_locaplic+"/classesphp/mapa_controle.php?map_file=&funcao=download3&id_medida_variavel="+obj.title; 284 p = g_locaplic+"/classesphp/mapa_controle.php?map_file=&funcao=download3&id_medida_variavel="+obj.title;
285 } 285 }
  286 + if(obj.name && obj.name === "regioesmetaestat"){
  287 + p = g_locaplic+"/classesphp/mapa_controle.php?map_file=&funcao=download3&codigo_tipo_regiao="+obj.title.replace("metaregiao_","");
  288 + }
  289 +
286 temaEscolhidoDownload = obj.title; 290 temaEscolhidoDownload = obj.title;
287 var cp = new cpaint(); 291 var cp = new cpaint();
288 //cp.set_debug(2) 292 //cp.set_debug(2)
@@ -375,4 +379,4 @@ function dataDownloadLinks(rss) @@ -375,4 +379,4 @@ function dataDownloadLinks(rss)
375 cp.call(p,"listaRSSws2",monta); 379 cp.call(p,"listaRSSws2",monta);
376 } 380 }
377 } 381 }
378 -}  
379 \ No newline at end of file 382 \ No newline at end of file
  383 +}
classesphp/classe_selecao.php
@@ -627,12 +627,12 @@ function: selecaoLimpa @@ -627,12 +627,12 @@ function: selecaoLimpa
627 627
628 Limpa a seleção do tema. 628 Limpa a seleção do tema.
629 */ 629 */
630 - function selecaoLimpa() 630 + function selecaoLimpa($apagaQyfile=false)
631 { 631 {
632 //apaga o arquivo do i3geo com os ids selecionados 632 //apaga o arquivo do i3geo com os ids selecionados
633 if(file_exists($this->qyfileTema)) 633 if(file_exists($this->qyfileTema))
634 {unlink($this->qyfileTema);} 634 {unlink($this->qyfileTema);}
635 - if ($this->nome != "") //limpa de um tema 635 + if ($this->nome != "" && $apagaQyfile == false) //limpa de um tema
636 { 636 {
637 if(!$this->layer){return "erro";} 637 if(!$this->layer){return "erro";}
638 if (file_exists($this->qyfile)) 638 if (file_exists($this->qyfile))
@@ -955,4 +955,4 @@ $geos - array com os dados @@ -955,4 +955,4 @@ $geos - array com os dados
955 fclose($fp); 955 fclose($fp);
956 } 956 }
957 } 957 }
958 -?>  
959 \ No newline at end of file 958 \ No newline at end of file
  959 +?>
classesphp/funcoes_gerais.php
@@ -1421,7 +1421,6 @@ function criaSHP($tema,$map_file,$locaplic,$dir_tmp,$nomeRand=TRUE) @@ -1421,7 +1421,6 @@ function criaSHP($tema,$map_file,$locaplic,$dir_tmp,$nomeRand=TRUE)
1421 else 1421 else
1422 {$novonomelayer = $tema;} 1422 {$novonomelayer = $tema;}
1423 1423
1424 -  
1425 $novonomelayer = str_replace(".","-",$novonomelayer); 1424 $novonomelayer = str_replace(".","-",$novonomelayer);
1426 $nomeshp = $dir_tmp."/".$novonomelayer; 1425 $nomeshp = $dir_tmp."/".$novonomelayer;
1427 1426
@@ -1460,7 +1459,6 @@ function criaSHP($tema,$map_file,$locaplic,$dir_tmp,$nomeRand=TRUE) @@ -1460,7 +1459,6 @@ function criaSHP($tema,$map_file,$locaplic,$dir_tmp,$nomeRand=TRUE)
1460 } 1459 }
1461 else{ 1460 else{
1462 $shapesSel = retornaShapesSelecionados($layer,$map_file,$map);// 1461 $shapesSel = retornaShapesSelecionados($layer,$map_file,$map);//
1463 -  
1464 $items = pegaItens($layer); 1462 $items = pegaItens($layer);
1465 // cria o dbf 1463 // cria o dbf
1466 $def = array(); 1464 $def = array();
@@ -1483,7 +1481,6 @@ function criaSHP($tema,$map_file,$locaplic,$dir_tmp,$nomeRand=TRUE) @@ -1483,7 +1481,6 @@ function criaSHP($tema,$map_file,$locaplic,$dir_tmp,$nomeRand=TRUE)
1483 $novoshpf = ms_newShapefileObj($nomeshp.".shp", -2); 1481 $novoshpf = ms_newShapefileObj($nomeshp.".shp", -2);
1484 1482
1485 $res_count = count($shapesSel); 1483 $res_count = count($shapesSel);
1486 -  
1487 if ($res_count > 0){ 1484 if ($res_count > 0){
1488 for ($i = 0; $i < $res_count; ++$i){ 1485 for ($i = 0; $i < $res_count; ++$i){
1489 $shape = $shapesSel[$i]; 1486 $shape = $shapesSel[$i];
@@ -1649,6 +1646,7 @@ function downloadTema2($map_file,$tema,$locaplic,$dir_tmp,$postgis_mapa) @@ -1649,6 +1646,7 @@ function downloadTema2($map_file,$tema,$locaplic,$dir_tmp,$postgis_mapa)
1649 } 1646 }
1650 //se o layer n&atilde;o existir no mapfile, pega da pasta i3geo/temas e adiciona em $map 1647 //se o layer n&atilde;o existir no mapfile, pega da pasta i3geo/temas e adiciona em $map
1651 if($teste == ""){ 1648 if($teste == ""){
  1649 + //tema pode ser o nome de um arquivo mapfile
1652 if(file_exists($tema.".map")){ 1650 if(file_exists($tema.".map")){
1653 $maptemp = ms_newMapObj($tema.".map"); 1651 $maptemp = ms_newMapObj($tema.".map");
1654 $tema = basename($tema); 1652 $tema = basename($tema);
@@ -1689,12 +1687,18 @@ function downloadTema2($map_file,$tema,$locaplic,$dir_tmp,$postgis_mapa) @@ -1689,12 +1687,18 @@ function downloadTema2($map_file,$tema,$locaplic,$dir_tmp,$postgis_mapa)
1689 $map = $gm->addLayers($map,$gvsigview,$dataView["layerNames"]); 1687 $map = $gm->addLayers($map,$gvsigview,$dataView["layerNames"]);
1690 $temas = array_merge($temas,$gm->nomesLayersAdicionados); 1688 $temas = array_merge($temas,$gm->nomesLayersAdicionados);
1691 } 1689 }
1692 - //$temas = $gm->nomesLayersAdicionados;  
1693 } 1690 }
1694 // 1691 //
1695 //salva o mapfile com um outro nome para evitar que o mapa atual, se estiver aberto, seja modificado 1692 //salva o mapfile com um outro nome para evitar que o mapa atual, se estiver aberto, seja modificado
1696 // 1693 //
1697 - $map_file = str_replace(".map","tmp.map",$map_file); 1694 + //verifica se tem query e copia o arquivo
  1695 + $qyfile = str_replace(".map",".qy",$map_file);
  1696 + $nr = nomerandomico(10);
  1697 + $map_file = str_replace(".map",$nr."tmp.map",$map_file);
  1698 + if(file_exists($qyfile)){
  1699 + $nqyfile = str_replace(".map",".qy",$map_file);
  1700 + copy($qyfile,$nqyfile);
  1701 + }
1698 $map->save($map_file); 1702 $map->save($map_file);
1699 substituiCon($map_file,$postgis_mapa); 1703 substituiCon($map_file,$postgis_mapa);
1700 //$map_file agora contem os LAYERS necess&aacute;rios 1704 //$map_file agora contem os LAYERS necess&aacute;rios
@@ -1782,6 +1786,25 @@ function downloadTema2($map_file,$tema,$locaplic,$dir_tmp,$postgis_mapa) @@ -1782,6 +1786,25 @@ function downloadTema2($map_file,$tema,$locaplic,$dir_tmp,$postgis_mapa)
1782 } 1786 }
1783 } 1787 }
1784 else{ //se for vetorial, extrai o arquivo 1788 else{ //se for vetorial, extrai o arquivo
  1789 + //
  1790 + //verifica se existe selecao, caso contrario, faz a selecao baseada na extensao
  1791 + //do mapfile
  1792 + //
  1793 + include(dirname(__FILE__)."/../classesphp/classe_selecao.php");
  1794 + $sel = New Selecao($map_file,$tema);
  1795 + //carrega a query para ver se o layer possui selecao ou nao
  1796 + $numSel = 0;
  1797 + if(file_exists($sel->qyfile)){
  1798 + $map->loadquery($sel->qyfile);
  1799 + $numSel = $l->getNumresults();
  1800 + }
  1801 + //
  1802 + //se nao existir selecao seleciona por box
  1803 + //
  1804 + if(!file_exists($sel->qyfile) || $numSel < 1){
  1805 + $box = $rectextent->minx." ".$rectextent->miny." ".$rectextent->maxx." ".$rectextent->maxy;
  1806 + $sel->selecaoBOX("novo",$box);
  1807 + }
1785 $nomeshp = criaSHP($tema,$map_file,$locaplic,$dir_tmp,$nomeRand); 1808 $nomeshp = criaSHP($tema,$map_file,$locaplic,$dir_tmp,$nomeRand);
1786 if($nomeshp == false){ 1809 if($nomeshp == false){
1787 return array("arquivos"=>"<span style=color:red >Ocorreu um erro, tente novamente","nreg"=>0); 1810 return array("arquivos"=>"<span style=color:red >Ocorreu um erro, tente novamente","nreg"=>0);
classesphp/mapa_controle.php
@@ -890,6 +890,16 @@ Gera os arquivos para download de um tema for&amp;ccedil;ando um mapfile vazio. @@ -890,6 +890,16 @@ Gera os arquivos para download de um tema for&amp;ccedil;ando um mapfile vazio.
890 */ 890 */
891 case "DOWNLOAD3": 891 case "DOWNLOAD3":
892 //caso o tema tenha de vir do sistema de metadados estatisticos 892 //caso o tema tenha de vir do sistema de metadados estatisticos
  893 +
  894 + //pode ser uma regiao cadastrada no sistema de metadados
  895 + if(isset($codigo_tipo_regiao) && $codigo_tipo_regiao != ""){
  896 + include(dirname(__FILE__)."/../admin/php/classe_metaestat.php");
  897 + $m = new Metaestat();
  898 + $m->nomecache = "ogcmetaestatreg".$codigo_tipo_regiao;
  899 + $tema = $m->mapfileTipoRegiao($codigo_tipo_regiao);
  900 + $tema = str_replace(".map","",$tema["mapfile"]);
  901 + }
  902 + //pode ser uma medida de uma variavel
893 if(isset($id_medida_variavel) && $id_medida_variavel != ""){ 903 if(isset($id_medida_variavel) && $id_medida_variavel != ""){
894 include(dirname(__FILE__)."/../admin/php/classe_metaestat.php"); 904 include(dirname(__FILE__)."/../admin/php/classe_metaestat.php");
895 $m = new Metaestat(); 905 $m = new Metaestat();
datadownload.htm
@@ -6,7 +6,7 @@ @@ -6,7 +6,7 @@
6 <meta name="description" content="Mapa interativo do MMA"> 6 <meta name="description" content="Mapa interativo do MMA">
7 <meta name="keywords" content="WMS OGC mapa sig gis webmapping geo geoprocessamento interativo meio ambiente MMA cartografia geografia"> 7 <meta name="keywords" content="WMS OGC mapa sig gis webmapping geo geoprocessamento interativo meio ambiente MMA cartografia geografia">
8 <meta name="robots" content="index,follow"> 8 <meta name="robots" content="index,follow">
9 -<script type="text/javascript" src="classesjs/i3geonaocompacto.js"></script> 9 +<script type="text/javascript" src="classesjs/i3geo.js"></script>
10 <script type="text/javascript" src="classesjs/datadownload.js"></script> 10 <script type="text/javascript" src="classesjs/datadownload.js"></script>
11 <style> 11 <style>
12 P 12 P