Commit 8ad52097660fa52c8b6c294251c3fc8c61629acc

Authored by Edmar Moretti
1 parent 49140434

Inclusao de parâmetros para inserir a barra de escalas em requisições getmap em ogc.php

Showing 1 changed file with 119 additions and 1 deletions   Show diff stats
ogc.php
... ... @@ -62,6 +62,32 @@ legenda - (opcional) mostra a legenda no corpo do mapa sim|nao
62 62  
63 63 templateLegenda - (opcional) nome de um template HTML para uso em legendas do tipo text/html. Dever ser o caminho relativo a pasta
64 64 onde o i3Geo esta instalado e deve usar a extensao .htm. Sobre templates, veja a documentacao do Mapserver. exemplo &templateLegenda=aplicmap/legenda8.htm
  65 +
  66 +escala - (opcional) mostra a barra de escala no corpo do mapa sim|nao
  67 +
  68 + Ao ativar a barra dentro do mapa, os seguintes parametros podem ser utilizados para controlar as características:
  69 +
  70 + escala_color - cor RGB dos trechos principais da barra. Exemplo: &escala_color=255,0,0
  71 +
  72 + escala_backgroundcolor - cor dos trechos secundários
  73 +
  74 + escala_outlinecolor - cor do contorno
  75 +
  76 + escala_font - fonte (tipogafica) utilizada nos textos (arial, verdana...)
  77 +
  78 + escala_size - tamanho dos textos
  79 +
  80 + escala_position - posicao da legenda no mapa ul|uc|ur|ll|lc|lr
  81 +
  82 + escala_width - largura da barra em pixels
  83 +
  84 + escala_height - altura da barra em pixels
  85 +
  86 + escala_style - estilo da barra 0|1
  87 +
  88 + escala_intervals - numero de trechos da barra
  89 +
  90 + escala_units - unidade de medida 0 (INCHES)|1 (FEET)|2 (milhas)|3 (METERS)|4 (KILOMETERS)|5 (DD)|6 (NAUTICALMILES)
65 91  
66 92 perfil - (opcional) perfil utilizado para restringir os temas que serão mostrados
67 93  
... ... @@ -137,6 +163,32 @@ legenda - (opcional) mostra a legenda no corpo do mapa sim|nao
137 163 templateLegenda - (opcional) nome de um template HTML para uso em legendas do tipo text/html. Dever ser o caminho relativo a pasta
138 164 onde o i3Geo esta instalado e deve usar a extensao .htm. Sobre templates, veja a documentacao do Mapserver. exemplo &templateLegenda=aplicmap/legenda8.htm
139 165  
  166 +escala - (opcional) mostra a barra de escala no corpo do mapa sim|nao
  167 +
  168 + Ao ativar a barra dentro do mapa, os seguintes parametros podem ser utilizados para controlar as características:
  169 +
  170 + escala_color - cor RGB dos trechos principais da barra. Exemplo: &escala_color=255,0,0
  171 +
  172 + escala_backgroundcolor - cor dos trechos secundários
  173 +
  174 + escala_outlinecolor - cor do contorno
  175 +
  176 + escala_font - fonte (tipogafica) utilizada nos textos (arial, verdana...)
  177 +
  178 + escala_size - tamanho dos textos
  179 +
  180 + escala_position - posicao da legenda no mapa ul|uc|ur|ll|lc|lr
  181 +
  182 + escala_width - largura da barra em pixels
  183 +
  184 + escala_height - altura da barra em pixels
  185 +
  186 + escala_style - estilo da barra 0|1
  187 +
  188 + escala_intervals - numero de trechos da barra
  189 +
  190 + escala_units - unidade de medida 0 (INCHES)|1 (FEET)|2 (milhas)|3 (METERS)|4 (KILOMETERS)|5 (DD)|6 (NAUTICALMILES)
  191 +
140 192 perfil - (opcional) perfil utilizado para restringir os temas que serão mostrados
141 193  
142 194 format - (opcional) pode ser utilizado a opção &format=application/openlayers para
... ... @@ -172,7 +224,8 @@ ogc.php?lista=temas
172 224 ogc.php?tema=bioma
173 225  
174 226 ogc.php?tema=/var/www/i3geo/aplicmap/geral1debianv6.map&layers=mundo
175   -";
  227 +
  228 + ";
