Commit f8bab1e88c08140df7483d42b7af939ea7bd800c
1 parent
965f17fc
Exists in
master
and in
7 other branches
--no commit message
Showing
3 changed files
with
19 additions
and
3 deletions
Show diff stats
admin/admin.db
No preview for this file type
classesphp/classe_selecao.php
| ... | ... | @@ -789,8 +789,11 @@ $dir_tmp - localização do diretório temporário |
| 789 | 789 | { |
| 790 | 790 | if(!$this->layer){return "erro";} |
| 791 | 791 | $this->layer->setfilter(""); |
| 792 | - $nomeshp = criaSHP($this->nome,$this->arquivo,$locaplic,$dir_tmp); | |
| 792 | + $nomeshp = criaSHP($this->nome,$this->arquivo,$locaplic,$dir_tmp,true,"",false); | |
| 793 | 793 | $novolayer = criaLayer($this->mapa,$this->layer->type,MS_DEFAULT,"Seleção de ".(pegaNome($this->layer))." (".$this->nome.")",$metaClasse="SIM"); |
| 794 | + if($this->layer->getprojection() != ""){ | |
| 795 | + $novolayer->setprojection($this->layer->getprojection()); | |
| 796 | + } | |
| 794 | 797 | $novolayer->set("data",$nomeshp.".shp"); |
| 795 | 798 | $novolayer->set("name",basename($nomeshp)); |
| 796 | 799 | $down = "nao"; | ... | ... |
classesphp/funcoes_gerais.php
| ... | ... | @@ -1397,11 +1397,13 @@ $nomeRand {boleano} - Gera um nome randomico para o shapefile (TRUE) ou utiliza |
| 1397 | 1397 | |
| 1398 | 1398 | $prj {string} - String que sera gravada no arquivo prj |
| 1399 | 1399 | |
| 1400 | +$projetaToMap {boolean} - Projeta os shapes para a projecao do mapa | |
| 1401 | + | |
| 1400 | 1402 | Retorno: |
| 1401 | 1403 | |
| 1402 | 1404 | {string} - nome do arquivo criado ou false se ocorrer erro |
| 1403 | 1405 | */ |
| 1404 | -function criaSHP($tema,$map_file,$locaplic,$dir_tmp,$nomeRand=TRUE,$prj="") | |
| 1406 | +function criaSHP($tema,$map_file,$locaplic,$dir_tmp,$nomeRand=TRUE,$prj="",$projetaToMap=true) | |
| 1405 | 1407 | { |
| 1406 | 1408 | $versao = versao(); |
| 1407 | 1409 | $versao = $versao["principal"]; |
| ... | ... | @@ -1510,7 +1512,9 @@ function criaSHP($tema,$map_file,$locaplic,$dir_tmp,$nomeRand=TRUE,$prj="") |
| 1510 | 1512 | if ($res_count > 0){ |
| 1511 | 1513 | for ($i = 0; $i < $res_count; ++$i){ |
| 1512 | 1514 | $shape = $shapesSel[$i]; |
| 1513 | - $shape->project($projInObj, $projOutObj); | |
| 1515 | + if($projetaToMap == true){ | |
| 1516 | + $shape->project($projInObj, $projOutObj); | |
| 1517 | + } | |
| 1514 | 1518 | foreach ($items as $ni){ |
| 1515 | 1519 | $vreg = $shape->values[$ni]; |
| 1516 | 1520 | if(strlen($vreg) > 255){ |
| ... | ... | @@ -1570,6 +1574,15 @@ function criaSHP($tema,$map_file,$locaplic,$dir_tmp,$nomeRand=TRUE,$prj="") |
| 1570 | 1574 | if($prj != ""){ |
| 1571 | 1575 | gravaDados(array($prj),$nomeshp.".prj"); |
| 1572 | 1576 | } |
| 1577 | + //se prj for vazio mas existir o arquivo prj original e a projecao do shape nao estiver ativa | |
| 1578 | + //copia o arquivo prj original se existir | |
| 1579 | + elseif ($projetaToMap == false){ | |
| 1580 | + $nomePrjOriginal = str_replace(".shp",".prj",$layer->data); | |
| 1581 | + $nomeDestino = $nomeshp.".prj"; | |
| 1582 | + if(file_exists($nomePrjOriginal) && !file_exists($nomeDestino)){ | |
| 1583 | + copy($nomePrjOriginal,$nomeDestino); | |
| 1584 | + } | |
| 1585 | + } | |
| 1573 | 1586 | return $nomeshp; |
| 1574 | 1587 | } |
| 1575 | 1588 | } | ... | ... |