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
Funcionamento SigWeb by João Araujo 10/28
Funcionamento (ii) SigWeb by João Araujo 11/28
Mapa Interativo de Santa Catarina http://www.mapainterativo.ciasc.gov.br/sc.phtml SigWeb by João Araujo 12/28
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
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 27/28
FIM SigWeb by João Araujo 28/28