比较不同的开源GIS服务器?


35

我目前知道以下开源GIS服务器:

  • Geoserver:基于Java,也支持矢量和位图。现在与mapserver相当(性能方面)。
  • mapserver:c / c ++,曾经是最快的服务器。比矢量更适合栅格吗?
  • mapguide:不知道这个
  • mapnik街上的新孩子?对其了解不多,但看起来很吸引人
  • mapfish:据我所知,仅检索矢量数据以在openlayers中显示。确实存在Rails实施。

如果可能的话,我想进行某种比较,您选择还是喜欢哪个,为什么?

我正在寻找一个Rails网站,并且需要某种GIS服务器。我将需要栅格和矢量数据(可单击)。一台服务器可以做到吗?后端数据库将是Postgis。


1
有点题外话,但这是一本好书,为mapnik提供了一些启示:alistapart.com/articles/takecontrolofyourmaps
nw1 2011年

为什么没有人谈论mapguide?那呢?有使用经验吗?
geogeek

对于那些对性能比较感兴趣的人,以下博客文章可能非常有趣和有用:“ Tile Seeding中的基准测试映射工具包” -mapsurfernet.com/blog/…–
Runge

不幸的是,该帖子上没有评论选项。Geoserver确实很糟糕,我猜他们只是使用了标准安装。他们使用了错误的JRE,我猜他们没有安装本机映像:docs.geoserver.org/stable/en/user/production/java.html
nathanvda

Answers:


14

该问题已转换为“社区Wiki”,并且Wiki已锁定,因为它是一个问题的示例,它寻求答案列表,并且似乎很受欢迎,可以防止其被关闭。应该将其视为特殊情况,并且不应将其视为鼓励在此站点或任何Stack Exchange网站上使用的问题类型,但是,如果您希望向其中提供更多内容,请随时编辑此答案。


Laurent Jegou保持最新的出色文档,其中列出了所有已知的 Webmapping解决方案及其范围和功能(包括客户端和服务器技术)。不幸的是,它是用法语编写的,但是由于它全部涉及技术知识,因此您将能够轻松理解它。

当然,选择正确的方法是不够的,但是至少您一眼就能排除其中的一些方法。

可从以下URL获得最新版本:

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


4
这确实是一个非常有趣的图表。Laurent Jegou的出色作品!谢谢你的链接!对我来说,揭示了新的竞争者:geomajas和deegree。
nathanvda 2011年

3
自上次更新以来可以添加tileMilltilemill.com);-)
simo

1
TileMill确实看起来不错。带有添加的管理控制台的Mapnik(或我阅读了它)。谢谢你的小费!
nathanvda

8

好吧,这可能是一次巨大的讨论,我将尝试用几句话简单介绍一下。您可以从树的角度比较列表中的软件:

1)演出

在这里,已经建议的基准测试将是您最好的朋友,至少对于WMS

2)提供的服务

通常,您可能会考虑从软件中提供哪些服务:该服务是否符合OGC Web标准(WMS,WFS,WCS,WPS,SOS,OCS ...)。

GeoServer本身提供WMS,WCS和WFS(对于最后两个,它是参考实现)。它也可以通过扩展提供对WPS的支持。

MapServer提供WMS,WFS,WCS和SOS,但就GeoServer而言,它缺少WFS(WFS-T)的事务功能。对于GeoServer,在许多情况下,它的架构开销较小(因为它与Apache httpd一起使用),并且通过GDAL / OGR具有大量受支持的数据格式。它缺少一个不错的管理Web界面(例如在GeoServer中),但是可以通过shell或mapscript API轻松修改和自定义mapfile。

Mapnik是一个功能强大的库,可以用作WMS(根据FOSS4G 2010的最新基准,其性能令人印象深刻)。

还有其他广为人知的软件,它们提供WPS(pyWPS,ZooProject,52n WPS),OCS(GeoNetwork)以及其他软件的实现。

如果考虑使用MapFish,则可能需要添加列表GeoDjango和FeatureServer,这些列表不提供GIS Web服务的标准实现。GeoNode是web2.0fy SDI(即带有标签和社交内容)的很酷的尝试。

还要看看这个新手:TileMill,它主要基于Mapnik,它是基于node.js框架构建的

3)建筑

GeoServer和GeoNetwork基于Java(因此它们需要像Tomcat这样的servlet引擎)。

MapServer和Mapnik基于C,并且可以在Apache httpd上很好地运行。

所有其他软件主要基于使用不同框架的Python:MapFish使用Pylons,GeoDjango和GeoNode使用Django,FeatureServer和pyWPS均在纯Python中。它们都可以通过modPython或WSGI在httpd中运行,也可以作为CGI运行。

请注意,几乎所有该软件都基于ubiquos GDAL库(通常甚至可以在专有软件中找到)。


7

从性能的角度来看,您可能会发现以下有趣的基准测试结果:

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

有关基准测试本身的数据可以在http://wiki.osgeo.org/wiki/Benchmarking_2010中找到。


很酷。从我可以看到,Mapserver仍然是性能的野兽,似乎击败了其他竞争者。我以为Geoserver总体上将排在第二位,但是mapnik的表现出奇的好;即使在Postgis上,它的表现也要好于mapserver(无需重新投影)。那么,他们如何在功能方面进行比较?
nathanvda 2011年

7

还有QGIS服务器(WMS)。阅读“ QGIS Server –面向大众的WMS服务器”以了解更多信息。

我已经对Geoserver和UMN Mapserver之间的功能进行了比较

MapFish是一个很好的框架,但是您仍然需要在后台使用一些地图服务器。如果您正在使用Rails,则MapFish似乎是一个不错的选择:

MapFish框架是基于开放的基于HTTP的协议构建的,允许各种互操作的实现。除了基于Python / Pylons的框架提供的参考实现之外,当前还有其他两种实现:Ruby / Rails插件(GPLv3)和PHP / Symfony插件(BSD)


2
QGIS Mapserver似乎很有趣,特别是因为它与QGIS客户端配对,您可以在其中准备地图文件。Geoserver和Mapserver之间的比较也很有帮助。确实:整个Web管理员界面对我来说是一个巨大的优势。
nathanvda 2011年

Geoserver的安装速度非常快,并且与以前的版本相比,Web界面已经有了很大的改进。但是我真的很想念UMN Mapserver的mapscript功能的灵活性。
昏暗

2

提及geomajas也可能很有用。 http://apps.geomajas.org/showcase/ 对于构建GIS“应用程序”而不仅仅是显示地图特别有用。我喜欢高级查询和编辑选项。


我听说geomajas是基于Java的,并且具有客户端开发框架。因此,这将迫使我为此进行Java开发。我想要一些可以使用openlayers或类似的东西在我自己的网站(轨道)中使用的东西。因此,谢谢您的提示,但对我个人而言不适合。该文件:geotests.net/cours/sigma/webmapping/tableau_webmapping2010.pdf似乎证实了这一点。
nathanvda

不完全的。Geomajas还提供了一个JavaScript界面​​来进行客户端开发。要对地图进行高级自定义,您需要使用Java,但是您几乎可以通过Java来做所有事情。
Joachim Van der Auwera 2012年

谢谢,我不了解Geomajas,但是最近我在github上很少活动。
david.perez
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.