Commit 25f529736aeb7373cb81e8a3dc86cba784768c07
1 parent
835d1872
Exists in
master
and in
7 other branches
Correção em bug do Mapserver que não permitia o uso de layers do tipo GRID
Showing
7 changed files
with
82 additions
and
36 deletions
Show diff stats
admin/admin.db
No preview for this file type
classesphp/classe_mapa.php
classesphp/funcoes_gerais.php
... | ... | @@ -3107,4 +3107,22 @@ function checaLoginIp($lista){ |
3107 | 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 | 908 | $layern->set("status",$statustemp); |
909 | 909 | } |
910 | 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 | ... | ... |
ogc.php
... | ... | @@ -744,7 +744,8 @@ else{ |
744 | 744 | $classe->set("name",$l->getmetadata("tema")); |
745 | 745 | } |
746 | 746 | } |
747 | - ms_newLayerObj($oMap, $l); | |
747 | + $layerAdicionado = ms_newLayerObj($oMap, $l); | |
748 | + corrigeLayerGrid($l,$layerAdicionado); | |
748 | 749 | } |
749 | 750 | else{ |
750 | 751 | //a camada nao pode ser usada como servico WMS, entao e enviada uma mensagem | ... | ... |
temas/gridg.map
1 | 1 | MAP |
2 | -SYMBOLSET ../symbols/simbolosv6.sym | |
3 | -FONTSET "../symbols/fontes.txt" | |
4 | -LAYER | |
5 | - NAME "gridg" | |
6 | - METADATA | |
7 | - "DESCRIPTION" "Grid" | |
8 | - "TEMA" "Grade" | |
9 | - END | |
10 | - TYPE LINE | |
11 | - STATUS DEFAULT | |
12 | - CLASS | |
13 | - NAME "Graticule" | |
14 | - COLOR 0 0 0 | |
15 | - LABEL | |
16 | - COLOR 255 0 0 | |
17 | - FONT "arial" | |
18 | - TYPE truetype | |
19 | - SIZE 8 | |
20 | - POSITION AUTO | |
21 | - PARTIALS FALSE | |
22 | - BUFFER 2 | |
23 | - OUTLINECOLOR 255 255 255 | |
24 | - END | |
25 | - END | |
26 | - PROJECTION | |
27 | - "init=epsg:4326" | |
28 | - END | |
29 | - GRID | |
30 | - LABELFORMAT "DD" | |
31 | - END | |
32 | -END # Layer | |
33 | -END | |
34 | 2 | \ No newline at end of file |
3 | + FONTSET "../symbols/fontes.txt" | |
4 | + SYMBOLSET "../symbols/simbolos.sym" | |
5 | + LAYER | |
6 | + METADATA | |
7 | + "METAESTAT_ID_MEDIDA_VARIAVEL" "" | |
8 | + "CACHE" "nao" | |
9 | + "DESCRIPTION" "Grid" | |
10 | + "permitekmz" "nao" | |
11 | + "TILES" "nao" | |
12 | + "METAESTAT_CODIGO_TIPO_REGIAO" "" | |
13 | + "permitedownload" "sim" | |
14 | + "metaestat" "" | |
15 | + "download" "sim" | |
16 | + "permitekml" "sim" | |
17 | + "permiteogc" "sim" | |
18 | + "TEMA" "Grade DMS" | |
19 | + END # METADATA | |
20 | + NAME "gridg" | |
21 | + PROJECTION | |
22 | + "proj=longlat" | |
23 | + "ellps=WGS84" | |
24 | + "datum=WGS84" | |
25 | + "no_defs" | |
26 | + END # PROJECTION | |
27 | + STATUS DEFAULT | |
28 | + TILEITEM "location" | |
29 | + TYPE LINE | |
30 | + UNITS METERS | |
31 | + CLASS | |
32 | + NAME "Graticule" | |
33 | + LABEL | |
34 | + FONT "arial" | |
35 | + SIZE 8 | |
36 | + BUFFER 2 | |
37 | + OFFSET 0 0 | |
38 | + OUTLINECOLOR 255 255 255 | |
39 | + PARTIALS FALSE | |
40 | + POSITION CC | |
41 | + SHADOWSIZE 1 1 | |
42 | + TYPE TRUETYPE | |
43 | + END # LABEL | |
44 | + STYLE | |
45 | + COLOR 200 200 200 | |
46 | + END # STYLE | |
47 | + END # CLASS | |
48 | + GRID | |
49 | + LABELFORMAT "DDMMSS" | |
50 | + MAXINTERVAL 10 | |
51 | + MININTERVAL 10 | |
52 | + END # GRID | |
53 | + END # LAYER | |
54 | + | |
55 | +END # MAP | |
56 | + | ... | ... |
testamapfile.php
... | ... | @@ -349,7 +349,10 @@ function verifica($map,$solegenda,$tabela,$cache="sim"){ |
349 | 349 | } |
350 | 350 | //pega simbolos locais e aplica no novo mapa |
351 | 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 | 357 | if ($layern->data == ""){ |
355 | 358 | $dados = $layern->connection; |
... | ... | @@ -447,7 +450,7 @@ function verifica($map,$solegenda,$tabela,$cache="sim"){ |
447 | 450 | } |
448 | 451 | else{ |
449 | 452 | $mapa = ms_newMapObj($destino); |
450 | - restauraCon($destino,$postgis_mapa); | |
453 | + restauraConObj($mapa,$postgis_mapa); | |
451 | 454 | $objImagem = @$mapa->draw(); |
452 | 455 | //corrige o titulo da legenda |
453 | 456 | $numlayers = $mapa->numlayers; | ... | ... |