Commit b9002e5ea0580d60bc770ceb8c44fef64014a176
1 parent
25f52973
Exists in
master
and in
7 other branches
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âmetros: |
133 | - | |
134 | 151 | lista - (opcional) se for igual a 'temas', mostra uma lista de links em HTML dos temas disponí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ão mostrados |
193 | 228 | |
194 | 229 | format - (opcional) pode ser utilizado a opçã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" | ... | ... |