4.2 Mapfile no Mapserver · 2009-06-03 · 4.2.3 Mapfile com cores MAP SIZE 600 300 EXTENT -180 -90...

23
4.2 Mapfile no Mapserver João Araujo

Transcript of 4.2 Mapfile no Mapserver · 2009-06-03 · 4.2.3 Mapfile com cores MAP SIZE 600 300 EXTENT -180 -90...

Page 1: 4.2 Mapfile no Mapserver · 2009-06-03 · 4.2.3 Mapfile com cores MAP SIZE 600 300 EXTENT -180 -90 180 90 IMAGECOLOR 180 180 250 LAYER NAME countries TYPE POLYGON STATUS DEFAULT

4.2 Mapfile no Mapserver

João Araujo

Page 2: 4.2 Mapfile no Mapserver · 2009-06-03 · 4.2.3 Mapfile com cores MAP SIZE 600 300 EXTENT -180 -90 180 90 IMAGECOLOR 180 180 250 LAYER NAME countries TYPE POLYGON STATUS DEFAULT

4.2.1 Criando um mapfile simplesMAP # 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

Page 3: 4.2 Mapfile no Mapserver · 2009-06-03 · 4.2.3 Mapfile com cores MAP SIZE 600 300 EXTENT -180 -90 180 90 IMAGECOLOR 180 180 250 LAYER NAME countries TYPE POLYGON STATUS DEFAULT

Estrutura de um mapfile

Page 4: 4.2 Mapfile no Mapserver · 2009-06-03 · 4.2.3 Mapfile com cores MAP SIZE 600 300 EXTENT -180 -90 180 90 IMAGECOLOR 180 180 250 LAYER NAME countries TYPE POLYGON STATUS DEFAULT

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.●

Page 5: 4.2 Mapfile no Mapserver · 2009-06-03 · 4.2.3 Mapfile com cores MAP SIZE 600 300 EXTENT -180 -90 180 90 IMAGECOLOR 180 180 250 LAYER NAME countries TYPE POLYGON STATUS DEFAULT

Criando seu primeiro mapa

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

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

Page 6: 4.2 Mapfile no Mapserver · 2009-06-03 · 4.2.3 Mapfile com cores MAP SIZE 600 300 EXTENT -180 -90 180 90 IMAGECOLOR 180 180 250 LAYER NAME countries TYPE POLYGON STATUS DEFAULT

Resultado

Page 7: 4.2 Mapfile no Mapserver · 2009-06-03 · 4.2.3 Mapfile com cores MAP SIZE 600 300 EXTENT -180 -90 180 90 IMAGECOLOR 180 180 250 LAYER NAME countries TYPE POLYGON STATUS DEFAULT

4.2.2 Acrescentando labelsMAP 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

Page 8: 4.2 Mapfile no Mapserver · 2009-06-03 · 4.2.3 Mapfile com cores MAP SIZE 600 300 EXTENT -180 -90 180 90 IMAGECOLOR 180 180 250 LAYER NAME countries TYPE POLYGON STATUS DEFAULT

Resultado

Page 9: 4.2 Mapfile no Mapserver · 2009-06-03 · 4.2.3 Mapfile com cores MAP SIZE 600 300 EXTENT -180 -90 180 90 IMAGECOLOR 180 180 250 LAYER NAME countries TYPE POLYGON STATUS DEFAULT

Escolhendo um paísCom 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.> 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)

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

Page 10: 4.2 Mapfile no Mapserver · 2009-06-03 · 4.2.3 Mapfile com cores MAP SIZE 600 300 EXTENT -180 -90 180 90 IMAGECOLOR 180 180 250 LAYER NAME countries TYPE POLYGON STATUS DEFAULT

Resultado

Page 11: 4.2 Mapfile no Mapserver · 2009-06-03 · 4.2.3 Mapfile com cores MAP SIZE 600 300 EXTENT -180 -90 180 90 IMAGECOLOR 180 180 250 LAYER NAME countries TYPE POLYGON STATUS DEFAULT

Para mostrar mais países em torno

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

Page 12: 4.2 Mapfile no Mapserver · 2009-06-03 · 4.2.3 Mapfile com cores MAP SIZE 600 300 EXTENT -180 -90 180 90 IMAGECOLOR 180 180 250 LAYER NAME countries TYPE POLYGON STATUS DEFAULT

