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,7 +487,7 @@ class Metaestat{ | ||
487 | * @param valor de opacidade do layer | 487 | * @param valor de opacidade do layer |
488 | * @return array("mapfile"=>,"layer"=>,"titulolayer"=>) | 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 | //para permitir a inclusao de filtros, o fim do sql e marcado com /*FW*//*FW*/ | 491 | //para permitir a inclusao de filtros, o fim do sql e marcado com /*FW*//*FW*/ |
492 | //indicando onde deve comecar e terminar uma possivel clausula where | 492 | //indicando onde deve comecar e terminar uma possivel clausula where |
493 | //ou com /*FA*//*FA*/ | 493 | //ou com /*FA*//*FA*/ |
@@ -548,7 +548,10 @@ class Metaestat{ | @@ -548,7 +548,10 @@ class Metaestat{ | ||
548 | else{ | 548 | else{ |
549 | $titulolayer = mb_convert_encoding($sql["titulo"],"ISO-8859-1",mb_detect_encoding($sql["titulo"])); | 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 | $dados[] = "MAP"; | 555 | $dados[] = "MAP"; |
553 | $dados[] = 'SYMBOLSET "'.$this->locaplic.'/symbols/simbolosv6.sym"'; | 556 | $dados[] = 'SYMBOLSET "'.$this->locaplic.'/symbols/simbolosv6.sym"'; |
554 | $dados[] = 'FONTSET "'.$this->locaplic.'/symbols/fontes.txt"'; | 557 | $dados[] = 'FONTSET "'.$this->locaplic.'/symbols/fontes.txt"'; |
@@ -1696,13 +1699,20 @@ class Metaestat{ | @@ -1696,13 +1699,20 @@ class Metaestat{ | ||
1696 | $sql .= "ORDER BY bancodedados,host,usuario"; | 1699 | $sql .= "ORDER BY bancodedados,host,usuario"; |
1697 | return $this->execSQL($sql,$codigo_estat_conexao); | 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 | * Lista os dados de um ou de todos os parametros relacionados a uma medida de variavel | 1709 | * Lista os dados de um ou de todos os parametros relacionados a uma medida de variavel |
1701 | * @param id da medida de variavel | 1710 | * @param id da medida de variavel |
1702 | * @param id do parametro | 1711 | * @param id do parametro |
1703 | * @param id do pai (se definido, lista apenas os filhos deste) | 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 | $sql = "SELECT i3geoestat_parametro_medida.*,i3geoestat_medida_variavel.* "; | 1716 | $sql = "SELECT i3geoestat_parametro_medida.*,i3geoestat_medida_variavel.* "; |
1707 | $sql .= "FROM ".$this->esquemaadmin."i3geoestat_parametro_medida "; | 1717 | $sql .= "FROM ".$this->esquemaadmin."i3geoestat_parametro_medida "; |
1708 | $sql .= "INNER JOIN ".$this->esquemaadmin."i3geoestat_medida_variavel "; | 1718 | $sql .= "INNER JOIN ".$this->esquemaadmin."i3geoestat_medida_variavel "; |
@@ -1719,6 +1729,13 @@ class Metaestat{ | @@ -1719,6 +1729,13 @@ class Metaestat{ | ||
1719 | if($id_pai != ""){ | 1729 | if($id_pai != ""){ |
1720 | $sql .= " AND id_pai = $id_pai"; | 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 | //echo $sql;exit; | 1739 | //echo $sql;exit; |
1723 | return $this->execSQL($sql,$id_parametro_medida); | 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,6 +46,9 @@ perfil - (opcional) perfil utilizado para restringir os temas que ser&atilde;o m | ||
46 | 46 | ||
47 | format - (opcional) pode ser utilizado a opção &format=application/openlayers para abrir o mashup do OpenLayers com as camadas definida em temas | 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 | Exemplos: | 52 | Exemplos: |
50 | 53 | ||
51 | ogc.php?temas=biomashp&format=application/openlayers&bbox=-54,-14,-50,-10 | 54 | ogc.php?temas=biomashp&format=application/openlayers&bbox=-54,-14,-50,-10 |
@@ -151,6 +154,10 @@ if(count($_GET) == 0){ | @@ -151,6 +154,10 @@ if(count($_GET) == 0){ | ||
151 | $req->setParameter("SERVICE", "WMS"); | 154 | $req->setParameter("SERVICE", "WMS"); |
152 | $cache = false; | 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 | if(isset($tema) && $tipo != "metadados"){ | 161 | if(isset($tema) && $tipo != "metadados"){ |
155 | $tipo = ""; | 162 | $tipo = ""; |
156 | } | 163 | } |
@@ -213,18 +220,29 @@ else{ | @@ -213,18 +220,29 @@ else{ | ||
213 | //$temai3geo = true indica que o layer será buscado na pasta i3geo/temas | 220 | //$temai3geo = true indica que o layer será buscado na pasta i3geo/temas |
214 | $temai3geo = true; | 221 | $temai3geo = true; |
215 | //FIXME não aceita gvp quando o caminho é completo | 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 | $nmap = ms_newMapobj($_GET["tema"]); | 224 | $nmap = ms_newMapobj($_GET["tema"]); |
218 | $temai3geo = false; | 225 | $temai3geo = false; |
219 | $nmap->setmetadata("ows_enable_request","*"); | 226 | $nmap->setmetadata("ows_enable_request","*"); |
220 | } | 227 | } |
221 | foreach ($tema as $tx){ | 228 | foreach ($tema as $tx){ |
222 | $extensao = ".map"; | 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 | if($extensao == ".map"){ | 247 | if($extensao == ".map"){ |
230 | if($temai3geo == true){ | 248 | if($temai3geo == true){ |