Mapserver Servidor de Mapas

Slides:



Advertisements
Apresentações semelhantes
GEOINFO 2004 Mecanismos para intercâmbio de dados geográficos através de Web Services Valéria Gonçalves Soares Michael Schuenck dos.
Advertisements

Encontro Computação em Nuvem
Proposta de uma Biblioteca Digital para Trabalhos Monográficos do Departamento de Computação da Universidade Federal de Ouro Preto Gustavo Henrique Braz.
PostGis PostgreSql + GIS
Implementação de um Sistema de Informações Georeferenciado (Geoufes) Utilizando Bibliotecas de Software Livres em Java Aluno: Geraldo Angelo Vassoler Orientador:
Desenvolvimento Baseado em CGI Material cedido pelo Prof
Introdução aos Serviços Web
Interação Cliente Servidor
Iana Alexandra Alves Rufino (UAEC/CTRN/UFCG)
Iana Alexandra Alves Rufino (PPGECA/CTRN/UFCG)
Ferramentas CASE ERwin
Material III-Bimestre Wagner Santos C. de Jesus
MAPServer Caio Nakashima.
FUNDAMENTOS DE SOFTWARE
WebWork e JSP Keven andrade
Sistemas Embarcados com Linux
Tecnologias para Internet
O Portal do Estudante de Computação
Curso EFA de técnico de Informática e Sistemas
OPENJUMP UNIVERSIDADE FEDERAL DE CAMPINA GRANDE
Software Livre - Ubuntu
Camada de Transporte: Portas, Sockets, Aplicações em Rede
I3GeoSaúde Visão geral.
Introdução ao ArcGIS Iana Alexandra A. Rufino
Remodelando a solução mais eficaz
Arquitetura e Linguagens
Fundamentos de Engenharia de SW
Universidade Federal de Campina Grande
Mapas na Web com Mapserver
Estratégias Cliente-Servidor para SIGWeb
Programação para estrutura Cliente-Servidor
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Rodrigo Cristiano Silva
Open Source Software Alexandre João Petetim Leal Ferreira Comunicação e Profissão 2004/2005 Departamento de Engenharia Informática Universidade de Coimbra.
iColabora Solução web para gestão de processos de negócios
É um conjunto de registos dispostos numa estrutura regular que possibilita a reorganização dos mesmos e a produção de informação com a menor redundância.
Mini - projecto Páginas Web Dinâmicas – Porquê?
Programação de SCRIPTS
ACESSO A BASE DE DADOS.
Tecnologia da Informação
Conceitos de J2EE para a WEB
ASP (Active Server Pages)
Prof. Alexandre Monteiro Recife
Professor: Márcio Amador
Etapas para Desenvolvimento de Base DevInfo 6.0. OBJETIVOS Orientar a criação de bases de dados para utilização no sistema DevInfo. Antes de iniciar o.
UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO BÁSICO DE KOSMO
Definição A rigor, tudo o que pode ser armazenado eletronicamente pode ser chamado de software. Consideraremos aqui, como software, apenas os conjuntos.
Faculdade de Tecnologia SENAI de Desenvolvimento Gerencial
Luiz Antonio Torres, Maio/2014
Tecnologias Web Prof. Msc. Juliano Gomes Weber Tecnologias Web Notas de Aula – Aula 02 1º Semestre UNIJUÍ.
Arquitetura de Desenvolvimento Web MVC vs. Three Tiers
A abordagem de banco de dados para gerenciamento de dados
PROGRAMAÇÃO WEB AULA 01 Prof. Gustavo Linhares
Unidade 1 – Introdução a J2EE Prof.: Henrique Santos
SQLite Banco de Dados II.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Introdução ao Roteamento e ao Encaminhamento de Pacotes Protocolos.
O que são, quais existem e suas características.
Sistemas de Informações Geográficas: História e Definições
Redes de computadores: Aplicações Prof. Dr. Amine BERQIA
Daniel Epstein. O que é o GOOGLE WAVE Como funciona Nomenclatura Principais APIs Principais Extensões Robots Gadgets Embed API Sumário.
Linguagens de Programação
“O homem é um animal utilizador de ferramentas... Sem ferramentas ele não é nada, com ferramentas ele é tudo”. Thomas Carlyle.
Serviços de rede e internet Jackson Eduardo da Silva.
Elvia Nunes Ribeiro - CEFET-GO –
Programação para Web I AULA 2 BANCO DE DADOS.
Desenvolvimento WEB II Ajax – Utilização de Frameworks Javascript Professora: Kelly de Paula Cunha.
Aula 2 INTRODUÇÃO AO QGIS
Capítulo 14 Camada 6 A Camada de Apresentação. Sumário A Camada de Apresentação.
UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO CURSO DE CIÊNCIA DA COMPUTAÇÃO Redes de Computadores Ferramenta NTop (Network Traffic Probe) Explorador.
Programa de Pós-Graduação Stricto sensu – Mestrado Profissional - Uso Sustentável de Recursos Naturais em Regiões Tropicais, ITV-DS, Belém, 11 de Março.
Transcrição da apresentação:

