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