diff --git a/admin/admin.db b/admin/admin.db
index 9cae371..330248b 100644
Binary files a/admin/admin.db and b/admin/admin.db differ
diff --git a/admin/php/classe_metaestat.php b/admin/php/classe_metaestat.php
index e20b4c3..df25502 100755
--- a/admin/php/classe_metaestat.php
+++ b/admin/php/classe_metaestat.php
@@ -484,12 +484,17 @@ class Metaestat{
}
return array("mapfile"=>$arq,"layer"=>$this->nomecache,"titulolayer"=>$titulolayer);
}
- function mapfileTipoRegiao($codigo_tipo_regiao,$outlinecolor="255,0,0",$width=1,$nomes="nao"){
+ function mapfileTipoRegiao($codigo_tipo_regiao,$outlinecolor="255,0,0",$width=1,$nomes="nao",$forcaArquivo=false){
//para permitir a inclusao de filtros, o fim do sql e marcado com /*FW*//*FW*/
//indicando onde deve comecar e terminar uma possivel clausula where
//Layers adicionados aqui sao marcados com o metadata METAESTAT "SIM"
//O codigo_tipo_regiao e marcado com o metadata METAESTAT_CODIGO_TIPO_REGIAO
- $arq = $this->dir_tmp."/".$this->nomecache.".map";
+ if($forcaArquivo == false){
+ $arq = $this->dir_tmp."/".$this->nomecache.".map";
+ }
+ else{
+ $arq = $this->dir_tmp."/".$this->nomecache.nomeRandomico(3).".map";
+ }
if(!file_exists($arq)){
$tipolayer = "polygon";
$meta = $this->listaTipoRegiao($codigo_tipo_regiao);
@@ -577,7 +582,7 @@ class Metaestat{
fwrite($fp,$dado."\n");
}
}
- return array("mapfile"=>$arq,"layer"=>$this->nomecache,"titulolayer"=>$titulolayer);
+ return array("mapfile"=>$arq,"layer"=>$this->nomecache,"titulolayer"=>$titulolayer,"codigo_tipo_regiao"=>$codigo_tipo_regiao);
}
function mapfileCompleto($mapfile){
$f = $this->base;
diff --git a/ferramentas/metaestat/analise.php b/ferramentas/metaestat/analise.php
index 18f2eb1..ab97cf7 100644
--- a/ferramentas/metaestat/analise.php
+++ b/ferramentas/metaestat/analise.php
@@ -101,6 +101,18 @@ switch (strtoupper($funcao)){
break;
case "CALOR":
$retorno = mapaDeCalor($map_file,$tema);
+ break;
+ case "ADICIONALIMITEREGIAO":
+ if(empty($outlinecolor)){
+ $outlinecolor = "255,0,0";
+ }
+ if(empty($width)){
+ $width = 1;
+ }
+ if(empty($nomes)){
+ $nomes = "nao";
+ }
+ $retorno = adicionaLimiteRegiao($map_file,$codigo_tipo_regiao,$outlinecolor,$width,$nomes);
break;
}
if (!connection_aborted()){
@@ -108,6 +120,31 @@ if (!connection_aborted()){
}
else
{exit();}
+function adicionaLimiteRegiao($map_file,$codigo_tipo_regiao,$outlinecolor,$width,$nomes){
+ global $locaplic,$dir_tmp;
+ $m = new Metaestat();
+ $res = $m->mapfileTipoRegiao($codigo_tipo_regiao,$outlinecolor,$width,$nomes,true);
+ $mapaNovo = ms_newMapObj($res["mapfile"]);
+ $layerNovo = $mapaNovo->getlayerbyname($res["layer"]);
+ $layerNovo->set("status",MS_DEFAULT);
+ $dataNovo = $layerNovo->data;
+ $mapa = ms_newMapObj($map_file);
+ $c = $mapa->numlayers;
+ for($i=0;$i < $c;++$i){
+ $l = $mapa->getlayer($i);
+ if($l->data == $dataNovo){
+ $l->set("status",MS_DELETE);
+ }
+ }
+ ms_newLayerObj($mapa, $layerNovo);
+ if($nomes == "sim"){
+ $layerNovo = $mapaNovo->getlayerbyname($res["layer"]."_anno");
+ $layerNovo->set("status",MS_DEFAULT);
+ ms_newLayerObj($mapa, $layerNovo);
+ }
+ $mapa->save($map_file);
+ return "ok";
+}
function mapaDeCalor($map_file,$tema){
global $locaplic,$dir_tmp,$R_path,$ext;
$nome = basename($map_file).$tema."calor";
diff --git a/ferramentas/metaestat/mostraregiao.js b/ferramentas/metaestat/mostraregiao.js
index 6f98f0b..c9d1782 100644
--- a/ferramentas/metaestat/mostraregiao.js
+++ b/ferramentas/metaestat/mostraregiao.js
@@ -63,10 +63,12 @@ i3GEOF.mostraregiao = {
inicia: function(divid){
$i(divid).innerHTML = i3GEOF.mostraregiao.html();
i3GEOF.mostraregiao.comboRegioes($i("i3geomostraregiaoTipoRegiao"));
+ YAHOO.i3GEO.janela.manager.find("i3GEOF.mostraregiao").setFooter('');
new YAHOO.widget.Button(
"i3geomostraregiaoAplica",
{onclick:{fn: function(){i3GEOF.mostraregiao.aplica();}}}
);
+ $i("i3geomostraregiaoAplica-button").style.width = "180px";
},
//utiliza o dicionario compartilhado
iniciaDicionario: function(){
@@ -113,15 +115,14 @@ i3GEOF.mostraregiao = {
},
html: function(){
var ins = "" +
- ' ' +
- '
Inclui nomes
' + 'Contorno:
' + 'Cor: ' + $inputText("","","i3geomostraregiaoOutlinecolor","",12,"255,0,0") + '