1 / 103

MAPServer

MAPServer. Caio Nakashima. Webmapping. é uma técnica para visualização de dados geográficos através de aplicações web (Internet/Intranet). Dependendo do tipo da aplicação, pode-se eventualmente inferir nos dados geográficos através da própria interface web.

Download Presentation

MAPServer

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MAPServer Caio Nakashima

  2. Webmapping • é uma técnica para visualização de dados geográficos através de aplicações web (Internet/Intranet). Dependendo do tipo da aplicação, pode-se eventualmente inferir nos dados geográficos através da própria interface web. • é uma alternativa de consulta de informações, que eventualmente pode se tornar muito poderosa se combinada à metodologias como Relatórios e Gráficos. • não é um SIG( Sistema de Informação Geográfica)

  3. Vantagens • aplicações mais fáceis de se utilizar • independência de plataforma: basta um navegador para acessar a aplicação • mobilidade do usuário: o usuário só precisa de uma estação com navegador e acesso à web. Não precisa de uma estação fixa • centralização de dados: as informações ficam centralizadas no servidor • interoperabilidade: aplicações web podem interagir com sistemas desktop ou outros sistemas web

  4. Desvantagens • dependendo da conexão à Internet utilizada, o desempenho pode não ser tão ágil como normalmente são aplicações acessando dados locais • operações de processamento pesado de dados, normalmente não são possíveis em ambiente

  5. SIG

  6. SIG • Um Sistema de Informação Geográfica (SIG ou GIS - Geographic Information System, do acrônimo inglês) é um sistema de hardware, software, informação espacial e procedimentos computacionais, que permite e facilita a análise, gestão ou representação do espaço e dos fenômenos que nele ocorrem.

  7. Exemplo SIG • Um exemplo bem conhecido de um protoSIG é o trabalho desenvolvido pelo Dr. John Snow em 1854 para situar a fonte causadora de um surto de cólera na zona do Soho em Londres, cartografando os casos detectados. • Esse protoSIG permitiu a Snow localizar com precisão um poço de água contaminado como fonte causadora do surto.

  8. Exemplo WEB Mapping

  9. Navegador web: este é o software de interface de usuário. Por meio de um navegador - como FireFox, Konqueror, Internet Explorer, Netscape Navigator ou Opera – o usuário acessa um endereço que contém a aplicação Web; • O servidor web, como o Apache ou IIS é o software responsável pela publicação de textos, arquivos HTML, imagens e hyperlinks em uma conexão web;

  10. Motor Webmpping • O servidor web comunica-se com um "motor webmapping" – como o MapServer ou ESRI ArcIMS – que é o componente responsável por realizar a leitura parametrizada de arquivos de dados geográficos( mapas), efetuar uma operação específica( aproximar, afastar, deslocar, classificar, localizar, etc...) e converter o resultado de uma consulta em uma imagem( GIF, PNG, JPG);

  11. Customização • Caso a aplicação necessite de uma grau de customização além do padrão que o software de webmapping dispôr, em algumas ferramentas há a possibilidade de se efetuar uma customização mais aprimorada usando-se linguagens de programação;

  12. Dados Geográficos • Os dados geográficos devem ser armazenados em formato padrão suportado pelo software de webmapping ou diretamente no banco de dados, caso este suporte dados espaciais;

  13. Banco de Dados • O banco de dados compreende as informações de interesse dos usuários e deve estar estruturado de modo que seus dados possam ser relacionados aos dados geográficos e conseqüentemente possibilitar o usuário a obter respostas coesas relacionadas ao seu negócio.

  14. Tendências

  15. Interoperabilidade • é cada vez mais comum, seja em ambientes públicos ou privados, a necessidade de se integrar dados oriundos de diferentes fontes e formatos;

  16. Compatibilidade com padrões mundiais • iniciativas como as do Open Geospatial Consortium visam a definição de especificações padrão para o desenvolvimento de aplicações SIG. • http://www.opengeospatial.org/ • Dessa forma, teoricamente, será possível realizar a substituição de softwares sem a necessidade de se alterar estruturas de dados;

  17. Migrando para SIG • Aproximação ao SIG: com a evolução de hardware, software e com a própria evolução da Internet, é natural que as aplicações de webmapping se enriqueçam cada vez mais de recursos, tornando-se mais próximas dos SIGs.

  18. História • 1996 • ForNet: em uma parceria entre a UMN e o Minnesota DNR , sob patrocínio da NASA, o projeto ForNet visa prover equipes da área florestal com produtos obtidos a partir de imagens de sensoriamento remoto. Dentre os requisitos do projeto, havia a necessidade de se entregar dados geográficos via internet • 1997 • MapServer 1.0: desenvolvido em C, por Stephen Lime, para uso no projeto ForNet. Foi usada a biblioteca ShapeLib( para manipulação de ShapeFiles) e a biblioteca GD( para geração das imagens)

  19. História (2) • 2000 • MapServer 3.0 • TerraSIP: neste outro projeto financiado pela NASA, o desenvolvimento do MapServer continua • Daniel Morissette( da DM Solutions) adere ao desenvolvimento do MapServer • Suporte a dados matriciais( através da biblioteca LibTIFF) e fontes TrueType( biblioteca FreeType) adicionadossurge o website oficial do MapServer que torna-se então um projeto Open Source de conhecimento público

  20. História (3) • 2004 • 1.200 usuários inscritos na lista de discussão oficial • 2nd MapServer Users Meeting: reuniu 220 pessoas e ampliou o foco para outras tecnologias Open Source para SIG • Fórum ptMapServer é cedido ao G10/Univali • 1° Encontro Nacional de Usuários MapServer: reuniu cerca 100 visitantes na Univali em Itajaí/SC • 2005 • 3rd MapServer Users Meeting • 3 livros sobre MapServer chegam ao mercado: • Web Mapping Illustrated - Tyler Mitchell • MapServer : Open Source GIS Development - Bill Kropla • Mapping Hacks - Shuyler Erle

  21. Características • Dados de Entrada • ShapeFiles • ArcSDE • Oracle Spatial • PostGIS • MySQL • formatos OGR: a biblioteca OGR fornece acesso a diversos formatos vetoriais • ODBC( somente tabelas de pontos) • MapInfo • DGN • CSV • GML • e outros

  22. Dados matriciais • TIFF/GeoTIFF • JPEG • GIF • PNG • EPPL7 • formatos GDAL: a biblioteca GDAL fornece acesso a diversos formatos matriciais • ECW • ENVI • HDF • ERDAS • PCRaster • e outros

  23. Formatos de Saída • O MapServer pode gerar mapas nos seguintes formatos: • PNG • JPEG • GIF • WBMP ( para WAP) • SWF ( Flash) • PDF • SVG • DXF • formatos GDAL

  24. Funcionalidades • indexação espacial para ShapeFiles • customização através de arquivos "template" ou MapScript • seleção de objetos por ponto, área, valor ou item • suporte a fontes TrueType • legenda, barra de escala, mapa de referência e controles de navegação • desenho de objetos de acordo com a escala

  25. mapas tematicos a partir de expressões lógicas, regulares ou constantes string • sistema anti-colisão para rótulos(labels) • reprojeção de dados cartográficos em tempo de execução(PROJ.4) • configuração de parâmetros via URLs • compatibilidade OGC • WMS - implementa os modos servidor e cliente • WFS - implementa os modos servidor e cliente • WCS - implementa o modo servidor • WMC • SLD • GML • Filter encoding

  26. Funcionamento do MapServer

  27. CGI • Esta é a maneira mais simples de se trabalhar com o MapServer. • Quando se utiliza o MapServer em modo CGI, o seu arquivo executável deve ser colocado em diretório apropriado do servidor web. • Este executável irá receber parâmetros de inicialização da aplicação webmapping, processar as requisições solicitadas e retornar ao aplicativo cliente( navegador) o resultado esperado(imagens do mapa, legenda, barra de escala, mapa de referência, ou mesmo códigos HTML). • http://mapserver.gis.umn.edu/download/current

  28. MapScript • Historicamente o conceito do MapScript foi introduzido em 2001 quando a canadense DM Solutions disponibilizou a API do MapServer para a linguagem de programação PHP, numa extensão chamada de PHP/MapScript. • De maneira sucinta, o MapScript é a disponibilização dos recursos do MapServer para linguagens de programação.

  29. Dessa forma, pode-se combinar os recursos do MapServer com recursos da sua linguagem de programação preferida, visando a criação de aplicações com um grau de customização maior, eventualmente não atingido com aplicações do MapServer em modo CGI. • O MapServer MapScript está disponível para as seguintes linguagens de programação: • PHP • Python • Perl • Ruby • TCL • Java • C# http://www.maptools.org/php_mapscript/index.phtml

  30. WebServices • O MapServer implementa algumas especificações do Open Geospatial Consortium - e mais precisamente as especificações WMS, WFS e WCS - que permitem o desenvolvimento de aplicações que fazem o MapServer operar como um serviço de mapas via web. • Dessa forma, pode-se utilizar o MapServer para disponibilizar dados via web que serão acessados via aplicações desktop como ArcView, ArcExplorer, ArcGIS, Quantum GIS, JUMP, uDig ou mesmo por aplicações web.

  31. Estrutura geral de uma aplicação MapServer • Mapas • MapFile • Formulário de inicialização • Arquivos Template

  32. Mapas • Antes de mais nada, é preciso ter em mãos os mapas que se deseja publicar com uma aplicação MapServer. • Os mapas são enfim, os dados de entrada de sua aplicação e devem estar em um formato que possa ser lido pelo MapServer. • ftp://geoftp.ibge.gov.br/mapas/ • http://commons.wikimedia.org/wiki/Category:Maps_of_Brazil

  33. MapFile • O MapFile é um arquivo de extensão .map, em formato texto puro, que faz todas as definições e configurações iniciais necessárias para execução de uma aplicação MapServer. • Este arquivo é lido pelo MapServer em cada interação do usuário com a aplicação e define diversas características da aplicação como: • que mapas serão disponibilizados? • como estes mapas serão apresentados? • com que cor? • com que símbolo? • até que escala o usuário poderá aproximar-se? • Ou seja, o MapFile define como os MAPAS( dados) serão apresentados ao usuário

  34. Formulário de inicialização • Em aplicações MapServer em modo CGI, é necessário a presença de um "formulário de inicialização" da aplicação. • Este formulário é uma declaração em HTML que enviará ao executável do MapServer parâmetros básicos para a inicialização da aplicação, tais como o caminho do MapFile e endereço(URL) do MapServer CGI.

  35. Arquivos Template • Os arquivos Template definem a interface ou design da aplicação. • Definem como os componentes gerados pelo MapServer • mapa, • legenda, • barra de escala, • etc...) • serão apresentados para o usuário e de que forma o usuário poderá interagir com a aplicação.

  36. Descrição dos Arquivos • sp_uf: shapefile de tipo polígono representando os limites do estado de São Paulo • sp_muni: shapefile de tipo polígono representando os limites dos municípios do estado de São Paulo • sp_rvia: shapefile de tipo linha representando as rodovias do estado de São Paulo • sp_sede: shapefile de tipo ponto representando as sedes municipais do estado de São Paulo

  37. Utilização do MapFile MAP EXTENT -53.110 -25.312 -44.161 -19.779 SHAPEPATH "mapas" SIZE 400 300 LAYER NAME "uf" TYPE POLYGON DATA "sp_uf" STATUS DEFAULT CLASS NAME "São Paulo" OUTLINECOLOR 0 0 0 COLOR 255 255 192 END END END exercicio01.map

  38. Forma de Chamar o Mapa • http://localhost/cgi-bin/mapserv.exe?map=C:/Arquivos de Programas/Apache Group/Apache/htdocs/learn2mapit/intro_mapserver/exercicio01.map&mode=map • http://localhost/cgi-bin/mapserv.exe?map=C:/CAIO/curso/www/exercicio01.map&mode=map

  39. Resultado

  40. Dividindo esta url em várias partes teremos: • http://localhost/cgi-bin/mapserv.exe?map=C:/CAIO/curso/www/exercicio01.map&mode=map • localhost : • é o endereço do servidor web • /cgi-bin/mapserv : • indica o arquivo executável(binário) do MapServer CGI. • Neste caso, ele se encontra na pasta "cgi-bin" • map : • Este parâmetro indica a localização do MapFile a ser interpretado pelo MapServer. • mode : • este parâmetro indica o modo de operação do MapServer. Neste caso, o modo map resultada na geração da imagem do mapa da aplicação.

  41. MAP File

  42. Linha 1: • A palavra reservada MAP define o início do MapFile. • O objeto MAP é o elemento raiz de um MapFile e todos os outros objetos e propriedades são definidos hierarquicamente abaixo deste elemento. • Na linha 18 a palavra END finaliza a definição do objeto MAP.

  43. Linha 2 • EXTENT -53.110 -25.312 -44.161 -19.779 • A propriedade EXTENT define o retângulo envolvente do mapa na inicialização da aplicação. • Os valores informados por estas coordenadas expressam a menor área retangular que faça a cobertura dos mapas da aplicação em sua inicialização. • Cada um dos quatro valores que compõem a propriedade EXTENT deve ser informado em formato de número decimal, usando-se o ponto(.) para delimitação de casas decimais.

  44. Extent • O primeiro par de valores define o canto inferior esquerdo do retângulo envolvente e o segundo par de valores define o canto superior direito do retângulo. • c:\MapServer\bin\ogrinfo.exe -all sp_uf.shp >lixo.txt INFO: Open of `sp_uf.shp' using driver `ESRI Shapefile' successful. Layer name: sp_uf Geometry: Polygon Feature Count: 1 Extent: (-53.109609, -25.311932) - (-44.160556, -19.779323) Layer SRS WKT:

  45. SHAPEPATH e SIZE • Linha 3 • a propriedade SHAPEPATH define o caminho relativo(ao MapFile) ou caminho absoluto dos arquivos de mapas(ShapeFiles, GeoTIFFs, etc...). • Linha 4 • a propriedade SIZE define as dimensões(largura X altura) da imagem do mapa. • Os valores de Largura e Altura da imagem deve ser especificados em pixels.

  46. Layer (Linha 6) • a palavra reservada LAYER inicia a declaração de um objeto layer. • Na linha 16 a palavra END finaliza a declaração do objeto LAYER . • Este objeto pode ser considerado o mais importante de qualquer MapFile, pois é através da declaração de layers é que se pode representar uma camada de informações geográficas. • Os layers podem ser usados para a apresentação de mapas de pontos, linhas, polígonos, imagens( dados matriciais) ou apenas para exibição de objetos de textos( rótulos).

  47. Layer • Um MapFile pode conter vários layers, sendo que o primeiro layer declarado aparecerá por baixo de todos os layers na visualização do mapa. • E, sendo assim, por dedução, o último layer declarado aparecerá por cima de todos os layers no momento da visualização do mapa.

  48. NAME – Linha 7 • a propriedade NAME define o nome do layer para a aplicação. • Este nome deve ser uma string de no máximo 20 caracteres e não deve conter espaços ou acentos. • O nome do layer é uma referência que permitirá à aplicação, dentre outras coisas, realizar operações como ligar ou desligar um layer, ou mesmo alterar propriedades e objetos de um dado layer.

  49. TYPE – Linha 8 • A propriedade TYPE define o tipo de layer a representar. • O tipo informado deve corresponder ao tipo dos dados a serem representados no referido layer. • Por exemplo, para exibir um layer de polígonos defina o tipo como POLYGON, para um layer de linhas utilize LINE, para pontos use POINT e para dados matriciais use RASTER.

More Related