Resultado com vizinhos

Page 13: 4.2 Mapfile no Mapserver · 2009-06-03 · 4.2.3 Mapfile com cores MAP SIZE 600 300 EXTENT -180 -90 180 90 IMAGECOLOR 180 180 250 LAYER NAME countries TYPE POLYGON STATUS DEFAULT

4.2.3 Mapfile com coresMAP 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' 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

Page 14: 4.2 Mapfile no Mapserver · 2009-06-03 · 4.2.3 Mapfile com cores MAP SIZE 600 300 EXTENT -180 -90 180 90 IMAGECOLOR 180 180 250 LAYER NAME countries TYPE POLYGON STATUS DEFAULT

Resultado com cores

Page 15: 4.2 Mapfile no Mapserver · 2009-06-03 · 4.2.3 Mapfile com cores MAP SIZE 600 300 EXTENT -180 -90 180 90 IMAGECOLOR 180 180 250 LAYER NAME countries TYPE POLYGON STATUS DEFAULT

4.2.4 Criando uma legenda para o mapa

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

... CLASS NAME 'Bulgaria' EXPRESSION 'Bulgaria' STYLE OUTLINECOLOR 100 100 100 COLOR 255 255 150 END LABEL SIZE LARGE MINFEATURESIZE 40 END END CLASS NAME 'Outros Países' EXPRESSION ('[NAME]' ne 'Bulgaria') ...

Page 16: 4.2 Mapfile no Mapserver · 2009-06-03 · 4.2.3 Mapfile com cores MAP SIZE 600 300 EXTENT -180 -90 180 90 IMAGECOLOR 180 180 250 LAYER NAME countries TYPE POLYGON STATUS DEFAULT

Resultado com legenda

Page 17: 4.2 Mapfile no Mapserver · 2009-06-03 · 4.2.3 Mapfile com cores MAP SIZE 600 300 EXTENT -180 -90 180 90 IMAGECOLOR 180 180 250 LAYER NAME countries TYPE POLYGON STATUS DEFAULT

Criando legendas separadas

legend global.map legend.png

Page 18: 4.2 Mapfile no Mapserver · 2009-06-03 · 4.2.3 Mapfile com cores MAP SIZE 600 300 EXTENT -180 -90 180 90 IMAGECOLOR 180 180 250 LAYER NAME countries TYPE POLYGON STATUS DEFAULT

4.2.5 Adicionando uma barra de escalaMAP 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 LEGEND STATUS EMBED ...

Page 19: 4.2 Mapfile no Mapserver · 2009-06-03 · 4.2.3 Mapfile com cores MAP SIZE 600 300 EXTENT -180 -90 180 90 IMAGECOLOR 180 180 250 LAYER NAME countries TYPE POLYGON STATUS DEFAULT

Resultado com escala

Page 20: 4.2 Mapfile no Mapserver · 2009-06-03 · 4.2.3 Mapfile com cores MAP SIZE 600 300 EXTENT -180 -90 180 90 IMAGECOLOR 180 180 250 LAYER NAME countries TYPE POLYGON STATUS DEFAULT

Escala separada

scalebar global5.map scalebar.png

Page 21: 4.2 Mapfile no Mapserver · 2009-06-03 · 4.2.3 Mapfile com cores MAP SIZE 600 300 EXTENT -180 -90 180 90 IMAGECOLOR 180 180 250 LAYER NAME countries TYPE POLYGON STATUS DEFAULT

4.2.6 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 ...

Page 22: 4.2 Mapfile no Mapserver · 2009-06-03 · 4.2.3 Mapfile com cores MAP SIZE 600 300 EXTENT -180 -90 180 90 IMAGECOLOR 180 180 250 LAYER NAME countries TYPE POLYGON STATUS DEFAULT

Exercício

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

Page 23: 4.2 Mapfile no Mapserver · 2009-06-03 · 4.2.3 Mapfile com cores MAP SIZE 600 300 EXTENT -180 -90 180 90 IMAGECOLOR 180 180 250 LAYER NAME countries TYPE POLYGON STATUS DEFAULT

Fim