我目前知道以下开源GIS服务器:
Geoserver:基于Java,也支持矢量和位图。现在与mapserver(在性能方面)相当。
mapserver:c / c ++,曾经是最快的服务器。比矢量更适合栅格吗?对其了解不多,但是看起来很有吸引力
mapfish:据我所知,仅检索矢量数据以在openlayers中显示。确实存在Rails实施。 ,并且需要某种GIS服务器。我将需要栅格和矢量数据(可单击)。一台服务器可以做到吗?后端数据库将是Postgis。
#1 楼
该问题已转换为社区Wiki,并且维基百科已锁定
,因为它是一个寻求答案列表的问题的示例,并且似乎很受欢迎,可以防止其被关闭。
应该视为特例,不应将其视为此问题或任何Stack Exchange网站上鼓励的问题的类型,但是如果您希望提供更多内容,然后可以自由编辑该答案。
Laurent Jegou不断更新最新的出色文档,列出了所有已知的webmapping解决方案,并它们的范围和功能(包括客户端和服务器技术)。不幸的是,它是用法语编写的,但是由于它全部是技术性知识,因此您将能够轻松理解它。一目了然地排除其中一些。
最新版本可从以下URL获得: /2016/fig6_2016.pdf
评论
这确实是一个非常有趣的图表。 Laurent Jegou的出色作品!谢谢你的链接!对我来说,揭示了新的竞争者:geomajas和不同意。
– nathanvda
2011-2-28在16:40
从上次更新(tilemill.com)开始可以添加tileMill ;-)
–simo
11年2月28日在17:31
TileMill确实看起来不错。带有添加的管理控制台的Mapnik(或我阅读了它)。谢谢你的小费!
– nathanvda
2011-2-28在18:47
#2 楼
好吧,这可能是一个巨大的讨论,我将尝试用几句话简单介绍一下。您可以从树的角度比较列表中的软件:
1 )性能
在这里,已经建议的基准测试将是您最好的朋友,至少对于WMS来说是最好的朋友。服务是由软件提供的:此服务可能符合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轻松修改和自定义地图文件。
Mapnik是一个功能强大的库,可用作WMS(并且到FOSS4G 2010的最新基准测试时,它的性能令人印象深刻。)
还有其他众所周知的软件可以为WPS(pyWPS,ZooProject,52n WPS),OCS(GeoNetwork)和其他软件提供实现。
如果考虑使用MapFish,则可能需要添加列表GeoDjango和FeatureServer,这些列表不提供GIS Web服务的标准实现。 (即带有标签和社交内容)。
还可以看看这个新手:TileMill,它主要基于Mapnik,它基于node.js框架
3)体系结构
GeoServer和GeoNetwork基于Java(因此它们需要像Tomcat这样的servlet引擎)。
MapServer和Mapnik都是基于C的,它们可以在Apache httpd上很好地运行。在纯Python中。它们都可以通过modPython或WSGI在httpd中运行,也可以作为CGI运行。
请注意,几乎所有该软件都基于ubiquos GDAL库(甚至经常在专有软件中找到)。
#3 楼
从性能的角度来看,您可能会发现有趣的以下基准测试结果:http://www.slideshare.net/gatewaygeomatics.com/wms-performance-shootout-2010
有关基准测试本身的数据可以在http://wiki.osgeo.org/wiki/Benchmarking_2010中找到。
评论
很酷。从我可以看到,Mapserver仍然是性能的野兽,似乎击败了其他竞争者。我以为Geoserver总体上将排在第二位,但是mapnik的表现出奇的好;即使在Postgis上,它的表现也要好于mapserver(无需重新投影)。那么,他们如何在功能方面进行比较?
– nathanvda
2011-2-28 14:27
#4 楼
还有QGIS服务器(WMS)。阅读“ QGIS Server –适用于大众的WMS服务器”以获取更多信息。框架,但您仍然需要在后台使用一些地图服务器。如果您正在使用Rails,则MapFish似乎是一个不错的选择:
MapFish框架是基于基于HTTP的开放协议构建的,允许各种互操作的实现。除了基于Python / Pylons的框架提供的参考实现之外,当前还有其他两种实现:
Ruby / Rails插件(GPLv3)和PHP / Symfony插件(BSD)
评论
QGIS Mapserver似乎很有趣,尤其是因为它与QGIS客户端配对,可以在其中准备地图文件。 Geoserver和Mapserver之间的比较也很有帮助。确实:Web管理界面对我来说是一个巨大的优势。
– nathanvda
2011-2-28在16:49
Geoserver的安装速度非常快,并且与以前的版本相比,Web界面已经有了很大的改进。但是我真的很想念UMN Mapserver的mapscript功能的灵活性。
– Underdark♦
2011-2-28在18:30
#5 楼
提及geomajas也可能很有用。http://apps.geomajas.org/showcase/
对于构建GIS“应用程序”特别有用,而不仅仅是显示地图。我喜欢高级查询和编辑选项。
评论
我听说geomajas是基于Java的,并且具有客户端开发框架。因此,这将迫使我为此进行Java开发。我想要一些可以使用openlayers或类似的东西在我自己的网站(轨道)中使用的东西。因此,感谢您的提示,但对我个人而言不适合。该文件:geotests.net/cours/sigma/webmapping/tableau_webmapping2010.pdf似乎证实了这一点。
– nathanvda
2011-2-28在18:49
不完全的。 Geomajas还提供了一个JavaScript界面来进行客户端开发。为了对地图进行高级自定义,您需要使用Java,但是您几乎可以通过Java来做所有事情。
–约阿希姆·范德·奥韦拉(Joachim Van der Auwera)
2012年7月25日18:32
谢谢,我不了解Geomajas,但是最近我在github上很少活动。
– david.perez
2015年4月2日在9:15
评论
有点题外话,但这是一本不错的书,为mapnik提供了一些启示:alistapart.com/articles/takecontrolofyourmaps为什么没有人谈论mapguide?那呢?使用它有任何经验吗?
对于那些对性能比较感兴趣的人,以下博客文章可能非常有趣和有用:“ Tile Seeding中的基准化映射工具包”-mapsurfernet.com/blog/…
不幸的是,该帖子上没有评论选项。 Geoserver确实很糟糕,我猜他们只是使用了标准安装。他们使用了错误的JRE,我猜他们没有安装本机映像:docs.geoserver.org/stable/en/user/production/java.html