176 229 exit;
177 230 }
178 231  
... ... @@ -938,6 +991,71 @@ else{
938 991 $label->set("size",$_GET["legenda_size"]);
939 992 }
940 993 }
  994 + //
  995 + //a imagem do mapa recebera a barra de escala
  996 + //
  997 + if((isset($_GET["escala"])) && (strtolower($_GET["escala"]) == "sim")){
  998 + $eb = $oMap->scalebar;
  999 + $eb->set("status",MS_EMBED);
  1000 + if(!empty($_GET["escala_width"])){
  1001 + $eb->set("width",$_GET["escala_width"]);
  1002 + }
  1003 + if(!empty($_GET["escala_height"])){
  1004 + $eb->set("height",$_GET["escala_height"]);
  1005 + }
  1006 + //0 ou 1
  1007 + if(!empty($_GET["escala_style"])){
  1008 + $eb->set("style",$_GET["escala_style"]);
  1009 + }
  1010 + if(!empty($_GET["escala_intervals"])){
  1011 + $eb->set("intervals",$_GET["escala_intervals"]);
  1012 + }
  1013 + //MS_INCHES, MS_FEET, MS_MILES, MS_METERS, MS_KILOMETERS, MS_DD, MS_PIXELS, MS_NAUTICALMILES
  1014 + if(!empty($_GET["escala_units"])){
  1015 + $eb->set("units",$_GET["escala_units"]);
  1016 + }
  1017 + if(!empty($_GET["escala_color"])){
  1018 + $_GET["escala_color"] = str_replace(","," ",$_GET["escala_color"]);
  1019 + $ncor = explode(" ",$_GET["escala_color"]);
  1020 + $cor = $eb->color;
  1021 + $cor->setRGB($ncor[0],$ncor[1],$ncor[2]);
  1022 + }
  1023 + if(!empty($_GET["escala_backgroundcolor"])){
  1024 + $_GET["escala_backgroundcolor"] = str_replace(","," ",$_GET["escala_backgroundcolor"]);
  1025 + $ncor = explode(" ",$_GET["escala_backgroundcolor"]);
  1026 + $cor = $eb->backgroundcolor;
  1027 + $cor->setRGB($ncor[0],$ncor[1],$ncor[2]);
  1028 + }
  1029 + if(!empty($_GET["escala_outlinecolor"])){
  1030 + $_GET["escala_outlinecolor"] = str_replace(","," ",$_GET["escala_outlinecolor"]);
  1031 + $ncor = explode(" ",$_GET["escala_outlinecolor"]);
  1032 + $cor = $eb->outlinecolor;
  1033 + $cor->setRGB($ncor[0],$ncor[1],$ncor[2]);
  1034 + }
  1035 + //ul|uc|ur|ll|lc|lr
  1036 + if(!empty($_GET["escala_position"])){
  1037 + if($_GET["escala_position"] == "ul") $eb->set("position",MS_UL);
  1038 + if($_GET["escala_position"] == "uc") $eb->set("position",MS_UC);
  1039 + if($_GET["escala_position"] == "ur") $eb->set("position",MS_UR);
  1040 + if($_GET["escala_position"] == "ll") $eb->set("position",MS_LL);
  1041 + if($_GET["escala_position"] == "lc") $eb->set("position",MS_LC);
  1042 + if($_GET["escala_position"] == "lr") $eb->set("position",MS_LR);
  1043 + }
  1044 + //fonte e size so com truetype
  1045 + if (!empty($_GET["escala_font"])){
  1046 + $label = $eb->label;
  1047 + $label->updatefromstring("LABEL TYPE TRUETYPE END");
  1048 + $label->set("font",$_GET["escala_font"]);
  1049 + }
  1050 + if (!empty($_GET["escala_size"])){
  1051 + $label = $eb->label;
  1052 + $label->updatefromstring("LABEL TYPE TRUETYPE END");
  1053 + if(empty($_GET["escala_size"])){
  1054 + $label->set("font","arial");
  1055 + }
  1056 + $label->set("size",$_GET["escala_size"]);
  1057 + }
  1058 + }
941 1059 $oMap->setSymbolSet($locaplic."/symbols/".basename($oMap->symbolsetfilename));
942 1060 $oMap->setFontSet($locaplic."/symbols/".basename($oMap->fontsetfilename));
943 1061 //verifica se existem layers com plugin definido e processa conforme o tipo de plugin
... ...