Mapserver Servidor de Mapas João Araujo

Por que fazer mapas? Mapas têm tido papel prepoderante nas atividades humanas por milhares de anos. Desde o início, mapas eram usados para mostrar onde as coisas estavam. O mundo consiste de coisas que têm uma relação espacial com outra. Um mapa é um modelo que contém uma representação das coisas no mundo.

Era de ouro dos mapas Corresponde à época das explorações. Mapas eram a chave para a riqueza. As ferramentas desta era foram o compasso, o sextante e os relógios precisos. As pessoas desenhavam e coloriam seus mapas à mão. Análise e criação de mapas era algo lento e trabalhoso.

Próxima era de ouro... Mapas digitais, Sistemas de Informações Geográficas e Serviços Baseados em Localização representam a próxima era de ouro. Suas ferramentas são os computadores, a Internet e o Sistema de Posicionamento Global (GPS)

Mapas Digitais Mapas digitais fornecem um meio eficiente e prático de criação de imagens gráficas. Por causa disso, podem ser dinâmicos e criados em tempo real. Mapas digitais, porém, não garantem qualidade. Dados podem ser usados erroneamente, resultando em mapas com erros ou conteúdo questionável.

Estímulos Mapas digitais foram impulsionados pela necessidade da indústria (por exemplo, mineração), gestores de recursos naturais, pesquisadores, etc... Com o surgimento da Internet e o barateamento do hardware, mapas digitais se tornaram inevitáveis.

Aplicações Mapas do tempo. Instruções de direção no trânsito, obtidas por meio de GPS. Sites que fornecem mapas sob demanda.

O Poder dos Mapas Digitais Criação de mapas convencionais: Observação e transposição para o papel do mundo real. Se uma feição muda, outro mapa deve ser criado. Criação de mapas digitais Feições armazenadas em diferentes camadas. Um mapa pode ser redesenhado sem recomeçar do zero. Uma vez modificada esta camada, o mapa também está atualizado instantaneamente.

Criador de Mapas Digitais Em vez de se concentrar nos detalhes de uma área particular do globo, ele pode se concentrar em como apresentar melhor a informação.

Dificuldades na Criação de Mapas Digitais

1 - Mapas personalizados Um conhecimento pessoal, em vez de um conhecimento geral, é o que faz um mapa útil para alguém.

2 - Barreiras Tecnológicas Custo de programas usados para a criação de mapas pode ser proibitivo. Programas de Código Aberto permitem diminuir este custo. Interoperabilidade é a capacidade que um programa tem de compartilhar dados com outro programa. Uso de Padrões Abertos. Conhecimento Técnico sobre as ferramentas para Internet.

Diferentes Formas de Uso da Internet para Criação de Mapas Um modo efetivo de dispor mapas para um público não especializado é a Web. As aplicações podem ser de dois tipos: Estáticas Dinâmicas

Mapas Estáticos Basta apenas conhecer os rudimentos de html para colocar um mapa estático na Web.

Mapas Dinâmicos O usuário pode interagir com o mapa, requisitando novas visões do dado geográfico. Necessitam de um programa baseado na Web.

Servidor Web e de Mapas O usuário envia pedido de mapa ao servidor Web. O Servidor Web passa o pedido para o servidor de mapas. O Servidor de Mapas calcula e monta o mapa requisitado. O mapa é enviado ao navegador do usuário.

Fluxo da Informação

Tipos de Usuários Provedores de Serviço Usuários Finais

Exemplos http://mapsherpa.com/tsunami/

http://topozone.com/

http://www.dnr.state.mn.us/maps/

