Commit 8e10e956bc6d8a119cf99c578a2eca87facb5c99

Authored by Edmar Moretti
1 parent 1f727bfd

--no commit message

admin/admin.db
No preview for this file type
admin/php/classe_metaestat.php
... ... @@ -487,7 +487,7 @@ class Metaestat{
487 487 * @param valor de opacidade do layer
488 488 * @return array("mapfile"=>,"layer"=>,"titulolayer"=>)
489 489 */
490   - function mapfileMedidaVariavel($id_medida_variavel,$filtro="",$todasascolunas = 0,$tipolayer="polygon",$titulolayer="",$id_classificacao="",$agruparpor="",$codigo_tipo_regiao="",$opacidade=""){
  490 + function mapfileMedidaVariavel($id_medida_variavel,$filtro="",$todasascolunas = 0,$tipolayer="polygon",$titulolayer="",$id_classificacao="",$agruparpor="",$codigo_tipo_regiao="",$opacidade="",$suportaWMST = false){
491 491 //para permitir a inclusao de filtros, o fim do sql e marcado com /*FW*//*FW*/
492 492 //indicando onde deve comecar e terminar uma possivel clausula where
493 493 //ou com /*FA*//*FA*/
... ... @@ -548,7 +548,10 @@ class Metaestat{
548 548 else{
549 549 $titulolayer = mb_convert_encoding($sql["titulo"],"ISO-8859-1",mb_detect_encoding($sql["titulo"]));
550 550 }
551   -
  551 + //pega os parametros caso seja um mapfile para WMS-time
  552 + if($suportaWMST == true){
  553 + $resolucao = $this->listaResolucaoWMST($id_medida_variavel);
  554 + }
552 555 $dados[] = "MAP";
553 556 $dados[] = 'SYMBOLSET "'.$this->locaplic.'/symbols/simbolosv6.sym"';
554 557 $dados[] = 'FONTSET "'.$this->locaplic.'/symbols/fontes.txt"';
... ... @@ -1696,13 +1699,20 @@ class Metaestat{
1696 1699 $sql .= "ORDER BY bancodedados,host,usuario";
1697 1700 return $this->execSQL($sql,$codigo_estat_conexao);
1698 1701 }
  1702 + function listaResolucaoWMST($id_medida_variavel){
  1703 + $parametros = $this->listaParametro($id_medida_variavel,"","",true);
  1704 + //faz o sql para pegar os valores e definir a resolucao
  1705 +
  1706 + //se for apenas do tipo anual
  1707 + }
1699 1708 /**
1700 1709 * Lista os dados de um ou de todos os parametros relacionados a uma medida de variavel
1701 1710 * @param id da medida de variavel
1702 1711 * @param id do parametro
1703 1712 * @param id do pai (se definido, lista apenas os filhos deste)
  1713 + * @param bool indica se apenas parametros do tipo temporal serao retornados
1704 1714 */
1705   - function listaParametro($id_medida_variavel,$id_parametro_medida="",$id_pai=""){
  1715 + function listaParametro($id_medida_variavel,$id_parametro_medida="",$id_pai="",$apenasTempo=false){
1706 1716 $sql = "SELECT i3geoestat_parametro_medida.*,i3geoestat_medida_variavel.* ";
1707 1717 $sql .= "FROM ".$this->esquemaadmin."i3geoestat_parametro_medida ";
1708 1718 $sql .= "INNER JOIN ".$this->esquemaadmin."i3geoestat_medida_variavel ";
... ... @@ -1719,6 +1729,13 @@ class Metaestat{
1719 1729 if($id_pai != ""){
1720 1730 $sql .= " AND id_pai = $id_pai";
1721 1731 }
  1732 + if($apenasTempo == true){
  1733 + $tempo = " i3geoestat_parametro_medida.tipo > 0 AND i3geoestat_parametro_medida.tipo < 5 ";
  1734 + if($id_pai != ""){
  1735 + $sql .= " AND ";
  1736 + }
  1737 + $sql .= $tempo;
  1738 + }
1722 1739 //echo $sql;exit;
1723 1740 return $this->execSQL($sql,$id_parametro_medida);
1724 1741 }
... ...
ogc.php
... ... @@ -46,6 +46,9 @@ perfil - (opcional) perfil utilizado para restringir os temas que ser&amp;atilde;o m
46 46  
47 47 format - (opcional) pode ser utilizado a op&ccedil;&atilde;o &format=application/openlayers para abrir o mashup do OpenLayers com as camadas definida em temas
48 48  
  49 +id_medida_variavel - id da medida de variavel - utilizado apenas quando a fonte para definicao do layer for o sistema de metadados estatisticos
  50 + nao deve ser utilizado junto com tema
  51 +
49 52 Exemplos:
50 53  
51 54 ogc.php?temas=biomashp&format=application/openlayers&bbox=-54,-14,-50,-10
... ... @@ -151,6 +154,10 @@ if(count($_GET) == 0){
151 154 $req->setParameter("SERVICE", "WMS");
152 155 $cache = false;
153 156 }
  157 +//define um nome para o mapfile caso a origem seja o sistema de metadados estatisticos
  158 +if(isset($id_medida_variavel)){
  159 + $tema = "ogcmetaestat".$id_medida_variavel;
  160 +}
154 161 if(isset($tema) && $tipo != "metadados"){
155 162 $tipo = "";
156 163 }
... ... @@ -213,18 +220,29 @@ else{
213 220 //$temai3geo = true indica que o layer ser&aacute; buscado na pasta i3geo/temas
214 221 $temai3geo = true;
215 222 //FIXME não aceita gvp quando o caminho é completo
216   - if(file_exists($_GET["tema"])){
  223 + if(file_exists($_GET["tema"]) && !isset($id_medida_variavel)){
217 224 $nmap = ms_newMapobj($_GET["tema"]);
218 225 $temai3geo = false;
219 226 $nmap->setmetadata("ows_enable_request","*");
220 227 }
221 228 foreach ($tema as $tx){
222 229 $extensao = ".map";
223   - if(file_exists($locaplic."/temas/".$tx.".php") && $temai3geo == true){
224   - $extensao = ".php";
  230 + //cria o mapfile com base no sistema de metadados estatisticos
  231 + if(isset($id_medida_variavel)){
  232 + $temai3geo = false;
  233 + include("admin/php/classe_metaestat.php");
  234 + $m = new Metaestat();
  235 + $m->nomecache = "ogcmetaestat".$id_medida_variavel;
  236 + $mapfileMetaestat = mapfileMedidaVariavel($id_medida_variavel,"",1,"","","","","","",true);
  237 + $nmap = ms_newMapobj($mapfileMetaestat["mapfile"]);
225 238 }
226   - if(file_exists($locaplic."/temas/".$tx.".gvp") && $temai3geo == true){
227   - $extensao = ".gvp";
  239 + else{
  240 + if(file_exists($locaplic."/temas/".$tx.".php") && $temai3geo == true){
  241 + $extensao = ".php";
  242 + }
  243 + if(file_exists($locaplic."/temas/".$tx.".gvp") && $temai3geo == true){
  244 + $extensao = ".gvp";
  245 + }
228 246 }
229 247 if($extensao == ".map"){
230 248 if($temai3geo == true){
... ...