WebGIS选型
2015-12-30 11:25
323 查看
1.背景
最近已有的一个项目中需将非GIS版本的区域预警换成GIS版本,一是因为客户对已有地图(也就是amcharts之类的示意地图)功能的不满意,二是已有地图无法对业务数据进行分析和定位,考虑到后期会可能会对业务数据的空间定位和展示以及空间分析等有所需求,综合以上两点领导还是决定替换现有地图,且领导明确表示用开源的WebGIS(考虑到成本)。2.业务梳理
梳理了一下要求,基本是一下几点:1、WebGIS,能够方便的集成到现有的系统中;(js、flex二选一)
2、有自己的地图服务,而且也是开源的,地图配色要和之前的气象项目一样;(geoserver、mapserver二选一)
3、可以生成区域预警图(不同数量不同颜色,由浅到深);(矢量图层渲染)
4、能够根据时间条件进行查询;(这个简单,不作为选型条件)
5、点击行政区划,显示详情列表;(要素的点选功能)
3.开源webgis解决方案
3.1 主流组合
综合上面要求,目前两种主流开源主要组合:1、基于C、C++系列的:Mapserver(服务器)+QGIS(桌面软件)+PostGIS(数据库)+Openlayers(JS)/ openscale (FLex)(浏览器客户端)
2、基于JavaEE系列的:Geoserver(服务器)+uDig(桌面软件)+PostGIS(数据库)++Openlayers(JS)/ openscale (FLex)(浏览器客户端)
3.2 对比
功能上:MapServer弱于GeoServer,QGIS要强于UDIG效率上:Mapserver对WMS(Web Map service)的支持更为高效,而Geoserver则更擅长于结合WFS(Web Feature service)规范的属性查询
详细见:http://vincentchun.iteye.com/blog/377411
3.3 MapServer特点
提供两种工作方式,CGI方式(适用于CGI、AJAX、FLEX开发人员)和MapScript方式(适用于Php、Java、 C#、Python开发人员)。以原生CGI方式效率最高,配合TileCache,可以快速生成大范围的地图瓦片数据。比较基于.Net和J2EE的商 业或开源平台,MapServer更适合高负荷的大型互联网地图应用。MapServer 是基于C写的地图服务软件,比用JAVA写的GeoServer速度要快。而且 MapServer 历史要比 GeoServer 悠久,甚至MapServer的性能与商业的 ArcIMS 的功能可以娉美。
3.4 GeoServer特点
GeoServer(http://geoserver.org/) 是一个符合J2EE规范,且实现了WCS、WMS及WFS规格,支持TransactionWFS(WFS-T),其技术核心是整合了颇负盛名的 JavaGISolkit--GeoTools。对于空间信息存储,它支持ESRI Shapefile及PostGIS、Oracle、ArcSDE等空间数据库,输出的GML档案满足GML2.1的要求。由于它是纯Java的,所以更 适合于复杂的环境要求,而且由于它的开源,所以开发组织可以基于GeoServer灵活实现特定的目标要求,而这些都是商业GIS组件所缺乏的。GeoServer作为一个纯粹的Java实现,被部署在应用服务器中,简单的如Tomcat等;它的WMS和WFS组件响应来自于浏览器或uDig的请 求,访问配置的空间数据库,如PostGIS、OracleSpatial等,产生地图和GML文档传输至客户端。
具有以下优点: 1) 用 java 语言编写、标准的 J2EE 框架、基于 ser vlet 和 STRUTS 框架、 支持高效的 Spring 框架开发; 2) 兼容 WMS 和 WFS 特性、支持 WFS-T 规范; 3) 高效的数据库支持 PostGIS、ShapeFile、ArcSDE,Oracle、MySQL 等; 4) 支持上百种投影; 5) 能够将网络地图输出为 jpeg、gif、png 等格式;
参考自:http://www.open-open.com/lib/view/open1419925386234.html#_label2
3.5 网上的各种讨论
GEOSERVER实现了让你在线编辑空间数据,生成专题地图.地图发布是用xml文件, MAPSERVER善长于生成专题地图. 比以前更成熟了.地图发布是通过和Win32相似的文本配置文件. 如果只是发布地图而不允许修改的话我主张使用MAPSERVER.我觉得它维护起来更简单容易些.我选择GEOSERVER是因为我想要更好的功能就像在线编辑和数据库的支持像PostgreSQL或Oracle空间数据库.GEOSERVER的另一个优势就是有一个免费的跟ESRI's ArcVies相似的客户端软件UDIG
详细见:http://www.cnblogs.com/mazhenyu/archive/2013/03/16/2963177.html
4.总结
因为是轻量级GIS应用,所以前段开发毫无疑问采用的是JavaScript;经过试用,最后选择的geoserver,因为它更适合部署;最后确定的解决方案是:Geoserver(服务器)+uDig(桌面软件)+shapefile文件数据库+Openlayers(JS)5.阅读过的文章
1、基于开源平台构建WebGIS应用系统;2、关于WebGIS开源解决方案的探讨
3、GeoServer和MapServer的对比
4、http://www.open-open.com/lib/view/open1419925386234.html#_label2
相关文章推荐
- Apache中的Order Allow,Deny用法详解
- Heasian与Spring集成
- preg_replace 以及弃用的e
- android 软件键盘
- android 百分比layout布局
- 使用jedis2.8.0连接redis
- Setup Factory删除TODO文件
- 如何定义带下标的js数组
- JS分页案例
- HTML5之拖放属性实现图片的拖放
- GTK 滚动窗口构件(GtkScrolledWindow)
- SQLite数据库的使用
- NoSQL技术
- OSPF实验二
- 我为啥这么懒
- Linux添加主机路由
- php常用转义字符‘ “ {} $ \n
- 清除sqlserver日志方法(不适合always on)
- 域名解析中A记录、CNAME、MX记录、NS记录的区别和联系
- 积攒的一些问题