Outros http://www.trailscanada.com http://www.mapitout.com/restaurants http://www.gommap.org/ http://www.mapsherpa.com/hawaii2/ http://mesonet.tamu.edu/ http://spatialguru.com/maps/apps/global

Para fazer um site com serviço de mapas precisamos: Um computador Conexão com a Internet Um servidor Web Um servidor de mapas para Web Informações geográficas Metadados sobre os mapas.

Como Fazer Mapas Digitais? Todo mapa tem um propósito. Ferramentas computacionais permitem coletar e interagir com os dados. Este dado é usado para criar mapas. Também pode ser usado para gerar outros dados ou fazer estatísticas. O mesmo dado pode ser aplicado em diferentes projetos.

Mapa resultante

Tarefas Comuns na Criação de Mapas Observações quantificadas. Localização dos pontos de observação. Visualização destes pontos no mapa.

Dificuldades Dados confiáveis Dependência de ferramentas Digitais Como conferir resultados computacionais? Formatos de dados, por vezes incompatíveis entre si. Uso das ferramentas corretas.

Identificando os Tipos de Tarefas do Projeto

1 - Visualização e Mapeamento Ver e mapear não são necessariamente a mesma coisa. Algumas aplicações têm por objetivo apenas a visualização do dado geográfico. Outras são voltados para a produção de mapas que podem até ser impressos.

2 - Análise Apenas ver não é o objetivo final de um projeto. Algum tipo de análise é necessária para melhorar o entendimento dos dados geográficos. Ex: Classificação de Dados, Cálculo de Proximidade Espacial e Estatística.

3 - Criação e Manipulação Digitalização Uso de ferramentas SIG sobre os dados digitalizados.

4 - Conversão Certos dados devem estar sob um formato de arquivo determinado. Pode levar a uma dependência a um fabricante. Open Geospatial Consortium (OGC)

5 - Compartilhamento Compartilhamento de mapas através de aplicações na Web. Uso de especificações de serviços web para compartilhar dados entre aplicações. O uso dos padrões de serviços Web OGC (OWS) permite o compartilhamento de dados.

5-1 Mapas feito a partir de diversos servidores remotos usando OWS

Mapserver

Imagine que você tem que criar um mapa a partir das seguintes fontes: Shapefiles ESRI Arquivos Intergraph Microstation design (DGN) Arquivos MapInfo TAB Bancos de Dados Espaciais ORACLE Arquivos GML Padrões OGC Bancos de Dados Espaciais PostGIS.

Mapserver pode ser a solução Suporta vários formatos. Pode ser usado em várias plataformas de hardware e Sistema Operacional. Tem código aberto: você pode modificá-lo. Nativamente, Mapserver suporta formatos ESRI Shapefile e Geotiff. Com a biblioteca GDAL, suporta mais de 40 outros formatos raster.

Geospatial Data Abstraction Library (GDAL) Biblioteca de tradução de formatos de dados geo-espaciais raster; A aplicação que usa a GDAL tem acesso aos mais de 40 formatos de dados, conseqüentemente, o desenvolvedor não precisa desenvolver rotinas para cada tipo de formato. Possui alguns utilitários pré-compilados que permitem a manipulação de dados diretamente pelo usuário.

Interface de Programação GDAL A API de GDAL permite acessar dados raster a partir de programas usando C, C++ e Python. Com o Simplified Wrapper and Interface Generator (SWIG) você pode criar interfaces para Perl, Java, C#, Tcl 8.0, Java, JavaScript, Eiffel, PHP,Guile, Ruby, Mzscheme, Ocaml, Pike, Allegro CL, Modula-3, Lua, CLISP, Common Lisp

Utilitários GDAL gdalinfo – info sobre um arquivo raster; gdal_translate – traduz imagens entre formatos e também redimensiona; gdalwarp – Transforma imagem para outra projeção; gdal_merge.py – Pega várias imagens e as junta em uma única imagem.

OGR Simple Features Library Biblioteca C++ que permite leitura e, às vezes, escrita em arquivos de imagens vetoriais. Ex: ESRI Shapefiles, S-57, SDTS, PostGIS, Oracle Spatial Format. Pode ser usada uma querie SQL. O nome OGR é mantido porque está no código.

Utilitários OGR ogrinfo – Informação sobre imagem vetorial; ogr2ogr – conversão entre formatos.

