Commit bd257c54e6d42b556a181117151b35e45905bd6a
1 parent
76780c04
Exists in
master
and in
7 other branches
Atualização do código
Showing
5 changed files
with
89 additions
and
40 deletions
Show diff stats
admin/admin.db
No preview for this file type
classesphp/classe_selecao.php
... | ... | @@ -99,6 +99,8 @@ $ext - extensão geográfica do mapa |
99 | 99 | function __construct($map_file,$tema="",$ext="") |
100 | 100 | { |
101 | 101 | include_once(dirname(__FILE__)."/funcoes_gerais.php"); |
102 | + include(dirname(__FILE__)."/../ms_configura.php"); | |
103 | + $this->postgis_mapa = $postgis_mapa; | |
102 | 104 | $this->v = versao(); |
103 | 105 | $this->v = $this->v["principal"]; |
104 | 106 | $this->qyfile = str_replace(".map",".qy",$map_file); |
... | ... | @@ -108,7 +110,10 @@ $ext - extensão geográfica do mapa |
108 | 110 | else{ |
109 | 111 | $this->qyfileTema = ""; |
110 | 112 | } |
113 | + | |
111 | 114 | $this->mapa = ms_newMapObj($map_file); |
115 | + substituiConObj($this->mapa,$postgis_mapa); | |
116 | + | |
112 | 117 | $this->arquivo = str_replace(".map","",$map_file).".map"; |
113 | 118 | if($tema != "" && @$this->mapa->getlayerbyname($tema)) |
114 | 119 | $this->layer = $this->mapa->getlayerbyname($tema); |
... | ... | @@ -134,13 +139,12 @@ function: salva |
134 | 139 | |
135 | 140 | Salva o mapfile atual |
136 | 141 | */ |
137 | - function salva() | |
138 | - { | |
139 | - if($this->mapa->getmetadata("interface") == "googlemaps") | |
140 | - {$this->mapa->setProjection($this->projO);} | |
142 | + function salva(){ | |
143 | + if($this->mapa->getmetadata("interface") == "googlemaps"){ | |
144 | + $this->mapa->setProjection($this->projO); | |
145 | + } | |
141 | 146 | $this->mapa->save($this->arquivo); |
142 | - include(dirname(__FILE__)."/../ms_configura.php"); | |
143 | - restauraCon($this->arquivo,$postgis_mapa); | |
147 | + restauraCon($this->arquivo,$this->postgis_mapa); | |
144 | 148 | } |
145 | 149 | /* |
146 | 150 | function: nSel |
... | ... | @@ -165,7 +169,7 @@ $ys - lista de coordenadas y separadas por virgula |
165 | 169 | |
166 | 170 | $wkt - string wkt opcional ao uso de xs e ys |
167 | 171 | |
168 | -$buffer - buffer que será aplicado | |
172 | +$buffer - buffer que ser� aplicado | |
169 | 173 | */ |
170 | 174 | function selecaoPorPoligono($tipo,$xs="",$ys="",$wkt="",$buffer=0) |
171 | 175 | { |
... | ... | @@ -891,58 +895,53 @@ $tipo - Tipo de operação adiciona|retira|inverte|limpa|novo |
891 | 895 | |
892 | 896 | $ext - coordenadas separadas por espaços no estilo xmin ymin xmax ymax |
893 | 897 | */ |
894 | - function selecaoBOX($tipo,$ext) | |
895 | - { | |
896 | - if ($tipo == "novo") | |
897 | - { | |
898 | + function selecaoBOX($tipo,$ext) { | |
899 | + if ($tipo == "novo"){ | |
898 | 900 | $this->selecaoLimpa(); |
899 | 901 | $tipo = "adiciona"; |
900 | 902 | } |
901 | - if(!$this->layer){return "erro";} | |
903 | + if(!$this->layer){ | |
904 | + return "erro"; | |
905 | + } | |
902 | 906 | $this->layer->set("tolerance",0); |
903 | - if ($tipo == "limpa") | |
904 | - {return ($this->selecaoLimpa());} | |
905 | - if ($tipo == "inverte") | |
906 | - {return ($this->selecaoInverte());} | |
907 | - if (file_exists($this->qyfile)) | |
908 | - {$this->mapa->loadquery($this->qyfile);} | |
907 | + if ($tipo == "limpa"){ | |
908 | + return ($this->selecaoLimpa()); | |
909 | + } | |
910 | + if ($tipo == "inverte") { | |
911 | + return ($this->selecaoInverte()); | |
912 | + } | |
913 | + if (file_exists($this->qyfile)) { | |
914 | + $this->mapa->loadquery($this->qyfile); | |
915 | + } | |
909 | 916 | $indxlayer = $this->layer->index; |
910 | - /* | |
911 | - $res_count = $this->layer->getNumresults(); | |
912 | 917 | $shp_atual = array(); |
913 | - for ($i = 0; $i < $res_count;++$i) | |
914 | - { | |
915 | - $rc = $this->layer->getResult($i); | |
916 | - $shp_atual[] = $rc->shapeindex; | |
918 | + if($this->qyfileTema != "" && file_exists($this->qyfileTema)) { | |
919 | + $shp_atual = $this->unserializeQ($this->qyfileTema); | |
917 | 920 | } |
918 | - $this->mapa->freequery($indxlayer); | |
919 | - */ | |
920 | - $shp_atual = array(); | |
921 | - if($this->qyfileTema != "" && file_exists($this->qyfileTema)) | |
922 | - {$shp_atual = $this->unserializeQ($this->qyfileTema);} | |
923 | 921 | |
924 | 922 | $shpi = array(); |
925 | 923 | $temp = explode(" ",$ext); |
926 | 924 | $rect = ms_newRectObj(); |
925 | + | |
927 | 926 | $rect->set("minx",(min(array($temp[0],$temp[2])))); |
928 | 927 | $rect->set("miny",(min(array($temp[1],$temp[3])))); |
929 | 928 | $rect->set("maxx",(max(array($temp[0],$temp[2])))); |
930 | 929 | $rect->set("maxy",(max(array($temp[1],$temp[3])))); |
931 | 930 | $ident = $this->layer->queryByRect($rect); |
932 | - if ($ident != 1) | |
933 | - { | |
931 | + if ($ident != 1){ | |
934 | 932 | $res_count = $this->layer->getNumresults(); |
935 | 933 | $shpi = array(); |
936 | - for ($i = 0; $i < $res_count; ++$i) | |
937 | - { | |
934 | + for ($i = 0; $i < $res_count; ++$i) { | |
938 | 935 | $result = $this->layer->getResult($i); |
939 | 936 | $shpi[] = $result->shapeindex; |
940 | 937 | } |
941 | 938 | } |
942 | - if ($tipo == "adiciona") | |
943 | - {return($this->selecaoAdiciona($shpi,$shp_atual));} | |
944 | - if ($tipo == "retira") | |
945 | - {return($this->selecaoRetira($shpi,$shp_atual));} | |
939 | + if ($tipo == "adiciona"){ | |
940 | + return($this->selecaoAdiciona($shpi,$shp_atual)); | |
941 | + } | |
942 | + if ($tipo == "retira"){ | |
943 | + return($this->selecaoRetira($shpi,$shp_atual)); | |
944 | + } | |
946 | 945 | } |
947 | 946 | /* |
948 | 947 | function unserializeQ | ... | ... |
classesphp/funcoes_gerais.php
... | ... | @@ -570,6 +570,36 @@ function substituiCon($map_file,$postgis_mapa) |
570 | 570 | } |
571 | 571 | return true; |
572 | 572 | } |
573 | +function substituiConObj($objMap,$postgis_mapa){ | |
574 | + error_reporting(0); | |
575 | + if (!empty($postgis_mapa)){ | |
576 | + $numlayers = $objMap->numlayers; | |
577 | + for ($i=0;$i < $numlayers;++$i) | |
578 | + { | |
579 | + $layer = $objMap->getlayer($i); | |
580 | + if ($layer->connectiontype == MS_POSTGIS) | |
581 | + { | |
582 | + $lcon = $layer->connection; | |
583 | + if (($lcon == " ") || ($lcon == "") || (in_array($lcon,array_keys($postgis_mapa)))) | |
584 | + { | |
585 | + // | |
586 | + //o metadata CONEXAOORIGINAL guarda o valor original para posterior substituição | |
587 | + // | |
588 | + if(($lcon == " ") || ($lcon == "")) | |
589 | + { | |
590 | + $layer->set("connection",$postgis_mapa); | |
591 | + $layer->setmetadata("CONEXAOORIGINAL",$lcon); | |
592 | + } | |
593 | + else | |
594 | + { | |
595 | + $layer->set("connection",$postgis_mapa[$lcon]); | |
596 | + $layer->setmetadata("CONEXAOORIGINAL",$lcon); | |
597 | + } | |
598 | + } | |
599 | + } | |
600 | + } | |
601 | + } | |
602 | +} | |
573 | 603 | /* |
574 | 604 | Function: restauraCon |
575 | 605 | |
... | ... | @@ -602,6 +632,24 @@ function restauraCon($map_file,$postgis_mapa) |
602 | 632 | $objMap->save($map_file); |
603 | 633 | } |
604 | 634 | } |
635 | +function restauraConObj($objMap,$postgis_mapa) | |
636 | +{ | |
637 | + if (!empty($postgis_mapa)) | |
638 | + { | |
639 | + $numlayers = $objMap->numlayers; | |
640 | + for ($i=0;$i < $numlayers;++$i) | |
641 | + { | |
642 | + $layer = $objMap->getlayer($i); | |
643 | + if ($layer->connectiontype == MS_POSTGIS) | |
644 | + { | |
645 | + if (!is_array($postgis_mapa) && $layer->connection == $postgis_mapa) | |
646 | + {$layer->set("connection"," ");} | |
647 | + if($layer->getmetadata("conexaooriginal") != "") | |
648 | + {$layer->set("connection",$layer->getmetadata("conexaooriginal"));} | |
649 | + } | |
650 | + } | |
651 | + } | |
652 | +} | |
605 | 653 | /* |
606 | 654 | Function: retornaReferencia |
607 | 655 | ... | ... |
ferramentas/parametrossql/ogc.php
... | ... | @@ -82,6 +82,7 @@ $nomeMapfileTmp = str_replace(" ","",$nomeMapfileTmp); |
82 | 82 | $cortePixels = 0; |
83 | 83 | if(file_exists($nomeMapfileTmp)){ |
84 | 84 | $oMap = ms_newMapobj($nomeMapfileTmp); |
85 | + substituiConObj($oMap,$postgis_mapa); | |
85 | 86 | } |
86 | 87 | else{ |
87 | 88 | if(empty($ogcwsmap)){ | ... | ... |
ogc.php
... | ... | @@ -371,9 +371,11 @@ $cortePixels = 0; |
371 | 371 | $ogcwsmap = $_GET["ogcwsmap"]; |
372 | 372 | |
373 | 373 | if(file_exists($nomeMapfileTmp) && $tipo == ""){ |
374 | - substituiCon($nomeMapfileTmp,$postgis_mapa); | |
374 | + //substituiCon($nomeMapfileTmp,$postgis_mapa); | |
375 | + //$oMap = ms_newMapobj($nomeMapfileTmp); | |
376 | + //restauraCon($nomeMapfileTmp,$postgis_mapa); | |
375 | 377 | $oMap = ms_newMapobj($nomeMapfileTmp); |
376 | - restauraCon($nomeMapfileTmp,$postgis_mapa); | |
378 | + substituiConObj($oMap,$postgis_mapa); | |
377 | 379 | } |
378 | 380 | else{ |
379 | 381 | if(empty($ogcwsmap)){ |
... | ... | @@ -764,7 +766,6 @@ else{ |
764 | 766 | $oMap->save($nomeMapfileTmp); |
765 | 767 | validaAcessoTemas($nomeMapfileTmp,true); |
766 | 768 | |
767 | - | |
768 | 769 | substituiCon($nomeMapfileTmp,$postgis_mapa); |
769 | 770 | $oMap = ms_newMapobj($nomeMapfileTmp); |
770 | 771 | restauraCon($nomeMapfileTmp,$postgis_mapa); | ... | ... |