From b0644b4837879000eb7021118365be2db0cdf739 Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Mon, 10 Jan 2011 11:50:03 +0000 Subject: [PATCH] --- admin/admin.db | Bin 70656 -> 0 bytes classesjs/classe_arvoredecamadas.js | 37 ++++++++++++++++++++++++++++++++++++- classesjs/classe_i3geo.js | 6 ++++++ classesphp/classe_atributos.php | 61 ++++++++++++++++++++++++++++++++++++++----------------------- classesphp/classe_mapa.php | 14 ++++++++++---- classesphp/classe_temas.php | 5 +++++ classesphp/mapa_controle.php | 2 +- ms_criamapa.php | 4 ++++ temas/biomashp.map | 2 ++ 9 files changed, 102 insertions(+), 29 deletions(-) diff --git a/admin/admin.db b/admin/admin.db index 8931f38..3d5dac7 100644 Binary files a/admin/admin.db and b/admin/admin.db differ diff --git a/classesjs/classe_arvoredecamadas.js b/classesjs/classe_arvoredecamadas.js index d8e216e..d00cdf7 100644 --- a/classesjs/classe_arvoredecamadas.js +++ b/classesjs/classe_arvoredecamadas.js @@ -1422,6 +1422,11 @@ i3GEO.arvoreDeCamadas = { while(i < nelementos); } }, + /* + Function: verificaAbrangenciaTemas + + Verifica se um tema está ou não na abrangência espacial do mapa atual modificando a cor com que o nome é mostrado na árvore + */ verificaAbrangenciaTemas: function(){ if(typeof(console) !== 'undefined'){console.info("i3GEO.arvoreDeCamadas.verificaAbrangenciaTemas()");} if(i3GEO.arvoreDeCamadas.VERIFICAABRANGENCIATEMAS == false) @@ -1454,5 +1459,35 @@ i3GEO.arvoreDeCamadas = { } } catch(e){} - } + }, + /* + Function: verificaAplicaExtensao + + Verifica se algum tema está marcado com o metadado Aplicaextensao. Retorna a primeira ocorrência se houver + + Return: + + {string} código do tema ou "" + */ + verificaAplicaExtensao: function(){ + if(typeof(console) !== 'undefined'){console.info("i3GEO.arvoreDeCamadas.verificaAplicaExtensao()");} + try{ + var i = 0, + temp = "", + nelementos = i3GEO.arvoreDeCamadas.CAMADAS.length, + ltema; + if (nelementos > 0){ + do{ + ltema = i3GEO.arvoreDeCamadas.CAMADAS[i]; + if(ltema.aplicaextensao == "sim"){ + temp = ltema.name; + } + i++; + } + while(i < nelementos); + } + } + catch(e){return "";} + return temp; + } }; diff --git a/classesjs/classe_i3geo.js b/classesjs/classe_i3geo.js index bc33382..da093fb 100644 --- a/classesjs/classe_i3geo.js +++ b/classesjs/classe_i3geo.js @@ -484,6 +484,12 @@ i3GEO = { i3GEO.navega.entorno.ajustaPosicao(); } i3GEO.ajuda.mostraJanela("Tempo de redesenho em segundos: "+retorno.data.variaveis.tempo,""); + // + //verifica se deve ser feito o zoom em algum tema + // + var temp = i3GEO.arvoreDeCamadas.verificaAplicaExtensao(); + if(temp != "") + {i3GEO.tema.zoom(temp)} } }, /* diff --git a/classesphp/classe_atributos.php b/classesphp/classe_atributos.php index cb61521..1314cdc 100644 --- a/classesphp/classe_atributos.php +++ b/classesphp/classe_atributos.php @@ -1145,7 +1145,7 @@ $listaDeTemas - (opcional) Lista com os códigos dos temas que serão identificado $mapa = desligamargem($mapa); $imgo = $mapa->draw(); - $formatoinfo = "MIME"; + //$formatoinfo = "MIME"; $formatosinfo = $layer->getmetadata("formatosinfo"); if ($formatosinfo != "") { @@ -1157,6 +1157,14 @@ $listaDeTemas - (opcional) Lista com os códigos dos temas que serão identificado {$formatoinfo = "text/plain";} } } + else + { + $formatoinfo = $layer->getmetadata("wms_feature_info_type"); + if($formatoinfo == "") + {$formatoinfo = $layer->getmetadata("wms_feature_info_mime_type");} + if($formatoinfo == "") + {$formatoinfo = "text/plain";} + } /* $srs = $layer->getmetadata("wms_srs"); $srss = explode(" ",$srs); @@ -1193,32 +1201,39 @@ $listaDeTemas - (opcional) Lista com os códigos dos temas que serão identificado } */ $n = array(); - foreach($resposta as $r) + if(strtoupper($formatoinfo) == "TEXT/HTML") { - $t = explode("=",$r); - $v = str_replace("\\n","",$t[1]); - $v = str_replace("\\r","",$v); - if(trim($v) != "") - { - $va = trim($v); - $va = $this->converte($va); - $n[] = array("alias"=>trim($t[0]),"valor"=>$va,"link"=>"","img"=>""); - } + $n[] = array("alias"=>"","valor"=>"","link"=>"","img"=>""); } - //caso esri - if($n[0] == "") + else { - //error_reporting(E_ALL); - $resposta = file($res); - $cabecalho = str_replace('" "','"|"',$resposta[0]); - $cabecalho = explode("|",$cabecalho); - - $linha = str_replace('" "','"|"',$resposta[1]); - $linha = explode("|",$linha); - for($i=0;$i < count($cabecalho);++$i) + foreach($resposta as $r) { - $va = $this->converte($linha[$i]); - $n[] = array("alias"=>$cabecalho[$i],"valor"=>$va,"link"=>"","img"=>""); + $t = explode("=",$r); + $v = str_replace("\\n","",$t[1]); + $v = str_replace("\\r","",$v); + if(trim($v) != "") + { + $va = trim($v); + $va = $this->converte($va); + $n[] = array("alias"=>trim($t[0]),"valor"=>$va,"link"=>"","img"=>""); + } + } + //caso esri + if($n[0] == "") + { + //error_reporting(E_ALL); + $resposta = file($res); + $cabecalho = str_replace('" "','"|"',$resposta[0]); + $cabecalho = explode("|",$cabecalho); + + $linha = str_replace('" "','"|"',$resposta[1]); + $linha = explode("|",$linha); + for($i=0;$i < count($cabecalho);++$i) + { + $va = $this->converte($linha[$i]); + $n[] = array("alias"=>$cabecalho[$i],"valor"=>$va,"link"=>"","img"=>""); + } } } $n[] = array("alias"=>"Link WMS","valor"=>"getfeatureinfo ".$formatoinfo,"link"=>$res,"img"=>""); diff --git a/classesphp/classe_mapa.php b/classesphp/classe_mapa.php index 906c28e..719df5e 100644 --- a/classesphp/classe_mapa.php +++ b/classesphp/classe_mapa.php @@ -231,6 +231,9 @@ string - javascript com os parametros $permitecomentario = "nao"; if($oLayer->getmetadata("nomeoriginal") != "" && strtoupper($oLayer->getmetadata("pemitecomentario")) != "NAO") {$permitecomentario = "sim";} + $aplicaextensao = "nao"; + if(strtoupper($oLayer->getmetadata("aplicaextensao")) == "SIM") + {$aplicaextensao = "sim";} $temas[] = array( "name"=>($oLayer->name), "status"=>($oLayer->status), @@ -252,7 +255,8 @@ string - javascript com os parametros "iconetema"=>($oLayer->getmetadata("iconetema")), "classe"=>($oLayer->getmetadata("classe")), "permitecomentario"=>$permitecomentario, - "exttema"=>$exttema + "exttema"=>$exttema, + "aplicaextensao"=>$aplicaextensao ); } } @@ -924,8 +928,8 @@ $random - indica se os nomes dos novos layers serão modificados ou nao // //verifica se deve ser feito o zoom para o tema // - if(strtolower($l->getmetadata("aplicaextensao")) == "sim") - {$zoomlayer = $nlayer->name;} + //if(strtolower($l->getmetadata("aplicaextensao")) == "sim") + //{$zoomlayer = $nlayer->name;} //reposiciona o layer se for o caso if ($l->group == "") { @@ -955,7 +959,8 @@ $random - indica se os nomes dos novos layers serão modificados ou nao } // //faz o zoom para o tema se for o caso - // + //essa função foi desabilitada + /* if($zoomlayer != "") { $this->salva(); @@ -968,6 +973,7 @@ $random - indica se os nomes dos novos layers serão modificados ou nao // return(false); } + */ return(true); } /* diff --git a/classesphp/classe_temas.php b/classesphp/classe_temas.php index c76e79d..66203dc 100644 --- a/classesphp/classe_temas.php +++ b/classesphp/classe_temas.php @@ -387,6 +387,10 @@ Calcula a extensão geográfica de um tema e ajusta o mapa para essa extensão. } $extatual = $this->mapa->extent; $ret = $this->layer->getmetadata("extensao"); + // + //necessário para evitar que em qualquer redesenho do mapa, seja aplicado o zoom para o tema marcado com aplicaextensao + // + $this->layer->setmetadata("aplicaextensao",""); if($ret == "" && $this->layer->type == MS_LAYER_RASTER) {$ret = "-75.233614607 -33.7515829981 -27.592958622 5.272156";} if ($ret == "") @@ -405,6 +409,7 @@ Calcula a extensão geográfica de um tema e ajusta o mapa para essa extensão. { $ret = explode(" ",$ret); $extatual->setextent($ret[0],$ret[1],$ret[2],$ret[3]); + //echo "oi";exit; } return("ok"); } diff --git a/classesphp/mapa_controle.php b/classesphp/mapa_controle.php index c624661..7377daa 100644 --- a/classesphp/mapa_controle.php +++ b/classesphp/mapa_controle.php @@ -964,7 +964,7 @@ Adiciona um novo tema ao mapa. $m = new Mapa($map_file); $salvar = $m->adicionaTema($temas,$locaplic); if($salvar) - $m->salva(); + {$m->salva();} $retorno = "ok"; if($interface != "openlayers"){ $teste = testaMapa($map_file,$postgis_mapa); diff --git a/ms_criamapa.php b/ms_criamapa.php index ea9cbcc..3ca023c 100644 --- a/ms_criamapa.php +++ b/ms_criamapa.php @@ -567,6 +567,10 @@ function incluiTemasIniciais() {$layern->set("data",$locaplic."/aplicmap/dados/estados.shp");} $layern->setmetadata("NOMEORIGINAL",$layern->name); autoClasses(&$layern,$mapn); + // + //necessário para não alterar a extensão do mapa por esse parâmetro + // + $layern->setmetadata("aplicaextensao",""); ms_newLayerObj(&$mapn, $layern); } } diff --git a/temas/biomashp.map b/temas/biomashp.map index d158f7e..8a3f2a0 100644 --- a/temas/biomashp.map +++ b/temas/biomashp.map @@ -29,6 +29,8 @@ MAP "identifica" "NAO" "editorsql" "" "ltempoitemfim" "" + "extensao" "-44 -23 -39 -21" + "aplicaextensao" "SIM" END NAME "biomashp" STATUS OFF -- libgit2 0.21.2