Commit c0b112415d3ae15780a18a8645a693ea00df7ca0

Authored by Edmar Moretti
1 parent 6536aa71
Exists in master

Correção em bug do Mapserver que não permitia o uso de layers do tipo GRID

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  
... ...
temas/gridg.map 0 → 100755
... ... @@ -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 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;
... ...