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; |