2017-06-06

MapServer

MapServer logo

Introdução ao MapServer >> Capítulo 2

AVISO: página em desenvolvimento/revisão

O MapServer é um conjunto de recursos e ferramentas Open Source destinado ao desenvolvimento de aplicações baseadas em sistemas de informações geográficas em ambiente web.

Desenvolvido originalmente por Steve Lime durante seu projeto de pós-graduação na University of Minnesota, sua plataforma de operação compreende sistemas Linux, Windows e Mac OS X.

O MapServer utiliza-se de recursos de diversos outros projetos de software livre/aberto, como GDAL/OGR, PROJ4, GEOS, entre outros.

O MapServer é licenciado sob os termos da MIT License.

Histórico

Características

Modos de funcionamento

Estrutura de uma aplicação


O que é Webmapping?

Introdução ao MapServer >> Capítulo 1

Introdução

  • é uma técnica para visualização interativa de dados geográficos através de aplicações web( Internet/Intranet) e dependendo da estruturação da aplicação, pode-se eventualmente inferir nos dados geográficos através de interfaces web
  • é uma alternativa de consulta de informações, que pode se tornar muito poderosa se combinada à metodologias complementares como relatórios e gráficos
  • não tem o objetivo de substituir todas as funcionalidades de um SIG - Sistema de Informações Geográficas

Vantagens

  • aplicações web são mais fáceis de se utilizar - veja o por exemplo, Google Maps: com dois botões para aproximar e afastar a visão e uma caixa de busca, já proporciona vários recursos
  • 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, ou tablet/celular e acesso à web. Não é necessário uma estação fixa com recursos específicos instalados
  • centralização de dados: as informações ficam centralizadas em repositórios de dados geográficos no servidor de aplicações
  • interoperabilidade: aplicações web podem interagir com sistemas desktop ou outros sistemas web com base em protocolos de comunicação e troca de dados

Desvantagens

  • por se tratar de aplicações que entregam essencialmente mapas/imagens, o consumo de rede tende a ser mais alto do que aplicações de envio/recepção de dados alfanuméricos - logo, banda larga se torna um fator essencial
  • operações de processamento pesado de dados, normalmente são mais adequadas para ambientes locais e/ou aplicações desktop

Funcionamento

Esquema geral de funcionamento de uma aplicação webmapping - Eduardo Kanegae, 2005
  1. Navegador web: corresponde ao principal software de interface de usuário. Por meio de um navegador o usuário acessa um endereço que contém a aplicação web;
  2. Um servidor web, como o Apache ou IIS, é o elemento responsável pela publicação de textos, arquivos HTML, imagens, scripts e hyperlinks em uma conexão web;
  3. O servidor web comunica-se com um "motor webmapping" – como o MapServer, GeoServer ou ArcGIS Server – que é o componente responsável por realizar a leitura parametrizada de fontes de dados geográficos( um ou mais camadas), efetuar uma operação específica( aproximar, afastar, deslocar, classificar, localizar, etc...) e converter o resultado de uma requisição em uma imagem( PNG, JPG, GIF) ou em formatos de saída específicos;
  4. Caso a aplicação necessite de uma grau de customização além do padrão que a plataforma de webmapping disponibilizar, em alguns casos, existe a possibilidade de se efetuar uma customização mais aprimorada usando-se linguagens de programação;
  5. Os dados geográficos devem ser armazenados em formato padrão suportado pelo software de webmapping, em bancos de dados ou através de canais webservices;
  6. 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 consequentemente possibilitar o usuário a obter respostas relacionadas ao seu negócio.

Reflexões


  • Interoperabilidade: seja em ambientes públicos ou privados, existe a necessidade de se integrar dados oriundos de diferentes fontes e formatos;
  • Compatibilidade com padrões mundiais: iniciativas como o Open Geospatial Consortium tem o objetivo de criar especificações padrões para o desenvolvimento de aplicações SIG. Sistemas compatíveis com os padrões OGC garantem que em casos de substituição de componentes de software, se evite a alteração de estruturas  de dados/aplicações ou protocolos de comunicação;
  • Aproximação ao SIG: a evolução de hardware, software e qualidade de conexão à Internet, possibilita que aplicações webmapping se enriqueçam cada vez mais de recursos, tornando-se mais próximas dos SIGs;
  • Open Source: o uso de soluções e aplicativos open source possibilita a redução de custos de licenciamento de software e maior continuidade de manutenção, uma vez que softwares desta categoria não fazem grandes mudança estruturais que causem o rompimento de compatibilidade com legados anteriores. Por exemplo, o próprio MapServer - afinal, a primeira versão deste material foi escrita em 2005 e salvo algumas atualizações, os conceitos base ainda são os mesmos.

