Comparando diferentes servidores GIS de código aberto?

35

Atualmente, conheço os seguintes servidores GIS de código aberto:

  • Geoserver : suporte a java, vetor e bitmap, também suporta. Agora está a par com o mapserver (em termos de desempenho).
  • mapserver : c / c ++, costumava ser o servidor mais rápido. Melhor para raster do que vetor?
  • mapguide : não sabe disso
  • mapnik : o novo garoto do quarteirão? não sei muito sobre isso, mas parece atraente
  • mapfish : até onde eu sei, só recupera dados vetoriais para exibição em openlayers. Existe uma implementação de trilhos.

Se possível, eu gostaria de algum tipo de comparação, qual você escolheu ou prefere e por quê?

Estou pensando em criar um site de trilhos e preciso de algum tipo de servidor GIS. Vou precisar de dados rasterizados e vetoriais (clicáveis). Isso é possível com um servidor? O banco de dados de back-end será Postgis.

nathanvda
fonte
11
Um pouco fora de tópico, mas essa foi uma boa leitura e esclareceu o mapnik: alistapart.com/articles/takecontrolofyourmaps
nw1 28/02/11
por que ninguém falou sobre mapguide? que tal isso? alguma experiência em usá-lo?
geogeek
Para aqueles que estão interessados ​​na comparação de desempenho, a seguinte postagem no blog pode ser bastante interessante e útil: "Kits de ferramentas de mapeamento de benchmarking na propagação de blocos
Runge
Infelizmente, não há opção de comentar nessa postagem do blog. O servidor geográfico é muito ruim e acho que eles usaram a instalação padrão. Eles estão usando o JRE errado, e eu estou supondo que eles não instalou imagem nativa: docs.geoserver.org/stable/en/user/production/java.html
nathanvda

Respostas:

14

Esta pergunta foi convertida em Wiki da Comunidade e a wiki bloqueada porque é um exemplo de pergunta que busca uma lista de respostas e parece ser popular o suficiente para protegê-la do fechamento. Ele deve ser tratado como um caso especial e não deve ser visto como o tipo de pergunta incentivada neste ou em qualquer site do Stack Exchange, mas se você deseja contribuir com mais conteúdo, sinta-se à vontade editando esta resposta .


Laurent Jegou mantém atualizado um ótimo documento listando todas as soluções conhecidas de mapeamento da web e seu escopo e recursos (com tecnologia de cliente e servidor). Infelizmente, é em francês, mas como tudo se resume a coisas técnicas, você será capaz de entendê-las facilmente.

Definitivamente, não seria suficiente escolher o caminho certo, mas pelo menos você poderá excluir alguns deles rapidamente.

A versão mais recente está disponível no seguinte URL:

http://www.geotests.net/cours/sigma/webmapping/2016/fig6_2016.pdf

PolyGeo
fonte
4
Esse é realmente um gráfico incrivelmente interessante. Trabalho impressionante de Laurent Jegou! Obrigado pelo link! E para mim revela novos candidatos: geomajas e graus.
Nathanvda
3
E tileMill pode ser adicionado desde a última atualização ( tilemill.com ) ;-)
simo
11
O TileMill está realmente bonito. Mapnik com console de gerenciamento adicionado (ou pelo menos eu o li). Obrigado pela dica!
Nathanvda 28/02
8

Bem, isso pode ser uma discussão enorme, vou tentar dar alguns pontos rápidos em poucas palavras. Você pode comparar o software em sua lista dos pontos de vista da árvore:

1) Apresentações

Aqui, o já sugerido benchmark será seu melhor amigo, pelo menos para o WMS

2) Serviços oferecidos

Geralmente, você pode considerar quais serviços são oferecidos pelo software: esses serviços podem ser compatíveis com os padrões da web OGC (WMS, WFS, WCS, WPS, SOS, OCS ...) ou não.

O GeoServer oferece nativamente WMS, WCS e WFS (nos últimos dois é a implementação de referência). Também pode dar suporte ao WPS com uma extensão.

O MapServer oferece WMS, WFS, WCS e SOS, mas com relação ao GeoServer, ele não possui os recursos transacionais para o WFS (WFS-T). Em relação ao GeoServer, em muitos casos, possui menos sobrecarga de arquitetura (como funciona com o Apache httpd) e possui uma lista enorme de formatos de dados suportados via GDAL / OGR. Ele não possui uma interface Web administrativa agradável (como no GeoServer), mas os mapfiles podem ser facilmente modificados e personalizados via API shell ou mapscript.

