1.前言
最近在做项目过程中,用到了WAB,先做一下总结和归类。Webappbuilder(简称WAB)是运行在portal或者online的一款webGIS开发应用程序,其代码开源并且具有优秀的设计外观、多个系统微件、多平台运行、积木模式搭建、灵活可扩展的开发方式,为现代webGIS开发的典范。
由于WAB软件运行环境的要求比较严格,必须托管在Portal或者Online上运行,对开发者或者应用者的使用造成了很大的障碍,使得开发者望而却步。在不改变该软件整体结构和架构基础上,研发了WAB中间件,实现了WAB脱离Portal独立运行,用户可以利用本地服务进行开发和部署。
首先在不改变WAB源码的框架体系下,增加了基于json文件的地图配置,修复了部分微件依赖原有的Portal的内容,确保90%以上的微件都能正常使用,同时对每个微件的配置文件给出样例,确保手动修改就能完成配置,最后本团队还自主开发了多个实用性微件,包括历史轨迹回放、区域资源分析报告生成、剖面线生成、在线绘制等值线等值面、多维数据时间轴播放、历史时间回放、图表联动、多地图对比、excel坐标导入与编辑管理、加载本地Shapefile、天地图加载等功能微件,便于客户结合业务深入二次开发。
(1)WAB中间件关键技术
- 独立运行WebGIS开发框架,部署环境不受限制,像搭积木一样简单,零代码轻松快速创建项目,就可以快速创建直观、漂亮的Web应用。
- 应用可以运行于任何平台,桌面、平板、移动设备。
- 纯HTML+JS开发,可以展示2D和3D地图。
- 强大的GIS工具,提供即拿即用的功能模块,集成40多个GIS功能小组件。
- 可扩展性,可以开发自定义的应用小组件。
- 多种样式模板和基调色彩可提供选择。
(2)WAB中间件特点
- 对于普通用户是快速搭建应用的工具。
- 对开发者是快速搭建应用原型的工具。
- 开发者可以深度开发的Theme和Widget,提供给最终客户使用。
- 纯html5/javascript应用程序,完整的框架体系,可以与业务系统完美结合与实时交互。
最新版本下载(提供源码):点击此处下载Wab25V2019-2018年9月26日18:50:14
2、WAB更新与版本
WAB版本采用与ArcGIS API for JavaScript 版本对应,随着ArcGIS API for JavaScript的版本更新而更新,Web AppBuilder for ArcGIS目前版本为2.9,使用的是ArcGIS API 3.25版本。目前版本对应关系如下:
序号 | ArcGIS API版本 | WAB版本 |
1 | 3.21 | 2.5 |
2 | 3.22 | 2.6 |
3 | 3.23 | 2.7 |
4 | 3.24 | 2.8 |
5 | 3.25 | 2.9 |
3、系统自主开发特色功能展示
1、多维数据展示(时间轴+深度轴),可以用于时间序列和不同空间深度的数据综合展示。
2、Excel坐标导入与编辑功能,可以实现excel数据直接进行图形化,对图形进行符号化和导出geojson格式数据集。
3、数据聚合管理,可对海量点数据进行聚合展示,随着缩放级别不同,聚合同时变化。
4、剖面图绘制,绘制地形剖面线,在剖面图上滑动,地图上也会显示该点位置。
5、时间轴管理,对于时间序列不连续的事件进行统一管理。
6、对比图同步缩放
7、自定义图层符号,可进行图层的唯一值渲染、分级渲染等。
8、图层标注动态面板
9、地图故事集成,可将地图故事模块作为一个组件与框架完美结合。
10、历史轨迹播放,可用于车辆历史轨迹回放,并根据不同级别进行动态标注。
11、实时车辆显示,车辆可在地图上跑动。
4.总结
WAB采用ArcGIS JavaScript for API作为地图开发底层,采用Web AppBuilder作为开发框架,利用该框架即拿即用的Widget来构建应用,比如制图、查询、地理处理、编辑、打印等基础功能,同时自行开发相应的Wedget满足自己的业务需求,实现一次开发多次使用。
在实际应用中系统已通过开发和配置不同的Widget,拓展了综合查询、空间统计、轨迹回放等功能,实现空间信息分析与展示等业务需求。系统将在业务发展中不断拓展更多功能,最终将会形成一个强大的工具库。
相关学习地址:
- ArcGIS JavaScript for API地址: https://developers.arcgis.com/javascript/
- web-appbuilder Portal版地址: https://developers.arcgis.com/web-appbuilder/