Visualizando um primeiro mapa com MapServer

Publicado: 01/04/2011 em Linux, Programação, Serviços IP
Tags:, ,

Antes de prosseguir neste post, verifique o ambiente criado na instalação do MapServer e a primeira aplicação MapServer que estão em posts anteriores.

1. Criação das pastas básicas


mkdir /home/mapdata/mapas
chown nobody:nogroup /home/mapdata/mapas
chmod 755 /home/mapdata/mapas

2. Criar o arquivo mapfile /home/mapdata/first.map

MAP
# This is our first mapfile
NAME "First"
SIZE 400 300
IMAGECOLOR 255 255 255
IMAGETYPE JPEG
SHAPEPATH "/home/mapdata/mapas/"
EXTENT -185.00 20.00 -65.00 50
WEB
TEMPLATE '/var/www/first.html'
IMAGEPATH '/var/www/tmp/'
IMAGEURL '/tmp/'
END
LAYER
NAME "US States"
STATUS default
TYPE line
DATA "statesp020"
LABELITEM "STATE"
CLASS
STYLE
COLOR 0 0 0
END
LABEL
COLOR 0 0 0
SIZE small
END
END
END
END
END

OBS:
a) o exemplo acima é compatível com MapServer versão 5 ou superior, a partir de março de 2009. Mais detalhes vide MS RFC 56: Tighten control of access to mapfiles and templates e Guia de Migração para MapServer 5. Isso foi parte de um conjunto de medidas de segurança para o funcionamento do MapServer.

b) Com privilégios de administrador, fazer:

# chown nobody:nogroup /home/mapdata/first.map
# chmod 444 /home/mapdata/first.map

3. Baixe os arquivos de dados espaciais utilizados neste post para /home/mapdata/mapas

Os mapas utilizados neste post devem ser baixados de http://nationalatlas.gov/atlasftp.html.

wget -c http://dds.cr.usgs.gov/pub/data/nationalatlas/citiesx020.tar.gz (Cities and Towns)
wget -c http://dds.cr.usgs.gov/pub/data/nationalatlas/roadtrl020.tar.gz (Roads)
wget -c http://dds.cr.usgs.gov/pub/data/nationalatlas/statesp020.tar.gz (State Boundaries)
wget -c http://dds.cr.usgs.gov/pub/data/nationalatlas/hydrogm020.tar.gz (Streams and Waterbodies)
wget -c http://dds.cr.usgs.gov/pub/data/nationalatlas/urbanap020.tar.gz (Urban Areas)

tar -xvzf citiesx020.tar.gz -C /home/mapdata/mapas
tar -xvzf roadtrl020.tar.gz -C /home/mapdata/mapas
tar -xvzf statesp020.tar.gz -C /home/mapdata/mapas
tar -xvzf hydrogm020.tar.gz -C /home/mapdata/mapas
tar -xvzf urbanap020.tar.gz -C /home/mapdata/mapas

4. Criar o arquivo de Inicialização /var/www/first.html

<!-- MapServer Template -->
<!-- o comentário acima é OBRIGATÓRIO na primeira linha deste template MapServer -->
<html>
<head>
<title>MapServer First Map</title>
</head>
<body>
<form method=POST action="/cgi-bin/mapserv">
<input type="submit" value="Click Me"><p></p>
<input type="hidden" name="map" value="/home/mapdata/first.map">
<input type="image" name="img" src="[img]" width="400" height="300" border="0">
</form></body>
</html>

OBS: Com privilégios de administrador, fazer:

# chown www-data:www-data /var/www/first.html
# chmod 644 /var/www/first.html

5. Carregue a página no navegador digitando a URL http://localhost/first.html

Uma imagem como a abaixo irá aparecer.

Agora, clique no botão e uma nova página será gerada como a abaixo.


OBS: esta imagem renderizada estará sendo armazenada em /var/www/tmp

Veja também Criando uma aplicação de mapeamento com camadas com MapServer

Para entender mais:
1- Instalar o MapServer com PHP/MapScript no Debian
2- Executando a primeira aplicação MapServer no Debian
3- Documentação MapServer
4- Exemplo de MapServer Template
5- Variáveis CGI MapServer
6- HTML Templates e Query
7- Livro: Beginning MapServer: open source GIS development

Anúncios

Deixe um comentário, pois isto é muito motivante para continuarmos este trabalho

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s