PostGIS PostgreSQL é um potente banco de dados relacional; O PostGIS estende o PostgreSQL permitindo o armazenamento de dados geográficos.

OpenEV Visualizador de imagens raster ou vetoriais. Também permite alguma manipulação.

Sumário

Sites GDAL, OGR e OpenEV são parte do FWTools PostGIS: http://www.refractions.net

Vamos falar de Software Livre.

Software Livre x Freeware Uso sem custo; Acesso ao código-fonte com possibilidade de alteração; Normalmente possui uma comunidade mantendo (desenvolvendo) o código. Uso sem custo; Não se tem acesso ao código-fonte; Normalmente a empresa disponibiliza o Freeware visando alguma estratégia comercial.

Software Livre x Código Aberto "Open Source é uma metodologia de desenvolvimento, enquanto Software Livre é um movimento social".

SL: 4 liberdades Liberdade de execução do programa com qualquer finalidade. Liberdade para estudar o programa e adaptá-lo à sua necessidade. - Requisito: - acesso ao código-fonte; Liberdade para redistribuir cópias do software. Liberdade para aperfeiçoar o programa e liberar os seus aperfeiçoamentos. - Requisito: - acesso ao código-fonte;

Vantagens do SL Redução do custo de licenciamento; Aplicações são customizadas para as necessidades do cliente; Questões podem ser resolvidas internamente; Grande e participativa comunidade de usuários.

Licença GPL (GNU General Public License) Efeito contaminante:

Especificações OpenGIS

Simple Features – SQL (SFS) Define especificações para modelagem do API (application programming interface) que possibilite publicar, armazenar, acessar e fazer operações sobre “feições simples” (ponto, linha, polígono, etc). Estas normas definem como os dados devem ser estruturados com base no SQL.

Web Map Service (WMS) Define 4 protocolos (GetCapabilities, GetMap, GetFeatureInfo e DescribeLayer) que permitem a leitura de múltiplas camadas de informações (layers) georreferenciadas contendo vetores e/ou imagens. Esta conexão permite somente consulta de dados.

Web Feature Service (WFS) Define operações para manipulação de “feições simples”, permitindo que o cliente e o servidor se comuniquem no nível de feição. Na prática, isto significa que este padrão estabelece não somente a possibilidade de consulta aos dados, mas também a possibilidade de escrita dos mesmos.

Geography Markup Language (GML) Padrão baseado no XML desenvolvido para permitir o transporte e armazenamento de informações geográficas.

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; Participação de empresas privadas no projeto; Grupo de desenvolvedores brasileiros: UNIVALI - http://mapserver.cttmar.univali.br/

Características Técnicas (i) Formatos vetoriais suportados: ESRI shapefiles, EsRI ArcSDE, etc; Formatos matriciais suportados (8 bits): TIFF/GeoTIFF, GIF, PNG, ERDAS, JPEG e EPPL7; 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

Características Técnicas (ii) 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).

Linguagens Suportadas PHP Python Java PERL Ruby C#

Plataformas Linux Windows Mac OS FreeBSD Solaris Outros

Funcionamento

Funcionamento (ii)

Mapa Interativo de Santa Catarina http://www.mapainterativo.ciasc.gov.br/sc.phtml

LatinoWare http://webgeo.pr.gov.br/mapserver/latinoware/

Como o Mapserver opera? A principal função dele é ler dados de várias fontes e juntar estas camadas em um arquivo de imagem. Uma camada pode ser uma imagem de satélite, as fronteiras de um país ou pontos mostrando as maiores cidades. O processo de renderizar uma imagem ocorre cada vez que é feito um pedido de novo mapa. Mesmo um zoom gera este pedido.

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

Estado Mapserver é stateless, isto é, ele não guarda seu estado entre várias chamadas.

Mapfile e templates HTML O mapserver é baseado em templates. 1- Quando é chamado, Mapserver lê um arquivo de configuração (mapfile) que descreve as camadas e outros elementos do mapa. 2- Ele desenha e salva o mapa. 3- Depois, ele lê um ou mais templates em HTML. 4- Cada template consiste de algumas tags HTML e informações para o Maserver inserir sua informações. Mapserver substitui os valores e devolve ao servidor web.

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.

Saída do Mapserver Não apenas o mapa pode ser gerado. Mapserver gera também: Legendas; Escalas; Mapas de referência.

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

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>

FIM