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){ | ... | ... |