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