Introdução ao Mapserver · Introdução ao Mapserver. SigWeb by João Araujo 2/28 Mapserver ......
Transcript of Introdução ao Mapserver · Introdução ao Mapserver. SigWeb by João Araujo 2/28 Mapserver ......
Introdução ao Mapserver
SigWeb by João Araujo 2/28
Mapserver
● Ambiente de desenvolvimento para construção de aplicações espaciais voltadas para WEB;
● Não é um GIS completo, nem tem este objetivo;● Criado pela Universidade de Minnesota com apoio
da NASA;● http://mapserver.gis.umn.edu;
SigWeb by João Araujo 3/28
Financiamento e pesquisa
● Participação de empresas privadas no projeto;● Grupo de desenvolvedores brasileiros: UNIVALI -
http://mapserver.cttmar.univali.br/
SigWeb by João Araujo 4/28
Formatos Vetoriais suportados
● ESRI shapefiles, ● ESRI ArcSDE, etc;
SigWeb by João Araujo 5/28
Formatos Matriciais (8 bits)
● TIFF/GeoTIFF, ● GIF, PNG, ● ERDAS, ● JPEG e ● EPPL7;
SigWeb by João Araujo 6/28
Características
● Seleção por item/valor, ponto, área ou qualquer feição;
● Suporte a projeções de mapas / projeção em tempo real para mais de 1000 projeções através da biblioteca Proj.4
SigWeb by João Araujo 7/28
Características Técnicas
● Suporte para fontes TrueType;● Legenda e escala automáticas;● Projeção em tempo real;● Integração com o PostGIS;● Projeto de rápida evolução;● Possibilidade de integração com bibliotecas
comerciais para geração de PDF em tempo real;● Possibilidade de geração do formato SWF (Flash).
SigWeb by João Araujo 8/28
Linguagens Suportadas
● PHP● Python● Java● PERL● Ruby● C#
SigWeb by João Araujo 9/28
Plataformas
● Linux● Windows● Mac OS● FreeBSD● Solaris● Outros
SigWeb by João Araujo 10/28
Funcionamento
SigWeb by João Araujo 11/28
Funcionamento (ii)
SigWeb by João Araujo 12/28
Mapa Interativo de Santa Catarina
http://www.mapainterativo.ciasc.gov.br/sc.phtml
SigWeb by João Araujo 13/28
LatinoWare
http://webgeo.pr.gov.br/mapserver/latinoware/
SigWeb by João Araujo 14/28
Como o Mapserver opera?
● A principal função dele é ler dados de várias fontes e juntar estas camadas em um arquivo de imagem.
SigWeb by João Araujo 15/28
O que é uma camada?
● Uma camada pode ser uma imagem de satélite, as fronteiras de um país ou pontos mostrando as maiores cidades.
SigWeb by João Araujo 16/28
Renderizar?
● O processo de renderizar uma imagem ocorre cada vez que é feito um pedido de novo mapa.
● Mesmo um zoom gera este pedido.
SigWeb by João Araujo 17/28
Modos de Operação
● CGI – Mapserver funciona dentro de ambiente de Servidor Web como um script CGI.
● Mapscript – A API do Mapserver é acessível por programas em PERL, Python, PHP...
SigWeb by João Araujo 18/28
Estado
● Mapserver é stateless, isto é, ele não guarda seu estado entre várias chamadas.
SigWeb by João Araujo 19/28
Mapfile e templates HTML
O mapserver é baseado em templates.
SigWeb by João Araujo 20/28
Passo 1
1- Quando é chamado, Mapserver lê um arquivo de configuração (mapfile) que descreve as camadas e outros elementos do mapa.
SigWeb by João Araujo 21/28
Passo 2
2- Ele desenha e salva o mapa.
SigWeb by João Araujo 22/28
Passo 3
3- Depois, ele lê um ou mais templates em HTML.
SigWeb by João Araujo 23/28
Passo 4
4- Cada template consiste de algumas tags HTML e informações para o Mapserver inserir sua informações. O Mapserver substitui os valores e devolve ao servidor web.
SigWeb by João Araujo 24/28
Mapfile
O Mapfile Armazena a configuração usada.Inclui informações sobre 1 – Quais camadas devem ser renderizadas;2 – Onde está o foco geográfico do mapa;3 – Qual projeção está sendo usada;4 – Qual o formato gráfico de saída;5 – Configura o modo como a legenda e a escala
serão usadas.
SigWeb by João Araujo 25/28
Saída do Mapserver
Não apenas o mapa pode ser gerado. O Mapserver gera também:
● Legendas;● Escalas;● Mapas de referência.
SigWeb by João Araujo 26/28
Mapfile simples (.map)MAP SIZE 600 300 EXTENT -180 -90 180 90 LAYER NAME countries TYPE POLYGON STATUS DEFAULT DATA countries.shp CLASS OUTLINECOLOR 100 100 100 END END END
SigWeb by João Araujo 27/28
Template em HTML<HTML> <HEAD><TITLE>MapServer Test</TITLE></HEAD> <CENTER><H2>Teste do Mapserver</H2> <HR> <FORM method=GET action="/cgi-bin/mapserv"> <INPUT NAME="img" TYPE="image" SRC="[img]" width=600
height=300 border=0 ALT="Map Image"> <INPUT type=hidden name=zoomdir value=1 [zoomdir_1_check] > <INPUT type=hidden name=zoomsize size=4 value=[zoomsize]> <INPUT type="hidden" name="imgxy" value="[center_x] center_y]"> <INPUT type="hidden" name="imgext" value="[mapext]"> <INPUT type="hidden" name="map" value="[map]"> <INPUT type="hidden" name="savequery" value="true"> <INPUT type="hidden" name="mapext" value="shapes"> </FORM></CENTER></BODY></HTML>
SigWeb by João Araujo 28/28
FIM