Introdução ao MapServer

MapServer logo
O objetivo da série de postagens Introdução ao MapServer, é fazer com que o leitor compreenda os princípios básicos envolvidos na criação de uma aplicação webmapping e consiga dar seus primeiros passos no desenvolvimento de aplicações MapServer

Nota: desenvolvi e publiquei este material pela primeira vez no ano de 2005. Os capítulos enumerados na seção "tópicos" abaixo serão revisados e republicados gradualmente.

Requisitos recomendados

  • um computador desktop com Windows + MS4W ou Linux OSGeo Live
  • alguma familiaridade com linguagens de programação, preferencialmente em ambientes web
  • conhecimentos elementares sobre sistemas de informação geográfica

2013-10-14

OpenTripPlanner - solução opensource para o planejamento multimodal de viagens

O OpenTripPlanner é uma solução opensource( licença LGPL) voltada para aplicações de planejamento multimodal de viagens. Sua característica multimodal baseia-se na possibilidade de se planejar roteiros através de diversos meios de locomoção - tais como roteiros a pé, viagens usando veículos, viagens de ônibus, percursos com bicicleta ou ainda combinações como percursos de bicicleta e ônibus. Seu desenvolvimento foi financiado e apoiado pela agência de trânsito e transporte de Portland/Oregon/EUA (TriMet) no período de 2009 a 2011.

Características técnicas


  • planeja rotas de forma multimodal - considerando percursos a pé, requisitos de acessibilidade, de bicicleta, vias de trânsito ou transporte público 
  • para trajetos de bicicleta, considera tempo de viagem, tipo/segurança das vias e elevação do terreno como parâmetros ajustáveis de roteirização
  • exibição de gráficos de perfil para viagens a pé ou de bicicleta
  • importação de dados em formato OpenStreetMap, Shapefile, GTFS e modelos digitais de elevação
  • planeja viagens em cerca de 100ms para cidades com tamanho moderado
  • arquitetura de sistema compatível com API RESTful
  • suporte ao formato GTFS-Realtime - para serviços de alertas
  • suporte ao processo de aluguéis de bicicletas
  • suporte experimental ao algoritmo Raptor

2013-05-16

Capturando coordenadas de um ponto com o Google Maps

Já que o Google Maps vem aí com uma nova versão, não custa nada explorar um pouco a versão atual para realizar uma tarefa muito simples: "como capturar as coordenadas de um determinado ponto no Google Maps?" 

2013-02-19

TOPODATA - Paletas QGIS para o tema Altitude

Nota de 02/jul/2013: adicionado o esquema extra "IBGE Relevo Continental" - com base no mapa 'Brasil - Relevo Continental', da publicação "Atlas Geográfico Escolar"(IBGE, 5a edição)
Visualização usando o estilo "SRTM"
Para comemorar os 18 meses em operação do Mapa Índice TOPODATA é com satisfação que disponibilizamos um conjunto de arquivos QML para serem usados no software QGIS com dados do projeto TOPODATA.
Estes arquivos definem rampas de cores para o tema Altitude e foram elaborados a partir da adaptação dos valores de elevação e regras de cores contidos nos esquemas de cores SRTM, Terrain, Atlas Shader e ETOPO2 provenientes do software GRASS ( função r.colors ).

Pesquisa de ônibus em Campinas via Google Maps



No ano de 2010 a EMDECempresa que administra o trânsito e transporte no município de Campinas – colocou à disposição de sua população o Sistema de Informação ao Usuário : uma ferramenta para pesquisa de itinerários e horários de ônibus que pode ser acessada através da Internet.
Apesar de agregar recursos inovadores como a roteirização de viagens a partir de pontos de origem e destino informados como endereços, cruzamentos ou pontos de referência e a visualização do trajeto resultante na forma de mapas interativos via Google Maps, o sistema ainda não permite que o usuário informe os pontos de ORIGEM e DESTINO através de um mapa interativo web.

2012-09-26

QGIS Server quick test


...but if you need to quickly design (colors, simbology, labels, zoom rules) and publish web maps, without the need of manually/copy-n-pasting MapServer MapFiles, then QGIS Server is here to help. Using an instance of QGIS - the great opensource desktop GIS - you will be able to design nice maps including zoom based rules and advanced simbology and then view the web map(powered by QGIS Server!) with exactly THE SAME appearance as defined in QGIS desktop. A WYSIWYG design-and-publish method.

2012-09-20

Testando o QGIS Server

