Commit 56475d097029d0251b3cf1313782f4bb83df9cc1
1 parent
d61aae81
Exists in
master
and in
7 other branches
Corrigir a função que mostra os limites geográficos na ferramenta de análise do …
…METAESTAT para evitar a inclusão repetida de layers
Showing
4 changed files
with
62 additions
and
14 deletions
Show diff stats
admin/admin.db
No preview for this file type
admin/php/classe_metaestat.php
... | ... | @@ -484,12 +484,17 @@ class Metaestat{ |
484 | 484 | } |
485 | 485 | return array("mapfile"=>$arq,"layer"=>$this->nomecache,"titulolayer"=>$titulolayer); |
486 | 486 | } |
487 | - function mapfileTipoRegiao($codigo_tipo_regiao,$outlinecolor="255,0,0",$width=1,$nomes="nao"){ | |
487 | + function mapfileTipoRegiao($codigo_tipo_regiao,$outlinecolor="255,0,0",$width=1,$nomes="nao",$forcaArquivo=false){ | |
488 | 488 | //para permitir a inclusao de filtros, o fim do sql e marcado com /*FW*//*FW*/ |
489 | 489 | //indicando onde deve comecar e terminar uma possivel clausula where |
490 | 490 | //Layers adicionados aqui sao marcados com o metadata METAESTAT "SIM" |
491 | 491 | //O codigo_tipo_regiao e marcado com o metadata METAESTAT_CODIGO_TIPO_REGIAO |
492 | - $arq = $this->dir_tmp."/".$this->nomecache.".map"; | |
492 | + if($forcaArquivo == false){ | |
493 | + $arq = $this->dir_tmp."/".$this->nomecache.".map"; | |
494 | + } | |
495 | + else{ | |
496 | + $arq = $this->dir_tmp."/".$this->nomecache.nomeRandomico(3).".map"; | |
497 | + } | |
493 | 498 | if(!file_exists($arq)){ |
494 | 499 | $tipolayer = "polygon"; |
495 | 500 | $meta = $this->listaTipoRegiao($codigo_tipo_regiao); |
... | ... | @@ -577,7 +582,7 @@ class Metaestat{ |
577 | 582 | fwrite($fp,$dado."\n"); |
578 | 583 | } |
579 | 584 | } |
580 | - return array("mapfile"=>$arq,"layer"=>$this->nomecache,"titulolayer"=>$titulolayer); | |
585 | + return array("mapfile"=>$arq,"layer"=>$this->nomecache,"titulolayer"=>$titulolayer,"codigo_tipo_regiao"=>$codigo_tipo_regiao); | |
581 | 586 | } |
582 | 587 | function mapfileCompleto($mapfile){ |
583 | 588 | $f = $this->base; | ... | ... |
ferramentas/metaestat/analise.php
... | ... | @@ -101,6 +101,18 @@ switch (strtoupper($funcao)){ |
101 | 101 | break; |
102 | 102 | case "CALOR": |
103 | 103 | $retorno = mapaDeCalor($map_file,$tema); |
104 | + break; | |
105 | + case "ADICIONALIMITEREGIAO": | |
106 | + if(empty($outlinecolor)){ | |
107 | + $outlinecolor = "255,0,0"; | |
108 | + } | |
109 | + if(empty($width)){ | |
110 | + $width = 1; | |
111 | + } | |
112 | + if(empty($nomes)){ | |
113 | + $nomes = "nao"; | |
114 | + } | |
115 | + $retorno = adicionaLimiteRegiao($map_file,$codigo_tipo_regiao,$outlinecolor,$width,$nomes); | |
104 | 116 | break; |
105 | 117 | } |
106 | 118 | if (!connection_aborted()){ |
... | ... | @@ -108,6 +120,31 @@ if (!connection_aborted()){ |
108 | 120 | } |
109 | 121 | else |
110 | 122 | {exit();} |
123 | +function adicionaLimiteRegiao($map_file,$codigo_tipo_regiao,$outlinecolor,$width,$nomes){ | |
124 | + global $locaplic,$dir_tmp; | |
125 | + $m = new Metaestat(); | |
126 | + $res = $m->mapfileTipoRegiao($codigo_tipo_regiao,$outlinecolor,$width,$nomes,true); | |
127 | + $mapaNovo = ms_newMapObj($res["mapfile"]); | |
128 | + $layerNovo = $mapaNovo->getlayerbyname($res["layer"]); | |
129 | + $layerNovo->set("status",MS_DEFAULT); | |
130 | + $dataNovo = $layerNovo->data; | |
131 | + $mapa = ms_newMapObj($map_file); | |
132 | + $c = $mapa->numlayers; | |
133 | + for($i=0;$i < $c;++$i){ | |
134 | + $l = $mapa->getlayer($i); | |
135 | + if($l->data == $dataNovo){ | |
136 | + $l->set("status",MS_DELETE); | |
137 | + } | |
138 | + } | |
139 | + ms_newLayerObj($mapa, $layerNovo); | |
140 | + if($nomes == "sim"){ | |
141 | + $layerNovo = $mapaNovo->getlayerbyname($res["layer"]."_anno"); | |
142 | + $layerNovo->set("status",MS_DEFAULT); | |
143 | + ms_newLayerObj($mapa, $layerNovo); | |
144 | + } | |
145 | + $mapa->save($map_file); | |
146 | + return "ok"; | |
147 | +} | |
111 | 148 | function mapaDeCalor($map_file,$tema){ |
112 | 149 | global $locaplic,$dir_tmp,$R_path,$ext; |
113 | 150 | $nome = basename($map_file).$tema."calor"; | ... | ... |
ferramentas/metaestat/mostraregiao.js
... | ... | @@ -63,10 +63,12 @@ i3GEOF.mostraregiao = { |
63 | 63 | inicia: function(divid){ |
64 | 64 | $i(divid).innerHTML = i3GEOF.mostraregiao.html(); |
65 | 65 | i3GEOF.mostraregiao.comboRegioes($i("i3geomostraregiaoTipoRegiao")); |
66 | + YAHOO.i3GEO.janela.manager.find("i3GEOF.mostraregiao").setFooter('<input id=i3geomostraregiaoAplica type="button" value="'+$trad("p14")+'" />'); | |
66 | 67 | new YAHOO.widget.Button( |
67 | 68 | "i3geomostraregiaoAplica", |
68 | 69 | {onclick:{fn: function(){i3GEOF.mostraregiao.aplica();}}} |
69 | 70 | ); |
71 | + $i("i3geomostraregiaoAplica-button").style.width = "180px"; | |
70 | 72 | }, |
71 | 73 | //utiliza o dicionario compartilhado |
72 | 74 | iniciaDicionario: function(){ |
... | ... | @@ -113,15 +115,14 @@ i3GEOF.mostraregiao = { |
113 | 115 | }, |
114 | 116 | html: function(){ |
115 | 117 | var ins = "" + |
116 | - '<input id=i3geomostraregiaoAplica type="button" value="'+$trad("p14")+'" /> ' + | |
117 | - '<br><br><div class="paragrafo" id="i3geomostraregiaoTipoRegiao" >' + | |
118 | + '<div class="paragrafo" id="i3geomostraregiaoTipoRegiao" >' + | |
118 | 119 | '</div>' + |
119 | 120 | '<p class=paragrafo ><input type=checkbox id="i3geomostraregiaoNomes" style="cursor:pointer;position:relative;top:2px;" /> Inclui nomes</p>' + |
120 | 121 | '<p class=paragrafo >Contorno:</p>' + |
121 | 122 | 'Cor: ' + $inputText("","","i3geomostraregiaoOutlinecolor","",12,"255,0,0") + |
122 | 123 | ' <img alt="aquarela.gif" style=position:relative;top:2px;cursor:pointer src="'+i3GEO.configura.locaplic+'/imagens/aquarela.gif" onclick="i3GEOF.mostraregiao.corj(\'i3geomostraregiaoOutlinecolor\')" /> ' + |
123 | 124 | '<br><br>Largura: ' + $inputText("","","i3geomostraregiaoWidth","",3,"1") + |
124 | - '<br>' ; | |
125 | + '<br><br>' ; | |
125 | 126 | return ins; |
126 | 127 | }, |
127 | 128 | comboRegioes: function(objonde){ |
... | ... | @@ -154,13 +155,8 @@ i3GEOF.mostraregiao = { |
154 | 155 | i3GEO.janela.abreAguarde("aguardeMostraRegiao","Aguarde..."); |
155 | 156 | var temp = function(retorno){ |
156 | 157 | i3GEO.janela.fechaAguarde("aguardeMostraRegiao"); |
157 | - if(retorno.layer == ""){ | |
158 | - i3GEO.atualiza(); | |
159 | - return; | |
160 | - } | |
161 | - if(i3GEO.arvoreDeCamadas.pegaTema(retorno.layer) == ""){ | |
162 | - i3GEO.php.adtema(i3GEO.atualiza,retorno.mapfile); | |
163 | - } | |
158 | + i3GEO.atualiza(); | |
159 | + | |
164 | 160 | }; |
165 | 161 | if(nomes.checked == true){ |
166 | 162 | nomes = "sim"; |
... | ... | @@ -168,7 +164,17 @@ i3GEOF.mostraregiao = { |
168 | 164 | else{ |
169 | 165 | nomes = "nao"; |
170 | 166 | } |
171 | - i3GEO.php.mapfileTipoRegiao(temp,combo.value,$i("i3geomostraregiaoOutlinecolor").value,$i("i3geomostraregiaoWidth").value,nomes); | |
167 | + i3GEO.janela.AGUARDEMODAL = true; | |
168 | + i3GEO.janela.abreAguarde("aguardeMostraRegiao","Aplicando..."); | |
169 | + i3GEO.janela.AGUARDEMODAL = false; | |
170 | + p = i3GEO.configura.locaplic+"/ferramentas/metaestat/analise.php?funcao=adicionaLimiteRegiao"+ | |
171 | + "&codigo_tipo_regiao="+combo.value+ | |
172 | + "&g_sid="+i3GEO.configura.sid+ | |
173 | + "&outlinecolor="+$i("i3geomostraregiaoOutlinecolor").value+ | |
174 | + "&width="+$i("i3geomostraregiaoWidth").value+ | |
175 | + "&nomes="+nomes; | |
176 | + i3GEO.util.ajaxGet(p,temp); | |
177 | + //i3GEO.php.mapfileTipoRegiao(temp,combo.value,$i("i3geomostraregiaoOutlinecolor").value,$i("i3geomostraregiaoWidth").value,nomes); | |
172 | 178 | }, |
173 | 179 | corj: function(obj){ |
174 | 180 | i3GEO.util.abreCor("",obj); | ... | ... |