Commit b9002e5ea0580d60bc770ceb8c44fef64014a176

Authored by Edmar Moretti
1 parent 25f52973

Inclusão da grade de coordenadas como parâmetro em ogc.php

Showing 2 changed files with 101 additions and 7 deletions   Show diff stats
ogc.php
... ... @@ -89,6 +89,24 @@ escala - (opcional) mostra a barra de escala no corpo do mapa sim|nao
89 89  
90 90 escala_units - unidade de medida 0 (INCHES)|1 (FEET)|2 (milhas)|3 (METERS)|4 (KILOMETERS)|5 (DD)|6 (NAUTICALMILES)
91 91  
  92 +grade - (opcional) mostra a grade de coordenadas no corpo do mapa sim|nao
  93 +
  94 + Obs.: a grade utiliza como template o mapfile temas/gridg.map
  95 +
  96 + Ao ativar a grade, os seguintes parametros podem ser utilizados para controlar as características:
  97 +
  98 + grade_labelformat - formato dos textos indicativos das coordenadas da grade DD|DDMM|DDMMSS|C format string (mais detalhes em http://mapserver.org/mapfile/grid.html#grid )
  99 +
  100 + grade_interval - intervalo entre as linhas da grade
  101 +
  102 + grade_color - cor RGB da grade. Exemplo: &grade_color=255,0,0
  103 +
  104 + grade_font - fonte (tipogafica) utilizada nos textos (arial, verdana...)
  105 +
  106 + grade_size - tamanho dos textos
  107 +
  108 + grade_position - posicao do texto auto|cc|ul|uc|ur|ll|lc|lr
  109 +
92 110 perfil - (opcional) perfil utilizado para restringir os temas que serão mostrados
93 111  
94 112 format - (opcional) pode ser utilizado a opção &format=application/openlayers para
... ... @@ -130,7 +148,6 @@ ogc.php?tema=/var/www/i3geo/aplicmap/geral1debianv6.map&layers=mundo
130 148 if(count($_GET) == 0){
131 149 echo "<pre>
132 150 Par&acirc;metros:
133   -
134 151 lista - (opcional) se for igual a 'temas', mostra uma lista de links em HTML dos temas dispon&iacute;veis,
135 152 se for igual a 'temaswfs', mostra a lista de links WFS
136 153  
... ... @@ -189,6 +206,24 @@ escala - (opcional) mostra a barra de escala no corpo do mapa sim|nao
189 206  
190 207 escala_units - unidade de medida 0 (INCHES)|1 (FEET)|2 (milhas)|3 (METERS)|4 (KILOMETERS)|5 (DD)|6 (NAUTICALMILES)
191 208  
  209 +grade - (opcional) mostra a grade de coordenadas no corpo do mapa sim|nao
  210 +
  211 + Obs.: a grade utiliza como template o mapfile temas/gridg.map
  212 +
  213 + Ao ativar a grade, os seguintes parametros podem ser utilizados para controlar as características:
  214 +
  215 + grade_labelformat - formato dos textos indicativos das coordenadas da grade DD|DDMM|DDMMSS|C format string (mais detalhes em http://mapserver.org/mapfile/grid.html#grid )
  216 +
  217 + grade_interval - intervalo entre as linhas da grade
  218 +
  219 + grade_color - cor RGB da grade. Exemplo: &grade_color=255,0,0
  220 +
  221 + grade_font - fonte (tipogafica) utilizada nos textos (arial, verdana...)
  222 +
  223 + grade_size - tamanho dos textos
  224 +
  225 + grade_position - posicao do texto auto|cc|ul|uc|ur|ll|lc|lr
  226 +
192 227 perfil - (opcional) perfil utilizado para restringir os temas que ser&atilde;o mostrados
193 228  
194 229 format - (opcional) pode ser utilizado a op&ccedil;&atilde;o &format=application/openlayers para
... ... @@ -595,6 +630,10 @@ else{
595 630 $temai3geo = false;
596 631 $nmap->setmetadata("ows_enable_request","*");
597 632 }
  633 + //inclui o layer com a grade de coordenadas
  634 + if((isset($_GET["grade"])) && (strtolower($_GET["grade"]) == "sim") && file_exists($locaplic."/temas/gridg.map")){
  635 + $listatema[] = "gridg";
  636 + }
598 637 foreach ($listatema as $tx){
599 638 $extensao = ".map";
600 639 if($temai3geo == true && file_exists($locaplic."/temas/".$tx.".php")){
... ... @@ -948,6 +987,12 @@ else{
948 987 if((isset($_GET["escala"])) && (strtolower($_GET["escala"]) == "sim")){
949 988 processaEscala();
950 989 }
  990 + //
  991 + //aplica os parametros sobre a grade de coordenadas
  992 + //
  993 + if((isset($_GET["grade"])) && (strtolower($_GET["grade"]) == "sim")){
  994 + processaGrade();
  995 + }
951 996 $oMap->setSymbolSet($locaplic."/symbols/".basename($oMap->symbolsetfilename));
952 997 $oMap->setFontSet($locaplic."/symbols/".basename($oMap->fontsetfilename));
953 998 //verifica se existem layers com plugin definido e processa conforme o tipo de plugin
... ... @@ -1917,6 +1962,56 @@ function processaLegenda(){
1917 1962 $label->set("size",$_GET["legenda_size"]);
1918 1963 }
1919 1964 }
  1965 +function processaGrade(){
  1966 + global $oMap;
  1967 + //veja o mapfile gridg.map em i3geo/temas
  1968 + $layer = $oMap->getlayerbyname("gridg");
  1969 + if($layer != ""){
  1970 + if(!empty($_GET["grade_labelformat"])){
  1971 + $layer->grid->set("labelformat", $_GET["grade_labelformat"]);
  1972 + }
  1973 + if(!empty($_GET["grade_interval"])){
  1974 + $layer->grid->set("mininterval", $_GET["grade_interval"]);
  1975 + $layer->grid->set("maxinterval", $_GET["grade_interval"]);
  1976 + }
  1977 + $classe = $layer->getclass(0);
  1978 + $estilo = $classe->getstyle(0);
  1979 + $label = $classe->getLabel(0);
  1980 + if(!empty($_GET["grade_position"])){
  1981 + //("MS_AUTO"=>MS_AUTO,"MS_UL"=>MS_UL,"MS_LR"=>MS_LR,"MS_UR"=>MS_UR,"MS_LL"=>MS_LL,
  1982 + //"MS_CR"=>MS_CR,"MS_CL"=>MS_CL,"MS_UC"=>MS_UC,"MS_LC"=>MS_LC,"MS_CC"=>MS_CC);
  1983 + if($_GET["grade_position"] == "auto") $label->set("position",MS_AUTO);
  1984 + if($_GET["grade_position"] == "cc") $label->set("position",MS_CC);
  1985 + if($_GET["grade_position"] == "ul") $label->set("position",MS_UL);
  1986 + if($_GET["grade_position"] == "uc") $label->set("position",MS_UC);
  1987 + if($_GET["grade_position"] == "ur") $label->set("position",MS_UR);
  1988 + if($_GET["grade_position"] == "ll") $label->set("position",MS_LL);
  1989 + if($_GET["grade_position"] == "lc") $label->set("position",MS_LC);
  1990 + if($_GET["grade_position"] == "lr") $label->set("position",MS_LR);
  1991 + }
  1992 + //fonte e size so com truetype
  1993 + if (!empty($_GET["grade_font"])){
  1994 + $label->updatefromstring("LABEL TYPE TRUETYPE END");
  1995 + $label->set("font",$_GET["grade_font"]);
  1996 + }
  1997 + if (!empty($_GET["grade_size"])){
  1998 + $label->updatefromstring("LABEL TYPE TRUETYPE END");
  1999 + if(empty($_GET["grade_font"])){
  2000 + $label->set("font","arial");
  2001 + }
  2002 + $label->set("size",$_GET["grade_size"]);
  2003 + }
  2004 + if(!empty($_GET["grade_color"])){
  2005 + $_GET["grade_color"] = str_replace(","," ",$_GET["grade_color"]);
  2006 + $ncor = explode(" ",$_GET["grade_color"]);
  2007 + $cor = $estilo->color;
  2008 + $cor->setRGB($ncor[0],$ncor[1],$ncor[2]);
  2009 + }
  2010 + }
  2011 + else {
  2012 + echo "Layer gridg nao encontrado"; exit;
  2013 + }
  2014 +}
1920 2015 //utilizada para obter os dados default quando se utiliza o plugin parametrossql
1921 2016 function execProg($prog){
1922 2017 //$retorno variavel deve ser retornada pelo programa $prog
... ...
temas/gridg.map
1 1 MAP
  2 +#utilizado tambem em ogc.php
2 3 FONTSET "../symbols/fontes.txt"
3 4 SYMBOLSET "../symbols/simbolos.sym"
4 5 LAYER
5 6 METADATA
6   - "METAESTAT_ID_MEDIDA_VARIAVEL" ""
7 7 "CACHE" "nao"
8 8 "DESCRIPTION" "Grid"
9 9 "permitekmz" "nao"
10 10 "TILES" "nao"
11   - "METAESTAT_CODIGO_TIPO_REGIAO" ""
12   - "permitedownload" "sim"
13   - "metaestat" ""
14   - "download" "sim"
15   - "permitekml" "sim"
  11 + "permitedownload" "nao"
  12 + "download" "nao"
  13 + "permitekml" "nao"
16 14 "permiteogc" "sim"
17 15 "TEMA" "Grade DMS"
18 16 END # METADATA
  17 + #nao mude o nome desse layer pois e utilizado em ogc.php
19 18 NAME "gridg"
20 19 PROJECTION
21 20 "proj=longlat"
... ...