一种云GIS平台的二次开发系统技术方案

技术编号:38351675 阅读:13 留言:0更新日期:2023-08-05 17:24
本发明专利技术提供一种云GIS平台的二次开发系统,涉及云GIS平台二次开发领域,旨在解决开发重复工作量、产品维护困难、平台受设备限制等问题。该方法采用统一的逻辑处理模块解决了重复开发和维护困难的问题,界面与逻辑分离的人机交互模块确保了GIS功能的一致性,图形处理与消息通信模块通过分享协同的方式及时通知其他用户,双向网络通信协议模块实现了跨语言特性和插件热加载等。通过逻辑、界面、编程语言分离的架构方式实现一套逻辑、多套平台适配的二次开发跨平台方案,提高了跨平台云GIS平台在图形处理及二次开发方面的效率化、科学化和智能化水平。该方法的实现提高了跨平台云GIS的开发效率和用户体验,对于GIS应用的发展具有积极意义。有积极意义。有积极意义。

【技术实现步骤摘要】
一种云GIS平台的二次开发系统


[0001]本专利技术涉及云GIS平台二次开发领域,特别是一种云GIS平台的二次开发系统。

技术介绍

[0002]云GIS是一种基于云计算技术的地理信息系统,旨在对传统GIS的结构进行改进和扩展。它通过利用云计算的理论、方法和技术,提高GIS的存储、访问和海量空间数据的处理能力,以解决计算密集型和数据密集型的各种问题。和传统GIS相比,云GIS平台在架构时就决定了其对云计算具有天然的自适应能力。传统GIS平台的二次开发技术在国内外具有非常丰富的经验,但是对云GIS平台的二次开发,国内外鲜有涉及。目前,GIS平台的二次开发主要以单机PC端为主,当用户提出具体需求时,开发人员针对相应的需求开发对应的扩展。在云GIS之前,这种开发模式无疑是解决问题的最好的方式,由于其解决的问题比较简单,对数据量及计算的复杂度要求不高,所以开发的功能比较简单,开发效率很高。但是云GIS的推广和应用,云计算、大数据、人工智能等新一代信息技术的发展,传统GIS二次开发模式有很多问题难以克服,主要表现在以下几个方面:
[0003]一是从软件建构角度而言。目前很多公司GIS平台是十几年前或者几十年前架构的产品,重新架构一套云GIS平台成本很高,需要大量的人才储备及财力支撑,这就导致当前大多数GIS平台的二次开发产品对当前云计算适应能力有限,尤其是对分布式、大数据、密集型计算等方面处理能力不足。
[0004]二是从跨平台角度而言。GIS平台的二次开发产品,往往针对的是特定的运行环境,例如只能在Windows操作系统运行或者只能在Linux操作系统上运行,没有实现图形处理逻辑和界面的分离。为实现二次开发插件的跨平台,有些人选择在对应的操作系统下开发对应的产品,有些人选择在编码阶段增加大量的宏定义来预处理程序逻辑。这种开发方式工作量很大、后期的维护也相当困难。
[0005]三是从运行终端角度而言。GIS平台的二次开发产品,主要是面向PC用户,以客户端/服务器(C/S)这种部署方式为主。但是随着移动设备的普及,移动办公的需求也日益重要,以浏览器/服务器(B/S)架构的应用也越来越收到重视。传统GIS二次开发的产品很难在移动设备及浏览器上运行。
[0006]四是从图形处理角度而言。GIS平台二次开发对图形的处理需要从传统的单机模式向共享、实时协同方向转变。地图分享及实时协同可以避免如手动拷贝地图数据造成的数据泄露、数据不一致、重复工作量等问题。
[0007]五是从开发角度而言。GIS平台的二次开发对开发语言一般都有严格的限制,只能选择其指定的某些语言类型,对编码人员水平要求较高。当产品部署完成后,如果有新的应用需求,需要重新打包发布,大大增加了运维工作量,同时也不利于GIS生态的发展。
[0008]六是从用户角度而言,为了提供更好的体验,GIS平台应该具有一种支持热加载插件的功能。这意味着,在GIS平台部署完成之后,用户可以使用自己的算法处理特定问题,可以通过编写在线脚本即时执行。然而,当前GIS平台在满足这种需求方面的处理能力不足。

