Commit c0b112415d3ae15780a18a8645a693ea00df7ca0
1 parent
6536aa71
Exists in
master
Correção em bug do Mapserver que não permitia o uso de layers do tipo GRID
Showing
4 changed files
with
80 additions
and
3 deletions
Show diff stats
classesphp/funcoes_gerais.php
@@ -3107,4 +3107,22 @@ function checaLoginIp($lista){ | @@ -3107,4 +3107,22 @@ function checaLoginIp($lista){ | ||
3107 | exit (); | 3107 | exit (); |
3108 | } | 3108 | } |
3109 | } | 3109 | } |
3110 | +// | ||
3111 | +//corrige layers do tipo GRID | ||
3112 | +//bug do mapserver nao permite renderizar grids | ||
3113 | +//essa funcao corrige esse problema | ||
3114 | +// | ||
3115 | +function corrigeLayerGrid($layerOrigem,$layerDestino){ | ||
3116 | + if($layerOrigem->connectiontype == MS_GRATICULE){ | ||
3117 | + ms_newgridobj($layerDestino); | ||
3118 | + $layerDestino->grid->set("labelformat", $layerOrigem->grid->labelformat); | ||
3119 | + $layerDestino->grid->set("mininterval", $layerOrigem->grid->mininterval); | ||
3120 | + $layerDestino->grid->set("maxinterval", $layerOrigem->grid->maxinterval); | ||
3121 | + $layerDestino->grid->set("minsubdivide", $layerOrigem->grid->minsubdivide); | ||
3122 | + $layerDestino->grid->set("maxsubdivide", $layerOrigem->grid->maxsubdivide); | ||
3123 | + $layerDestino->grid->set("minarcs", $layerOrigem->grid->minarcs); | ||
3124 | + $layerDestino->grid->set("maxarcs", $layerOrigem->grid->maxarcs); | ||
3125 | + //$layerDestino->updatefromstring("LAYER GRID LABELFORMAT '" . $layerOrigem->grid->labelformat . "' END END"); | ||
3126 | + } | ||
3127 | +} | ||
3110 | ?> | 3128 | ?> |
ms_criamapa.php
@@ -908,7 +908,8 @@ function incluiTemasIniciais(){ | @@ -908,7 +908,8 @@ function incluiTemasIniciais(){ | ||
908 | $layern->set("status",$statustemp); | 908 | $layern->set("status",$statustemp); |
909 | } | 909 | } |
910 | cloneInlineSymbol($layern,$maptemp,$mapn); | 910 | cloneInlineSymbol($layern,$maptemp,$mapn); |
911 | - ms_newLayerObj($mapn, $layern); | 911 | + $layerAdicionado = ms_newLayerObj($mapn, $layern); |
912 | + corrigeLayerGrid($layern,$layerAdicionado); | ||
912 | } | 913 | } |
913 | } | 914 | } |
914 | 915 |
@@ -0,0 +1,55 @@ | @@ -0,0 +1,55 @@ | ||
1 | +MAP | ||
2 | + FONTSET "../symbols/fontes.txt" | ||
3 | + SYMBOLSET "../symbols/simbolos.sym" | ||
4 | + LAYER | ||
5 | + METADATA | ||
6 | + "METAESTAT_ID_MEDIDA_VARIAVEL" "" | ||
7 | + "CACHE" "nao" | ||
8 | + "DESCRIPTION" "Grid" | ||
9 | + "permitekmz" "nao" | ||
10 | + "TILES" "nao" | ||
11 | + "METAESTAT_CODIGO_TIPO_REGIAO" "" | ||
12 | + "permitedownload" "sim" | ||
13 | + "metaestat" "" | ||
14 | + "download" "sim" | ||
15 | + "permitekml" "sim" | ||
16 | + "permiteogc" "sim" | ||
17 | + "TEMA" "Grade DMS" | ||
18 | + END # METADATA | ||
19 | + NAME "gridg" | ||
20 | + PROJECTION | ||
21 | + "proj=longlat" | ||
22 | + "ellps=WGS84" | ||
23 | + "datum=WGS84" | ||
24 | + "no_defs" | ||
25 | + END # PROJECTION | ||
26 | + STATUS DEFAULT | ||
27 | + TILEITEM "location" | ||
28 | + TYPE LINE | ||
29 | + UNITS METERS | ||
30 | + CLASS | ||
31 | + NAME "Graticule" | ||
32 | + LABEL | ||
33 | + FONT "arial" | ||
34 | + SIZE 8 | ||
35 | + BUFFER 2 | ||
36 | + OFFSET 0 0 | ||
37 | + OUTLINECOLOR 255 255 255 | ||
38 | + PARTIALS FALSE | ||
39 | + POSITION CC | ||
40 | + SHADOWSIZE 1 1 | ||
41 | + TYPE TRUETYPE | ||
42 | + END # LABEL | ||
43 | + STYLE | ||
44 | + COLOR 200 200 200 | ||
45 | + END # STYLE | ||
46 | + END # CLASS | ||
47 | + GRID | ||
48 | + LABELFORMAT "DDMMSS" | ||
49 | + MAXINTERVAL 10 | ||
50 | + MININTERVAL 10 | ||
51 | + END # GRID | ||
52 | + END # LAYER | ||
53 | + | ||
54 | +END # MAP | ||
55 | + |
testamapfile.php
@@ -349,7 +349,10 @@ function verifica($map,$solegenda,$tabela,$cache="sim"){ | @@ -349,7 +349,10 @@ function verifica($map,$solegenda,$tabela,$cache="sim"){ | ||
349 | } | 349 | } |
350 | //pega simbolos locais e aplica no novo mapa | 350 | //pega simbolos locais e aplica no novo mapa |
351 | cloneInlineSymbol($layern,$nmapa,$mapa); | 351 | cloneInlineSymbol($layern,$nmapa,$mapa); |
352 | - ms_newLayerObj($mapa, $layern); | 352 | + |
353 | + $layerAdicionado = ms_newLayerObj($mapa, $layern); | ||
354 | + | ||
355 | + corrigeLayerGrid($layern,$layerAdicionado); | ||
353 | /* | 356 | /* |
354 | if ($layern->data == ""){ | 357 | if ($layern->data == ""){ |
355 | $dados = $layern->connection; | 358 | $dados = $layern->connection; |
@@ -447,7 +450,7 @@ function verifica($map,$solegenda,$tabela,$cache="sim"){ | @@ -447,7 +450,7 @@ function verifica($map,$solegenda,$tabela,$cache="sim"){ | ||
447 | } | 450 | } |
448 | else{ | 451 | else{ |
449 | $mapa = ms_newMapObj($destino); | 452 | $mapa = ms_newMapObj($destino); |
450 | - restauraCon($destino,$postgis_mapa); | 453 | + restauraConObj($mapa,$postgis_mapa); |
451 | $objImagem = @$mapa->draw(); | 454 | $objImagem = @$mapa->draw(); |
452 | //corrige o titulo da legenda | 455 | //corrige o titulo da legenda |
453 | $numlayers = $mapa->numlayers; | 456 | $numlayers = $mapa->numlayers; |