João Araujo
Dr. en Informatique, Université de Versailles, França.

View page as slide show

Mapfile no Mapserver

João Araujo Ribeiro

Pós-Graduação em Engenharia de Computação - Geomática

Para ver esta apresentação em slides, clique no ícone acima à direita da página

Criando um mapfile simples

MAP                         # Início do objeto MAP 
  SIZE 600 300 
  EXTENT -180 -90 180 90 
  LAYER                     # Início do objeto LAYER 
    NAME countries 
    TYPE POLYGON 
    STATUS DEFAULT 
    DATA countries_simpl 
    CLASS                   # Início do objeto CLASS 
      STYLE                 # Início do objeto STYLE 
        OUTLINECOLOR 100 100 100 
      END                   # Fim do objeto STYLE 
    END                     # Fim do objeto CLASS 
  END                       # Fim do objeto LAYER  
END                         # Fim do objeto MAP e do mapfile

Estrutura de um mapfile

Estrutura de um mapfile

Mapfile

  • Comentários iniciam com #
  • Identação é opcional, mas recomendável,
  • Não é sensível ao case, mas uma boa prática é colocar as palavras-chave em maiúsculas (LAYER) e os valores em minúsculas.

Criando seu primeiro mapa

shp2img -m global1.map -o meumapa.png -i PNG

opções de formato são JPEG, PNG e GIF.

Resultado

Resultado primeiro mapfile

Acrescentando labels

MAP                         
  SIZE 600 300 
  EXTENT -180 -90 180 90 
  LAYER                      
    NAME countries 
    TYPE POLYGON 
    STATUS DEFAULT 
    DATA countries_simpl 
    LABELITEM 'NAME'	   # acrescenta label a partir de NAME
    CLASS                    
      STYLE                  
        OUTLINECOLOR 100 100 100 
      END                   
      LABEL         	   # limita a colocar labels em feições com o mínimo de 
        MINFEATURESIZE 40  # 40 pixels de extensão
      END
    END                     
  END                         
END

Resultado

Resultado segundo mapfile

Escolhendo um país

Com o ogr2img podemos usar a opção -e para escolher uma extensão diferente da determinada no mapfile. Para sabermos a posição exata, podemos usar o ogr2ogr para extrair e informação necessária sobre o país que queremos.

Posição da Bulgária

ogr2ogr -where “name='Bulgaria'” bulgaria.shp countries_simpl.shp

ogrinfo bulgaria.shp -al -summary

e obtemos a posição da Bulgária:
Extent: (22.371639, 41.242084) - (28.609278, 44.217640)

Resultado

shp2img -m global2.map -o bulgaria.png -e 22.371639 41.242084 28.609278 44.217640

Resultado com Bulgária

Para mostrar mais países em torno

shp2img -m global2.map -o bulgariaviz.png -e 19 39 31 46 -i PNG

Resultado com vizinhos

Resultado de Bulgária com Vizinhos

Mapfile com cores

<columns>

MAP   
  SIZE 600 300 
  EXTENT -180 -90 180 90 
  IMAGECOLOR 180 180 250 
  LAYER 
    NAME countries 
    TYPE POLYGON 
    STATUS DEFAULT 
    DATA countries_simpl 
    LABELITEM 'NAME' 
   CLASSITEM 'NAME' 
    CLASS 
      EXPRESSION 'Bulgaria'

NEWCOL

      STYLE 
        OUTLINECOLOR 100 100 100
        COLOR 255 255 150 
      END 
      LABEL 
        SIZE LARGE 
        MINFEATURESIZE 40 
      END 
    END 
    CLASS 
      EXPRESSION ('[NAME]' ne 'Bulgaria') 
      STYLE 
        OUTLINECOLOR 100 100 100
         COLOR 200 200 200 
      END 
    END 
  END 
END

</columns>

Resultado com cores

Resultado Bulgária com cores

Criando uma legenda para o mapa

<columns>

MAP   
  SIZE 600 300 
  EXTENT -180 -90 180 90 
  IMAGECOLOR 180 180 250 
  LEGEND 
    STATUS EMBED 
    POSITION LR 
    TRANSPARENT TRUE 
  END

NEWCOL

    CLASS 
      NAME 'Bulgária' 
      EXPRESSION 'Bulgaria' 
      ...
    END 
    CLASS 
      NAME 'Outros Países' 
      EXPRESSION ('[NAME]' ne 'Bulgaria') 
      ...
    END

</columns>

Resultado com legenda

Resultado Bulgária com legenda

Criando legendas separadas

legend global.map legend.png

Legenda

Adicionando uma barra de escala

MAP   
  SIZE 600 300 
  EXTENT -180 -90 180 90 
  IMAGECOLOR 180 180 250 
  UNITS DD 
  SCALEBAR 
    STATUS EMBED 
    UNITS KILOMETERS 
    INTERVALS 3 
    TRANSPARENT TRUE 
    OUTLINECOLOR 0 0 0 
  END 
...

Resultado com escala

Resultado com barra de escala

Escala separada

scalebar global5.map scalebar.png

Barra de Escala

Formatos de Saída

O mapserver pode gerar outros formatos de saída, além do PNG.

MAP   
  SIZE 600 300 
  EXTENT -180 -90 180 90 
  IMAGECOLOR 180 180 250 
  IMAGETYPE JPEG 
  UNITS DD 
...

Exercício

Faça o mesmo para o mapa do Brasil:

  1. Extraia a informação do arquivo original.
  2. Obtenha o mapa do Brasil
  3. Desenhe também alguns vizinhos
  4. Faça um mapa colorido. Tente outras cores.
  5. Coloque uma legenda e uma escala.
  6. Crie um arquivo final com todos os elementos e salve em jpeg, gif e png e compare os resultados.

Fim

pratica_do_mapfile.txt · Última modificação: 19/05/2009 21:21:21 (edição externa)
geomatica Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0