技术实现思路

[0009]鉴于上述问题,本专利技术提出了一种云GIS平台的二次开发系统。
[0010]本专利技术实施例提供了一种云GIS平台的二次开发系统,所述二次开发系统包括:统一逻辑处理模块、界面与逻辑分离的人机交互模块、图形处理与消息通信模块、双向网络通信协议模块;
[0011]所述统一逻辑处理模块用于根据获取的目标二次开发功能,生成对应的业务逻辑模型和参数录入接口、结果输出接口、人机交互接口,所述统一逻辑处理模块以整体模块的形式实现,使得在云GIS平台上实现一组逻辑处理功能,以负责对GIS数据进行处理、分析和呈现,所述目标二次开发功能是指用户需求的逻辑功能;
[0012]所述界面与逻辑分离的人机交互模块用于根据所述人机交互接口,生成交互界面,所述人机交互接口不同的数据来源,对应不同的交互界面,所述界面与逻辑分离的人机交互模块实现用户界面与底层代码逻辑分开,使得所述底层代码逻辑和所述用户界面分别独立开发、维护和修改,根据不同运行平台开发不同的交互方式,通过所述用户界面录入的参数会被所述人机交互接口接收,执行的结果通过所述结果输出接口输出至所述用户界面反馈给用户;
[0013]所述图形处理与消息通信模块用于在云GIS平台检测到各种图形数据修改后,保存修改后图形数据,并将修改后图形数据即时发送到云GIS服务,以及接收到云GIS服务反馈消息后,对自身保存的地图数据进行更新处理,所述反馈消息是云GIS服务在接收到其它云GIS平台发送的修改后图形数据后,进行筛选、检查、比对后发出的;
[0014]所述双向网络通信协议模块用于生成二次开发插件的客户端和云GIS平台的服务端,以及确定网络通信协议,实现二次开发插件和云GIS平台之间数据格式、交换方式、错误检测和恢复机制的约定,保证两者有效、可靠地进行通信。
[0015]可选地,所述统一逻辑处理模块用于根据获取的目标二次开发功能,生成对应的业务逻辑模型和参数录入接口、结果输出接口、人机交互接口,包括:
[0016]根据所述目标二次开发功能,进行逻辑抽象处理,建立抽象模型;
[0017]利用C++语言,对所述抽象模型进行主体框架的构建,生成对应的业务逻辑模型;
[0018]利用C++语言,构建所述参数录入接口、所述结果输出接口、所述人机交互接口,所述人机交互接口包括:鼠标、键盘、打印机、触摸、语音交互接口;
[0019]利用IDL对C++语言构建的各个接口进行转义,构建统一的接口规范;
[0020]对所述业务逻辑模型的详细功能结合IDL接口规范进行编译,采用Emscripten工具链进行整体逻辑模块的导出,以使得所述统一逻辑处理模块以整体模块的形式实现。
[0021]可选地,所述界面与逻辑分离的人机交互模块用于根据所述参数录入接口,生成交互界面,包括:
[0022]根据所述人机交互接口,设计所述用户界面;
[0023]根据程序运行的平台实现所述用户界面上交互的具体逻辑,包括:鼠标点击、鼠标移动、键盘按下、键盘弹起、打印机调用、移动平台屏幕按压检测、语言输入、设备移动距离;
[0024]引入所述统一的逻辑处理模块中IDL接口规范编译产生的结果,实现对IDL接口的调用;
[0025]设计所述交互界面,以对IDL接口调用结果进行结果展示。
[0026]可选地,所述图形处理与消息通信模块的构建方法为:
[0027]采用IDL将GIS平台图形绘制引擎核心接口进行转义;
[0028]利用Emscripten工具链,将IDL和GIS平台图形绘制引擎进行编译,形成字节码文件;
[0029]构建云GIS平台客户端,引入所述字节码文件和所述界面与逻辑分离的人机交互模块中的交互界面及逻辑;
[0030]构建通信模块服务端和通信模块客户端,所述通信模块服务端采用C++结合WebSocket实现,包本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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所述的二次...

【专利技术属性】
技术研发人员:郭强伟杨阳吴道政张鹏鹏王允邹宏王双勇毛善君
申请(专利权)人:北京龙软科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1