...e para casos onde se deseja rapidamente elaborar mapas e os publicar via web, sem a necessidade de se editar MapFiles, como no caso do MapServer, talvez o QGIS Server seja a solução. A partir de uma instalação do QGIS é possível elaborar mapas com regras de zoom bem definidas e recursos avançados de simbologia e posteriormente visualizar este mapa com IDÊNTICA aparência em uma aplicação web (powered by QGIS Server!) sem grandes esforços. Ou seja, no melhor do estilo WYSIWYG.

2012-09-14

MS-SQL 2008 Spatial experiments - last part

...and as started in another post, more (old) notes about MS-SQL 2008 Spatial.

Exporting from SQL2008 Spatial using OGR

$ ogr2ogr -f KML -s_srs "EPSG:4326" -t_srs "EPSG:4326" -where "mytable_id = 6850" myexporteditem.kml "MSSQL:dsn=MY_DSN;server=(local);database=DBNAME_HERE;tables=myscheme.mytable;uid=USER_HERE;pwd=PWD_HEREmytable

Setup PHP driver for SQL 2008

IMPORTANT: this was drafted in 2011/03, so it could easier nowadays ;-)

  • get and extract related package ( from Microsoft website)
  • copy file php_sqlsrv_53_ts_vc9.dll to PHP extensions path
  • enable it at php.ini and run some phpinfo() to check it out

2011-11-23

Convertendo pontos de SIRGAS para SAD69

Fonte: uma lista de pontos (arquivo CSV) em SIRGAS 2000

Objetivo: gerar um arquivo DXF com os pontos convertidos - pois serão abertos em AutoCAD.

Roteiro:

1 - a partir do arquivo CSV, em uma planilha gera-se vários comandos para criar um shapefile a partir dos pontos UTM:

2. depois, execute os comandos gerados num prompt do MS4W, por exemplo, que já traz os binários da ShapeLib:
$ shpcreate original_sirgas point
# cria um shapefile vazio (só arquivos .shp e .shx) de tipo PONTOS
E em seguida execute os vários 'shpadd' para inserir os pontos no shapefile:
$ shpadd original_sirgas X1 Y1
$ shpadd original_sirgas X2 Y2
$ shpadd original_sirgas Xn Yn
...

3. em seguida, via OGR, converta o shapefile com pontos em SIRGAS 2000 para um DXF em SAD69:
$ ogr2ogr -f DXF -t_srs EPSG:29193 -s_srs EPSG:31983 final_sad69.dxf original_sirgas2000.shp
Os números em destaque são os identificadores/códigos dos sistemas de coordenadas, de acordo com padrão EPSG, usados pela biblioteca PROJ4 e se referem ao fuso UTM 23S dos sistemas destino (SAD69) e origem (SIRGAS).
Para uma lista completa dos identificadores e parâmetros de projeção, basta visualizar o arquivo C:\ms4w\proj\nad\epsg ( não tem extensão! )

E pronto! Tem-se o arquivo 'final_sad69.dxf' à mão, com coordenadas em SAD69 e pode ser lido no CAD.

2011-11-21

MS-SQL 2008 Spatial experiments

...notes of some experiments from 2011 beginning
     - mixing up SQL 2008 + MS4W 3.0.1 ( MapServer 5.6.6 )
SQL Server 2008 Setup
  • packages to install:
  • tried and tried, but it didn't work at my old Windows 7 Pro
  • worked fine on Windows 2003 Server - even under Virtual Box
  • at installer 7th step ("Server configuration"), define "NT AUTHORITY\LOCAL SERVICE" as credentials for 'SQL Server Database Engine' service
  • and please, define a good password for sa user and do not forget to enable 'mixed logins'
Some notes on SQL 2008 geometry handling
CREATE SPATIAL INDEX sidx_mytable ON 
myscheme.mytable ( mygeomfield )
WITH (
BOUNDING_BOX = ( -180, -90, 180, 90 ) )
  • when a table has a 'geometry' field, results will also be shown as a map at MS SQL Studio GUI 

  • OGC SFS methods are invoked from geometry fields. Eg.:
SELECT v.*, v.mygeomfield.STAsText() FROM mytable AS v

Testing connection using OGR
version installed: MS4W 3.0.1 / MapServer 5.6.6
  • create a system ODBC DSN
  • run an ogrinfo test:
$ ogrinfo -so "MSSQL:dsn=MY_DSN;server=(local);database=DBNAME_HERE;tables=myscheme.mytable;uid=USER_HERE;pwd=PWD_HERE" mytable
  • it will output something like:
INFO: Open of `MSSQL:.....'
      using driver `MSSQLSpatial' successful.

TO BE CONTINUED here!...