Commit 8e10e956bc6d8a119cf99c578a2eca87facb5c99
1 parent
1f727bfd
Exists in
master
and in
7 other branches
--no commit message
Showing
3 changed files
with
43 additions
and
8 deletions
Show diff stats
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&atilde;o m |
| 46 | 46 | |
| 47 | 47 | format - (opcional) pode ser utilizado a opçã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á 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){ | ... | ... |