【技术实现步骤摘要】
一种云GIS平台的二次开发系统
[0001]本专利技术涉及云GIS平台二次开发领域,特别是一种云GIS平台的二次开发系统。
技术介绍
[0002]云GIS是一种基于云计算技术的地理信息系统,旨在对传统GIS的结构进行改进和扩展。它通过利用云计算的理论、方法和技术,提高GIS的存储、访问和海量空间数据的处理能力,以解决计算密集型和数据密集型的各种问题。和传统GIS相比,云GIS平台在架构时就决定了其对云计算具有天然的自适应能力。传统GIS平台的二次开发技术在国内外具有非常丰富的经验,但是对云GIS平台的二次开发,国内外鲜有涉及。目前,GIS平台的二次开发主要以单机PC端为主,当用户提出具体需求时,开发人员针对相应的需求开发对应的扩展。在云GIS之前,这种开发模式无疑是解决问题的最好的方式,由于其解决的问题比较简单,对数据量及计算的复杂度要求不高,所以开发的功能比较简单,开发效率很高。但是云GIS的推广和应用,云计算、大数据、人工智能等新一代信息技术的发展,传统GIS二次开发模式有很多问题难以克服,主要表现在以下几个方面:
[0003]一是从软件建构角度而言。目前很多公司GIS平台是十几年前或者几十年前架构的产品,重新架构一套云GIS平台成本很高,需要大量的人才储备及财力支撑,这就导致当前大多数GIS平台的二次开发产品对当前云计算适应能力有限,尤其是对分布式、大数据、密集型计算等方面处理能力不足。
[0004]二是从跨平台角度而言。GIS平台的二次开发产品,往往针对的是特定的运行环境,例如只能在Windo ...
【技术保护点】
【技术特征摘要】
1.一种云GIS平台的二次开发系统,其特征在于,所述二次开发系统包括:统一逻辑处理模块、界面与逻辑分离的人机交互模块、图形处理与消息通信模块、双向网络通信协议模块;所述统一逻辑处理模块用于根据获取的目标二次开发功能,生成对应的业务逻辑模型和参数录入接口、结果输出接口、人机交互接口,所述统一逻辑处理模块以整体模块的形式实现,使得在云GIS平台上实现一组逻辑处理功能,以负责对GIS数据进行处理、分析和呈现,所述目标二次开发功能是指用户需求的逻辑功能;所述界面与逻辑分离的人机交互模块用于根据所述人机交互接口,生成交互界面,所述人机交互接口不同的数据来源,对应不同的交互界面,所述界面与逻辑分离的人机交互模块实现用户界面与底层代码逻辑分开,使得所述底层代码逻辑和所述用户界面分别独立开发、维护和修改,根据不同运行平台开发不同的交互方式,通过所述用户界面录入的参数会被所述人机交互接口接收,执行的结果通过所述结果输出接口输出至所述用户界面反馈给用户;所述图形处理与消息通信模块用于在云GIS平台检测到各种图形数据修改后,保存修改后图形数据,并将修改后图形数据即时发送到云GIS服务,以及接收到云GIS服务反馈消息后,对自身保存的地图数据进行更新处理,所述反馈消息是云GIS服务在接收到其它云GIS平台发送的修改后图形数据后,进行筛选、检查、比对后发出的;所述双向网络通信协议模块用于生成二次开发插件的客户端和云GIS平台的服务端,以及确定网络通信协议,实现二次开发插件和云GIS平台之间数据格式、交换方式、错误检测和恢复机制的约定,保证两者有效、可靠地进行通信。2.根据权利要求1所述的二次开发系统,其特征在于,所述统一逻辑处理模块用于根据获取的目标二次开发功能,生成对应的业务逻辑模型和参数录入接口、结果输出接口、人机交互接口,包括:根据所述目标二次开发功能,进行逻辑抽象处理,建立抽象模型;利用C++语言,对所述抽象模型进行主体框架的构建,生成对应的业务逻辑模型;利用C++语言,构建所述参数录入接口、所述结果输出接口、所述人机交互接口,所述人机交互接口包括:鼠标、键盘、打印机、触摸、语音交互接口;利用IDL对C++语言构建的各个接口进行转义,构建统一的接口规范;对所述业务逻辑模型的详细功能结合IDL接口规范进行编译,采用Emscripten工具链进行整体逻辑模块的导出,以使得所述统一逻辑处理模块以整体模块的形式实现。3.根据权利要求2所述的二次开发系统,其特征在于,所述界面与逻辑分离的人机交互模块用于根据所述参数录入接口,生成交互界面,包括:根据所述人机交互接口,设计所述用户界面;根据程序运行的平台实现所述用户界面上交互的具体逻辑,包括:鼠标点击、鼠标移动、键盘按下、键盘弹起、打印机调用、移动平台屏幕按压检测、语言输入、设备移动距离;引入所述统一的逻辑处理模块中IDL接口规范编译产生的结果,实现对IDL接口的调用;设计所述交互界面,以对IDL接口调用结果进行结果展示。4.根据权利要求2所述的二次开发系统,其特征在于,所述图形处理与消息通信模块的
构建方法为:采用IDL将GIS平台图形绘制引擎核心接口进行转义;利用Emscripten工具链,将IDL和GIS平台图形绘制引擎进行编译,形成字节码文件;构建云GIS平台客户端,引入所述字节码文件和所述界面与逻辑分离的人机交互模块中的交互界面及逻辑;构建通信模块服务端和通信模块客户端,所述通信模块服务端采用C++结合WebSocket实现,包括两个部分:云GIS平台客户端每次对地图数据修改的版本记录,云GIS平台客户端对地图修改保存后的更新推送;所述通信模块客户端采用JS结合WebSocket实现,包括两个部分:云GIS平台客户端收到更新推送后,更新本地地图,云GIS平台客户端从通信模块服务端获取地图的版本记录。5.根据权利要求2所述的二次...
【专利技术属性】
技术研发人员:郭强伟,杨阳,吴道政,张鹏鹏,王允,邹宏,王双勇,毛善君,
申请(专利权)人:北京龙软科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。