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,拓展了综合查询、空间统计、轨迹回放等功能,实现空间信息分析与展示等业务需求。系统将在业务发展中不断拓展更多功能,最终将会形成一个强大的工具库。

相关学习地址:

  1. ArcGIS JavaScript for API地址:  https://developers.arcgis.com/javascript/
  2. web-appbuilder Portal版地址: https://developers.arcgis.com/web-appbuilder/

WebAppBuilder独立于Portal之arcgis for js应用框架研究的更多相关文章

  1. WebAppBuilder独立于portal之arcgis for js应用框架研究之二

    WAB采用ArcGIS JavaScript for API作为地图开发底层,采用Web AppBuilder作为开发框架,利用该框架即拿即用的Widget来构建应用,比如制图.查询.地理处理.编辑. ...

  2. 如何通过REST API登录Portal for ArcGIS

    Portal for ArcGIS 提供了两种登录方式:OAuth 2.0和传统的token登录方式. OAuth 2.0的登录原理在之前的一篇文章中已经描述,所以今天就不重复了.下面将介绍对于不支持 ...

  3. 安装Portal for ArcGIS时如何正确配置HTTPS证书

    SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持.SSL协议可分为两层: SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为 ...

  4. Portal for ArcGIS安装指南

    参考帮助: http://resources.arcgis.com/en/help/install-guides/arcgis-portal-windows/10.2/index.html#/Inst ...

  5. Portal for ArcGIS上传shp文件中文乱码可能情况

    环境: windows Server 2008:Portal for ArcGIS 10.2:ArcGIS for Server 10.2:PostgreSQL 9.2:ArcGIS for Desk ...

  6. Arcgis for JS之Cluster聚类分析的实现(基于区域范围的)

    原文:Arcgis for JS之Cluster聚类分析的实现(基于区域范围的) 咱们书接上文,在上文,实现了基于距离的空间聚类的算法实现,在本文,将继续介绍空间聚类之基于区域范围的实现方式,好了,闲 ...

  7. Arcgis for JS之Cluster聚类分析的实现

    原文:Arcgis for JS之Cluster聚类分析的实现 在做项目的时候,碰见了这样一个问题:给地图上标注点对象,数据是从数据库来 的,包含XY坐标信息的,通过graphic和graphicla ...

  8. 【ArcGIS 10.2新特性】Portal for ArcGIS新特性

    1.概述 经过各版本的积累和更新,Portal for ArcGIS在ArcGIS10.2中以正式产品的形态加入到了ArcGIS系列产品线中.它有3个主要定位:协同管理平台.在线制图平台以及内容管理平 ...

  9. Arcgis for js载入天地图

    综述:本节讲述的是用Arcgis for js载入天地图的切片资源. 天地图的切片地图能够通过esri.layers.TiledMapServiceLayer来载入.在此将之进行了一定的封装,例如以下 ...

随机推荐

  1. python 缺失值的处理

  2. B P5 第十三届北航程序设计竞赛预赛

    https://buaacoding.cn/contest-ng/index.html#/188/problems 其实这题挺简单的. 注意到答案的大小最多是22 二分,check长度是mid的不同子 ...

  3. Django重新整理2

    Auth认证: 1.分配路由和创建视图函数 2.在视图函数中引用Django为我们提供的用户认证组建Auth 3.直接进行判断: def login(request): if request.meth ...

  4. [原创]Dubbo配置(Spring4+Hiberante4+Druid)

    如果dubbo使用注解,并且spring也使用注解,如使用事务,则dubbo加过注解的类无法发布. <?xml version="1.0" encoding="UT ...

  5. DEDE SQL标签可以获取文档静态链接地址

    在DedeCMS的系统里面,我可以通过由使用SQL语句来配合织梦标签进行更多的个性化调用.比如:推荐会员.推荐企业等.但是我们发现文档链接的底层模板地址的是动态的,那么我们要如何来进行转换,让他链接到 ...

  6. Quartz使用(6) - Quartz项目实战

    本片博文将阐述项目工作中使用Quartz的情况,包含项目背景.项目框架.Quartz集群部署等方面,重点讲述如何在实际项目中使用Quartz. 1. 背景 因项目需求,需要定时调用数据下载接口,并将数 ...

  7. 【转】Android事件分发机制完全解析,带你从源码的角度彻底理解(下)

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/9153761 记得在前面的文章中,我带大家一起从源码的角度分析了Android中Vi ...

  8. 总结spring

    通过对spring的学习 什么是spring Spring是一个基于IOC和AOP的结构J2EE系统的框架 IOC 反转控制 是Spring的基础,Inversion Of Control 简单说就是 ...

  9. Hibernate课程 初探多对多映射2-2 创建持久化类和映射文件

    生成实体类 和 cfg.xml配置 cfg.xml 参照一对多映射 实体类如下: Project 类 package com.ddwei.entity; import java.util.HashSe ...

  10. 基于百度ai,图灵机器人,Flask 实现的网站语音智能问答

    准备以下模块中的函数 from aip import AipSpeech import time import os import requests APP_ID = '15420654' API_K ...