Commit 4aba93f7c6a560f60761f29715be68d6beafabb2
1 parent
c0b11241
Exists in
master
Inclusão da grade de coordenadas como parâmetro em ogc.php
Showing
2 changed files
with
99 additions
and
2 deletions
Show diff stats
classesphp/classe_mapa.php
ogc.php
| @@ -89,6 +89,24 @@ escala - (opcional) mostra a barra de escala no corpo do mapa sim|nao | @@ -89,6 +89,24 @@ escala - (opcional) mostra a barra de escala no corpo do mapa sim|nao | ||
| 89 | 89 | ||
| 90 | escala_units - unidade de medida 0 (INCHES)|1 (FEET)|2 (milhas)|3 (METERS)|4 (KILOMETERS)|5 (DD)|6 (NAUTICALMILES) | 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 | perfil - (opcional) perfil utilizado para restringir os temas que serão mostrados | 110 | perfil - (opcional) perfil utilizado para restringir os temas que serão mostrados |
| 93 | 111 | ||
| 94 | format - (opcional) pode ser utilizado a opção &format=application/openlayers para | 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,7 +148,6 @@ ogc.php?tema=/var/www/i3geo/aplicmap/geral1debianv6.map&layers=mundo | ||
| 130 | if(count($_GET) == 0){ | 148 | if(count($_GET) == 0){ |
| 131 | echo "<pre> | 149 | echo "<pre> |
| 132 | Parâmetros: | 150 | Parâmetros: |
| 133 | - | ||
| 134 | lista - (opcional) se for igual a 'temas', mostra uma lista de links em HTML dos temas disponíveis, | 151 | lista - (opcional) se for igual a 'temas', mostra uma lista de links em HTML dos temas disponíveis, |
| 135 | se for igual a 'temaswfs', mostra a lista de links WFS | 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,6 +206,24 @@ escala - (opcional) mostra a barra de escala no corpo do mapa sim|nao | ||
| 189 | 206 | ||
| 190 | escala_units - unidade de medida 0 (INCHES)|1 (FEET)|2 (milhas)|3 (METERS)|4 (KILOMETERS)|5 (DD)|6 (NAUTICALMILES) | 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 | perfil - (opcional) perfil utilizado para restringir os temas que serão mostrados | 227 | perfil - (opcional) perfil utilizado para restringir os temas que serão mostrados |
| 193 | 228 | ||
| 194 | format - (opcional) pode ser utilizado a opção &format=application/openlayers para | 229 | format - (opcional) pode ser utilizado a opção &format=application/openlayers para |
| @@ -595,6 +630,10 @@ else{ | @@ -595,6 +630,10 @@ else{ | ||
| 595 | $temai3geo = false; | 630 | $temai3geo = false; |
| 596 | $nmap->setmetadata("ows_enable_request","*"); | 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 | foreach ($listatema as $tx){ | 637 | foreach ($listatema as $tx){ |
| 599 | $extensao = ".map"; | 638 | $extensao = ".map"; |
| 600 | if($temai3geo == true && file_exists($locaplic."/temas/".$tx.".php")){ | 639 | if($temai3geo == true && file_exists($locaplic."/temas/".$tx.".php")){ |
| @@ -744,7 +783,8 @@ else{ | @@ -744,7 +783,8 @@ else{ | ||
| 744 | $classe->set("name",$l->getmetadata("tema")); | 783 | $classe->set("name",$l->getmetadata("tema")); |
| 745 | } | 784 | } |
| 746 | } | 785 | } |
| 747 | - ms_newLayerObj($oMap, $l); | 786 | + $layerAdicionado = ms_newLayerObj($oMap, $l); |
| 787 | + corrigeLayerGrid($l,$layerAdicionado); | ||
| 748 | } | 788 | } |
| 749 | else{ | 789 | else{ |
| 750 | //a camada nao pode ser usada como servico WMS, entao e enviada uma mensagem | 790 | //a camada nao pode ser usada como servico WMS, entao e enviada uma mensagem |
| @@ -947,6 +987,12 @@ else{ | @@ -947,6 +987,12 @@ else{ | ||
| 947 | if((isset($_GET["escala"])) && (strtolower($_GET["escala"]) == "sim")){ | 987 | if((isset($_GET["escala"])) && (strtolower($_GET["escala"]) == "sim")){ |
| 948 | processaEscala(); | 988 | processaEscala(); |
| 949 | } | 989 | } |
| 990 | + // | ||
| 991 | + //aplica os parametros sobre a grade de coordenadas | ||
| 992 | + // | ||
| 993 | + if((isset($_GET["grade"])) && (strtolower($_GET["grade"]) == "sim")){ | ||
| 994 | + processaGrade(); | ||
| 995 | + } | ||
| 950 | $oMap->setSymbolSet($locaplic."/symbols/".basename($oMap->symbolsetfilename)); | 996 | $oMap->setSymbolSet($locaplic."/symbols/".basename($oMap->symbolsetfilename)); |
| 951 | $oMap->setFontSet($locaplic."/symbols/".basename($oMap->fontsetfilename)); | 997 | $oMap->setFontSet($locaplic."/symbols/".basename($oMap->fontsetfilename)); |
| 952 | //verifica se existem layers com plugin definido e processa conforme o tipo de plugin | 998 | //verifica se existem layers com plugin definido e processa conforme o tipo de plugin |
| @@ -1916,6 +1962,56 @@ function processaLegenda(){ | @@ -1916,6 +1962,56 @@ function processaLegenda(){ | ||
| 1916 | $label->set("size",$_GET["legenda_size"]); | 1962 | $label->set("size",$_GET["legenda_size"]); |
| 1917 | } | 1963 | } |
| 1918 | } | 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 | +} | ||
| 1919 | //utilizada para obter os dados default quando se utiliza o plugin parametrossql | 2015 | //utilizada para obter os dados default quando se utiliza o plugin parametrossql |
| 1920 | function execProg($prog){ | 2016 | function execProg($prog){ |
| 1921 | //$retorno variavel deve ser retornada pelo programa $prog | 2017 | //$retorno variavel deve ser retornada pelo programa $prog |