摘要: 1.主流组合: 基于C、C++系列的:Mapserver(服务器)+QGIS(桌面软件)+PostGIS(数据库)+Openlayers(JS)/ openscale (FLex)(浏览器客户端) 基于JavaEE系列的:Geoserver(服务器)+uDig...
1.主流组合:
基于C、C++系列的:Mapserver(服务器)+QGIS(桌面软件)+PostGIS(数据库)+Openlayers(JS)/ openscale (FLex)(浏览器客户端)
基于JavaEE系列的:Geoserver(服务器)+uDig(桌面软件)+PostGIS(数据库)++Openlayers(JS)/ openscale (FLex)(浏览器客户端)
2.对比
功能上:MapServer弱于GeoServer,QGIS要强于UDIG
效率上:Mapserver对WMS(Web Map service)的支持更为高效,而Geoserver则更擅长于结合WFS(Web Feature service)规范的属性查询。
MapServer提供两种工作方式,CGI方式(适用于CGI、AJAX、FLEX开发人员)和MapScript方式(适用于Php、Java、 C#、Python开发人员)。以原生CGI方式效率最高,配合TileCache,可以快速生成大范围的地图瓦片数据。比较基于.Net和J2EE的商业或开源平台,MapServer更适合高负荷的大型互联网地图应用。
mapserver是基于C写的地图服务软件,比用JAVA写的geoserver速度要快。而且mapserver历史要比 geoserver悠久,甚至还描述mapserver的性能与商业的arcIMS的功能一样。
GeoServer实现了让你在线编辑空间数据,生成专题地图。地图发布是用xml文件,MapServer善长于生成专题地图。比以前更成熟了。地图发布是通过和Win32相似的文本配置文件。如果只是发布地图而不允许修改的话我主张使用MapServer。我觉得它维护起来更简单容易些。我选择GeoServer是因为我想要更好的功能就像在线编辑和数据库的支持像PostgreSQL或Oracle空间数据库。GeoServer的另一个优势就是有一个免费的跟ESRI's ArcVies相似的客户端软件UDIG
使用感觉:
GeoServer需要额外安装下JRE,在地图的发布上和ArcGis的有很大的差别,特别是样式上比较不好制作。UDIG使用起来感觉不太方便。目前感受到的好处是:当发布完了地图服务后,想修改某一个图层的样式的时候,只需要修改下原来引用的样式就可以了,不需要重新发布图层等等操作。
MapServer的安装包(ms4w.zip,解压到根目录下)里内置了Apache,不过因为IIS占用了80的端口,所以需要设置下端口 (在\ms4w\Apache\conf\ httpd.conf中,将Listen 80改为Listen 8081)。在发布服务方面,MapServer有一个和mxd(ArcGIS)类似的map文件来描述地图的图层及样式,不同的是,在使用地图服务的时 候,调用的url中需要知道map文件的位置,而ArcGIS则不需要。