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,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 |
ogc.php
@@ -744,7 +744,8 @@ else{ | @@ -744,7 +744,8 @@ else{ | ||
744 | $classe->set("name",$l->getmetadata("tema")); | 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 | else{ | 750 | else{ |
750 | //a camada nao pode ser usada como servico WMS, entao e enviada uma mensagem | 751 | //a camada nao pode ser usada como servico WMS, entao e enviada uma mensagem |
temas/gridg.map
1 | MAP | 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 | \ No newline at end of file | 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,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; |