O Mapnik é uma biblioteca poderosa que pode ser usada como WMS (e de acordo com os últimos benchmarks do FOSS4G 2010, seu desempenho é impressionante).

Existem outros softwares conhecidos que fornecem implementações para WPS (pyWPS, ZooProject, 52n WPS), para OCS (GeoNetwork) e ainda outros.

Se você considerar o MapFish, possivelmente precisará adicionar a lista GeoDjango e FeatureServer que não oferecem implementação padrão dos serviços da web GIS. O GeoNode é uma tentativa interessante de web2.0fy um SDI (isto é, com tag e material social).

Também dê uma olhada no novo garoto do bloco: TileMill, que é baseado principalmente no Mapnik, e é construído na estrutura node.js

3) Arquitetura

O GeoServer e o GeoNetwork são baseados em Java (portanto, eles exigem um mecanismo de servlet como o Tomcat).

O MapServer e o Mapnik são baseados em C e funcionam bem no Apache httpd.

Todos os outros softwares são baseados principalmente em Python, usando estruturas diferentes: o MapFish usa Pylons, GeoDjango e GeoNode usa Django, FeatureServer e pyWPS em Python puro. Todos eles podem ser executados em httpd via modPython ou WSGI ou como CGI.

Observe que quase todo esse software é baseado na biblioteca ubiquos GDAL (geralmente encontrada em software proprietário).

capooti
fonte
7

Do ponto de vista do desempenho, você pode achar interessantes os seguintes resultados de benchmark:

http://www.slideshare.net/gatewaygeomatics.com/wms-performance-shootout-2010

Os dados sobre os próprios benchmarks podem ser encontrados em http://wiki.osgeo.org/wiki/Benchmarking_2010 .

dariapra
fonte
Muito legal. Pelo que posso ver, o Mapserver ainda é a besta do desempenho, parece derrotar todos os outros competidores. eu estava assumindo que o Geoserver ficaria em segundo lugar no geral, mas o mapnik tem um desempenho surpreendentemente bom; mesmo no Postgis, parece superar o mapserver (sem reprojeção). Então, como eles se comparam em termos de recursos?
Nathanvda 28/02
7

Há também o servidor QGIS (WMS). Leia "QGIS Server - um servidor WMS para as massas" para obter mais informações.

Compilei uma pequena comparação de recursos entre o Geoserver e o UMN Mapserver .

O MapFish é uma boa estrutura, mas você ainda precisa de um servidor de mapas em segundo plano. Se você estiver trabalhando com o Rails, o MapFish parece ser um bom caminho:

A estrutura do MapFish é construída em torno de um protocolo aberto baseado em HTTP, permitindo várias implementações interoperáveis. Além da implementação de referência fornecida pela estrutura baseada em Python / Pylons, outras duas implementações estão disponíveis no momento: um plug-in Ruby / Rails (GPLv3) e um plug-in PHP / Symfony (BSD)

abaixo da escuridão
fonte
2
O QGIS Mapserver parece interessante, especialmente porque vem emparelhado com o cliente QGIS, onde você pode preparar seu arquivo de mapa. A comparação entre o Geoserver e o Mapserver também é útil. Na verdade: a interface total de administrador da web é uma enorme vantagem para mim.
Nathanvda 28/02
O Geoserver é realmente rápido de configurar e a interface da Web melhorou bastante em comparação às versões anteriores. Mas sinto muita falta da flexibilidade do recurso mapscript do UMN Mapserver.
underdark
2

Pode ser útil mencionar geomajas também. http://apps.geomajas.org/showcase/ Especialmente útil para criar um 'aplicativo' GIS em vez de apenas uma apresentação de mapas. Gosto das opções avançadas de consulta e edição.

johanvdw
fonte
O que ouvi de geomajas é que ele é baseado em java e possui uma estrutura de desenvolvimento de clientes. Então isso me forçaria a desenvolver em java para ele. Eu quero algo que eu possa usar no meu próprio site (trilhos) usando openlayers ou algo semelhante. Então, obrigado pela dica, mas para mim pessoalmente não é adequado. Este documento: geotests.net/cours/sigma/webmapping/tableau_webmapping2010.pdf parece corroborar isso.
Nathanvda 28/02
Nem tanto. Geomajas também oferece uma interface javascript para desenvolver o cliente. Para personalizações avançadas no mapa, é necessário usar Java, mas você pode fazer praticamente tudo através de Javascript.
Joachim Van der Auwera
Obrigado, eu não sabia sobre Geomajas, mas vejo pouca atividade no github recentemente.
David.perez #