好吧,这可能是一次巨大的讨论,我将尝试用几句话简单介绍一下。您可以从树的角度比较列表中的软件:
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库(通常甚至可以在专有软件中找到)。