Commit 06b11e588401da641ea603f420c427aa62ff4a77
1 parent
0deb1097
Exists in
master
Inclusão de parâmetros que permitem controlar as características da legenda quan…
…do embutida na funcao getmap em ogc.php
Showing
1 changed file
with
83 additions
and
8 deletions
Show diff stats
ogc.php
@@ -31,8 +31,8 @@ Arquivo: i3geo/ogc.php | @@ -31,8 +31,8 @@ Arquivo: i3geo/ogc.php | ||
31 | 31 | ||
32 | Parâmetros: | 32 | Parâmetros: |
33 | 33 | ||
34 | -lista - (opcional) se for igual a "temas", mostra uma lista de links em HTML dos temas disponíveis, | ||
35 | -se for igual a "temaswfs", mostra a lista de links WFS | 34 | +lista - (opcional) se for igual a 'temas', mostra uma lista de links em HTML dos temas disponíveis, |
35 | +se for igual a 'temaswfs', mostra a lista de links WFS | ||
36 | 36 | ||
37 | ajuda - (opcional) mostra uma ajuda ao usuário | 37 | ajuda - (opcional) mostra uma ajuda ao usuário |
38 | 38 | ||
@@ -40,6 +40,26 @@ tema ou temas - (opcional) nome do tema que será mostrado no servi&ccedil | @@ -40,6 +40,26 @@ tema ou temas - (opcional) nome do tema que será mostrado no servi&ccedil | ||
40 | 40 | ||
41 | legenda - (opcional) mostra a legenda no corpo do mapa sim|nao | 41 | legenda - (opcional) mostra a legenda no corpo do mapa sim|nao |
42 | 42 | ||
43 | + Ao ativar a legenda dentro do mapa, os seguintes parametros podem ser utilizados para controlar as características: | ||
44 | + | ||
45 | + legenda_imagecolor - cor RGB do fundo da legenda. Quando especificado, o mapa deixa de ser transparente. Exemplo: &legenda_imagecolor=255,0,0 | ||
46 | + | ||
47 | + legenda_keysizex - largura da figura de cada classe | ||
48 | + | ||
49 | + legenda_keysizey - altura da figura de cada classe | ||
50 | + | ||
51 | + legenda_keyspacingx - distancia entre a figura e o inicio do texto de cada classe | ||
52 | + | ||
53 | + legenda_keyspacingy - distancia entre as figuras de cada classe | ||
54 | + | ||
55 | + legenda_position - posicao da legenda no mapa ul|uc|ur|ll|lc|lr | ||
56 | + | ||
57 | + legenda_outlinecolor - cor RGB do contorno das figuras de cada classe | ||
58 | + | ||
59 | + legenda_font - fonte (tipogafica) utilizada nos textos (arial, verdana...) | ||
60 | + | ||
61 | + legenda_size - tamanho dos textos | ||
62 | + | ||
43 | templateLegenda - (opcional) nome de um template HTML para uso em legendas do tipo text/html. Dever ser o caminho relativo a pasta | 63 | templateLegenda - (opcional) nome de um template HTML para uso em legendas do tipo text/html. Dever ser o caminho relativo a pasta |
44 | onde o i3Geo esta instalado e deve usar a extensao .htm. Sobre templates, veja a documentacao do Mapserver. exemplo &templateLegenda=aplicmap/legenda8.htm | 64 | onde o i3Geo esta instalado e deve usar a extensao .htm. Sobre templates, veja a documentacao do Mapserver. exemplo &templateLegenda=aplicmap/legenda8.htm |
45 | 65 | ||
@@ -59,7 +79,7 @@ nao deve ser utilizado junto com tema | @@ -59,7 +79,7 @@ nao deve ser utilizado junto com tema | ||
59 | 79 | ||
60 | restauramapa - ID de um mapa salvo no sistema de administracao. O mapa e restaurado e tratado como WMS | 80 | restauramapa - ID de um mapa salvo no sistema de administracao. O mapa e restaurado e tratado como WMS |
61 | 81 | ||
62 | -DESLIGACACHE (opcional) {sim|nao} - forca a nao usar o cache de imagens qd definido como "sim", do contrário, o uso ou não do cache será definido automaticamente | 82 | +DESLIGACACHE (opcional) {sim|nao} - forca a nao usar o cache de imagens qd definido como 'sim', do contrário, o uso ou não do cache será definido automaticamente |
63 | 83 | ||
64 | filtros - filtros podem ser adicionados incluindo o parametro da seguinte forma: &map_layer_<nomedotema>_filter= | 84 | filtros - filtros podem ser adicionados incluindo o parametro da seguinte forma: &map_layer_<nomedotema>_filter= |
65 | 85 | ||
@@ -79,7 +99,16 @@ ogc.php?tema=bioma | @@ -79,7 +99,16 @@ ogc.php?tema=bioma | ||
79 | 99 | ||
80 | ogc.php?tema=/var/www/i3geo/aplicmap/geral1debianv6.map&layers=mundo | 100 | ogc.php?tema=/var/www/i3geo/aplicmap/geral1debianv6.map&layers=mundo |
81 | 101 | ||
82 | -*/ | 102 | +*/ |
103 | + | ||
104 | +if(count($_GET) == 0){ | ||
105 | + echo "<pre> | ||
106 | + | ||
107 | + | ||
108 | +"; | ||
109 | + exit; | ||
110 | +} | ||
111 | + | ||
83 | include(dirname(__FILE__)."/classesphp/sani_request.php"); | 112 | include(dirname(__FILE__)."/classesphp/sani_request.php"); |
84 | include_once (dirname(__FILE__)."/classesphp/carrega_ext.php"); | 113 | include_once (dirname(__FILE__)."/classesphp/carrega_ext.php"); |
85 | include(dirname(__FILE__)."/ms_configura.php"); | 114 | include(dirname(__FILE__)."/ms_configura.php"); |
@@ -425,7 +454,7 @@ else{ | @@ -425,7 +454,7 @@ else{ | ||
425 | $oMap->setmetadata("wms_attribution_logourl_height","56"); | 454 | $oMap->setmetadata("wms_attribution_logourl_height","56"); |
426 | $oMap->setmetadata("wms_attribution_logourl_width","85"); | 455 | $oMap->setmetadata("wms_attribution_logourl_width","85"); |
427 | $oMap->setmetadata("wms_attribution_logourl_href",$urli3geo."/imagens/i3geo.png"); | 456 | $oMap->setmetadata("wms_attribution_logourl_href",$urli3geo."/imagens/i3geo.png"); |
428 | - $oMap->setmetadata("wms_attribution_onlineresource",$urli3geo); | 457 | + $oMap->setmetadata("wms_attribution_onlineresource",$urli3geo); |
429 | $oMap->setmetadata("wms_attribution_title",$tituloInstituicao); | 458 | $oMap->setmetadata("wms_attribution_title",$tituloInstituicao); |
430 | $oMap->setmetadata("ows_enable_request","*"); | 459 | $oMap->setmetadata("ows_enable_request","*"); |
431 | //parametro mandatario | 460 | //parametro mandatario |
@@ -441,7 +470,6 @@ else{ | @@ -441,7 +470,6 @@ else{ | ||
441 | //para o caso do tema ser um arquivo mapfile existente em uma pasta qualquer | 470 | //para o caso do tema ser um arquivo mapfile existente em uma pasta qualquer |
442 | //$temai3geo = true indica que o layer será buscado na pasta i3geo/temas | 471 | //$temai3geo = true indica que o layer será buscado na pasta i3geo/temas |
443 | $temai3geo = true; | 472 | $temai3geo = true; |
444 | - //FIXME nao aceita gvp quando o caminho e completo | ||
445 | if(file_exists($_GET["tema"]) && !isset($_GET["id_medida_variavel"])){ | 473 | if(file_exists($_GET["tema"]) && !isset($_GET["id_medida_variavel"])){ |
446 | $nmap = ms_newMapobj($_GET["tema"]); | 474 | $nmap = ms_newMapobj($_GET["tema"]); |
447 | $temai3geo = false; | 475 | $temai3geo = false; |
@@ -793,7 +821,55 @@ else{ | @@ -793,7 +821,55 @@ else{ | ||
793 | $legenda = $_GET["legenda"]; | 821 | $legenda = $_GET["legenda"]; |
794 | if((isset($legenda)) && (strtolower($legenda) == "sim")){ | 822 | if((isset($legenda)) && (strtolower($legenda) == "sim")){ |
795 | $leg = $oMap->legend; | 823 | $leg = $oMap->legend; |
796 | - $leg->set("status",MS_EMBED); | 824 | + $leg->set("status",MS_EMBED); |
825 | + if(!empty($_GET["legenda_imagecolor"])){ | ||
826 | + $_GET["legenda_imagecolor"] = str_replace(","," ",$_GET["legenda_imagecolor"]); | ||
827 | + $ncor = explode(" ",$_GET["legenda_imagecolor"]); | ||
828 | + $cor = $leg->imagecolor; | ||
829 | + $cor->setRGB($ncor[0],$ncor[1],$ncor[2]); | ||
830 | + $req->setParameter("TRANSPARENT",0); | ||
831 | + } | ||
832 | + if(!empty($_GET["legenda_keysizex"])){ | ||
833 | + $leg->set("keysizex",$_GET["legenda_keysizex"]); | ||
834 | + } | ||
835 | + if(!empty($_GET["legenda_keysizey"])){ | ||
836 | + $leg->set("keysizey",$_GET["legenda_keysizey"]); | ||
837 | + } | ||
838 | + if(!empty($_GET["legenda_keyspacingx"])){ | ||
839 | + $leg->set("keyspacingx",$_GET["legenda_keyspacingx"]); | ||
840 | + } | ||
841 | + //ul|uc|ur|ll|lc|lr | ||
842 | + if(!empty($_GET["legenda_position"])){ | ||
843 | + if($_GET["legenda_position"] == "ul") $leg->set("position",MS_UL); | ||
844 | + if($_GET["legenda_position"] == "uc") $leg->set("position",MS_UC); | ||
845 | + if($_GET["legenda_position"] == "ur") $leg->set("position",MS_UR); | ||
846 | + if($_GET["legenda_position"] == "ll") $leg->set("position",MS_LL); | ||
847 | + if($_GET["legenda_position"] == "lc") $leg->set("position",MS_LC); | ||
848 | + if($_GET["legenda_position"] == "lr") $leg->set("position",MS_LR); | ||
849 | + } | ||
850 | + if(!empty($_GET["legenda_keyspacingy"])){ | ||
851 | + $leg->set("keyspacingy",$_GET["legenda_keyspacingy"]); | ||
852 | + } | ||
853 | + if(!empty($_GET["legenda_outlinecolor"])){ | ||
854 | + $_GET["legenda_outlinecolor"] = str_replace(","," ",$_GET["legenda_outlinecolor"]); | ||
855 | + $ncor = explode(" ",$_GET["legenda_outlinecolor"]); | ||
856 | + $cor = $leg->outlinecolor; | ||
857 | + $cor->setRGB($ncor[0],$ncor[1],$ncor[2]); | ||
858 | + } | ||
859 | + //fonte e size so com truetype | ||
860 | + if (!empty($_GET["legenda_font"])){ | ||
861 | + $label = $leg->label; | ||
862 | + $label->updatefromstring("LABEL TYPE TRUETYPE END"); | ||
863 | + $label->set("font",$_GET["legenda_font"]); | ||
864 | + } | ||
865 | + if (!empty($_GET["legenda_size"])){ | ||
866 | + $label = $leg->label; | ||
867 | + $label->updatefromstring("LABEL TYPE TRUETYPE END"); | ||
868 | + if(empty($_GET["legenda_font"])){ | ||
869 | + $label->set("font","arial"); | ||
870 | + } | ||
871 | + $label->set("size",$_GET["legenda_size"]); | ||
872 | + } | ||
797 | } | 873 | } |
798 | $oMap->setSymbolSet($locaplic."/symbols/".basename($oMap->symbolsetfilename)); | 874 | $oMap->setSymbolSet($locaplic."/symbols/".basename($oMap->symbolsetfilename)); |
799 | $oMap->setFontSet($locaplic."/symbols/".basename($oMap->fontsetfilename)); | 875 | $oMap->setFontSet($locaplic."/symbols/".basename($oMap->fontsetfilename)); |
@@ -1223,7 +1299,6 @@ function carregaCacheImagem($cachedir,$map,$tms){ | @@ -1223,7 +1299,6 @@ function carregaCacheImagem($cachedir,$map,$tms){ | ||
1223 | $nome = $cachedir.$tms; | 1299 | $nome = $cachedir.$tms; |
1224 | } | 1300 | } |
1225 | $nome = str_replace(".png","",$nome).".png"; | 1301 | $nome = str_replace(".png","",$nome).".png"; |
1226 | - //TODO verificar esses cabecalhos e comparar com geoserver | ||
1227 | if(file_exists($nome)){ | 1302 | if(file_exists($nome)){ |
1228 | ob_clean(); | 1303 | ob_clean(); |
1229 | //header('Content-Length: '.filesize($nome)); | 1304 | //header('Content-Length: '.filesize($nome)); |