CN111651283B - 一种分布式gis实时协同驱动方法 - Google Patents
一种分布式gis实时协同驱动方法 Download PDFInfo
- Publication number
- CN111651283B CN111651283B CN202010418548.3A CN202010418548A CN111651283B CN 111651283 B CN111651283 B CN 111651283B CN 202010418548 A CN202010418548 A CN 202010418548A CN 111651283 B CN111651283 B CN 111651283B
- Authority
- CN
- China
- Prior art keywords
- gis
- real
- time
- collaborative
- geographic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1454—Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Remote Sensing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于地理对象属性变化监听的分布式GIS实时协同驱动方法,属于地理信息系统、计算机支持协同工作技术领域,该方法在各协作客户端的用户进行分布式实时协同工作时,通过对特定地理对象属性变化的监听,来判断是否触发GIS的实时协作,若当前GIS操作造成预设的地理对象属性变化超过阈值范围则启动GIS的实时协同工作。基于地理对象属性变化监听的分布式GIS实时协同实现方法使得GIS实时协作的粒度更细,地图实时协作界面变化更加平滑,带给用户更加细腻的GIS实时协作感知体验,同时也能够消除一些不必要的冗余GIS协同操作。
Description
技术领域
本发明属于地理信息系统、计算机支持协同工作技术领域,尤其涉及一种基于地理对象属性变化监听的分布式GIS实时协同驱动方法。
背景技术
分布式GIS实时协同工作,也可以称为分布式GIS同步协同工作,在该领域常用的名词还有公众参与式GIS、空间决策支持系统、讨论式地图。分布式GIS实时协同工作的特征为:多个用户处在不同的地理位置(空间分布性)在同一时间(时间同步性)针对某一地理空间问题进行商讨、决策,不同用户之间的你所见即我所见是这种工作方式的应用特征。也就是说,参与此次实时协作的用户之间能彼此感受到对方的GIS操作过程与操作结果,具有用户之间的视图一致性。以前的分布式GIS实时协同工作系统的构建,采用的是基于操作系统提供的计算机交互事件来驱动。计算机交互事件即协同用户在地图界面上的操作,对于分布式GIS实时协同系统而言,用户常用的交互事件有鼠标事件、键盘事件两种,通过人机交互事件控制GIS实时协作的起始。
在GIS实时协同系统中,GIS实时协作的触发事件常用的是协同计算机交互事件,基于计算机交互事件的一次GIS实时协作过程可以描述为:参与此次实时协作的某一用户(客户端A)在本地机器上执行一个GIS操作,通过鼠标或键盘事件来判断一个完整GIS操作已完成(在绑定监听鼠标、键盘事件的处理函数中开启协同操作的开关,通过人机交互事件控制协同的起始),此时需要进行实时协作,将该GIS操作使用XML技术封装成一个GIS命令消息,利于消息通信技术将该消息发送给参与协作的另一客户端B,客户端B接收到该条GIS命令消息后予以解析,并执行反演该GIS操作,以此来实现GIS的实时协同工作。这种协同工作驱动机制是用户的GIS操作一旦触发了可视化界面上地图控件绑定的事件,便触发GIS操作实时协作。简单地讲,用户在基于地图的协同环境中工作的时候,会使用鼠标、键盘操作当前数字地图,由此产生的事件作为协同开关,将当前协同环境的参数作为协同消息传递给其他用户,其他用户根据参数反演操作,实现协同。
基于计算机交互事件(鼠标、键盘事件)来驱动实时协作是目前构建GIS实时协同系统所采用的技术方案,采用这种驱动方法来构建分布式GIS实时协同系统的有,承达瑜使用JavaScript、OpenLayers、ExtJS框架,实现了多用户GIS协同系统,实现了地图协同标绘等功能;孙亚琴使用ArcEngine 9.3、MSMQ(Microsoft message queue)消息中间件技术结合C#语言初步构建了实时协同GIS系统,实现了空间查询、缓冲区分析等GIS功能。
基于计算机交互事件驱动来实现GIS实时协作的缺点为:(1)这种方式会产生大量的冗余消息,一些操作会频繁地使地理对象发生变化,而引起的这些地图变化可能是不需要协同的。例如,用户在地图视图中做平移操作时,每一次拖拽都会改变视图范围,频繁的平移操作会导致协同端视图变化剧烈,影响协同感知效果;(2)基于计算机交互事件驱动的GIS实时协同工作,协同粒度比较粗,协同感知效果不理想。例如,做缓冲区分析操作时,需要若干步骤,首先要选定待建缓冲区的地物,如一条河流、或一个污水点、或一个民居小区,然后设置缓冲区范围与单位,如10米、50米等距离量度,然后建立缓冲区,总的来讲,缓冲区操作从协同发起来看,需要至少三步,但是基于计算机交互事件驱动的GIS实时协作,被协同端看到的只是一个缓冲区操作的结果,具体的协作过程并不可见,协同粒度粗,影响协同感知效果。
发明内容
发明目的:针对基于计算机交互事件实现GIS实时协作所存在的问题,本发明提出一种基于地理对象属性变化监听的分布式GIS实时协同驱动方法,通过对特定地理对象属性变化的监听,来判断是否触发GIS的实时协作,使得GIS实时协作的粒度更细,地图实时协作界面变化更加平滑,带给用户更加细腻的GIS实时协作感知体验,同时也能够消除一些不必要的冗余GIS实时协同操作。
技术方案:为实现本发明的目的,本发明所采用的技术方案是:一种基于地理对象属性变化监听的分布式GIS实时协同驱动方法,包括以下步骤:
S1,群体用户基于地理空间数据进行同步地分布式协同工作,其中某一用户在其客户端进行GIS操作,该GIS操作作用于一个地理空间要素实体;
S2,对该地理空间要素实体的属性值进行监听,若属性值发生的变化超过预设的阈值,则启动GIS的实时协同工作;
S3,当GIS的实时协同工作被触发时,记录GIS实时协同操作消息,该消息包括当前协同环境的参数,并通过消息传递方法将该GIS实时协同操作消息发送到服务器端;
S4,服务器端将接收到的GIS实时协同操作消息存储在协作消息队列中,并通过消息传递方法分发给其他协作客户端;
S5,协作客户端对接收到的该条GIS实时协同操作消息进行解包处理,提取出当前协同工作发起环境的各项参数;
S6,阻断地理对象变化事件,根据解析后的数据查找或创建地理对象,更新变化的地理对象属性值,反演该GIS操作,保持与协作发起方的地图视图一致性。
进一步的,所述步骤S2,每一个监听定义,包括地理对象、属性名字、属性变化事件、触发类型和处理函数。
进一步的,所述步骤S3,使用XML或JSON格式记录GIS实时协同操作消息;所述GIS实时协同操作消息由以下参数项构成:协同工作发起者的标识、GIS实时协同操作产生时间、GIS操作类型名称、作用的地理对象实体标识、地理对象实体变化后的属性值、当前GIS实时协同操作所造成的地图视图或被作用地理实体的变化的参数。
有益效果:与现有技术相比,本发明的技术方案具有以下有益的技术效果:
本发明所述基于地理对象属性变化事件的协同驱动,是在计算机交互事件驱动之上又增加了一层抽象,通过对地理对象的属性变化绑定监听,每当用户操作该地理对象使其属性值发生变化,超过预设的阈值就会触发响应,本发明的意义在于,GIS实时协作的触发从单一的鼠标、键盘事件,提升为地理事件,通过增加的这一层抽象可以使得GIS实时协作的粒度更细、带给用户更加细腻的GIS实时协作感知体验,被协作方的地图视图界面不会太突然,协同结果展示过程和计算机交互事件驱动的GIS实时协作更加平滑,同时可以消除一些不必要的冗余GIS实时协同操作,这些冗余的GIS实时协同操作,会使得整个GIS协作过程看起来在地图视图界面上比较乱,而基于地理对象属性变化监测来实现的GIS实时协同工作会大大降低冗余GIS操作的产生。
附图说明
图1是GIS实时协作驱动原理示意图;
图2是基于计算机交互事件的分布式GIS实时协作过程示意图;
图3是基于地理对象属性变化事件驱动的GIS实时协作过程示意图;
图4是基于地理对象属性变化事件驱动的GIS实时协作方法流程图。
具体实施方式:
下面结合附图和实施例对本发明的技术方案作进一步的说明。
计算机交互事件或协同地理对象响应事件的原理都是通过事件监听响应来启动协同过程,其原理如图1所示。基于计算机交互事件的一次GIS实时协作过程如图2所示。
本实施例的系统为分布式群体实时协同工作系统,系统架构可以为客户端/服务器结构、浏览器/服务器结构、或面向服务的架构,客户端可以为计算机、手机或iPAD等具有计算能力的设备;所述系统具备服务器端,服务器端包括Web服务、GIS服务、数据服务、消息通信服务等功能模块。本发明所述的一种基于地理对象属性监听的分布式GIS实时协同驱动方法,协作过程示意如图3所示,方法流程如图4所示,具体包括:
用户注册登录后,参与本次基于地理空间数据的GIS分布式群体实时协作;当实时协同工作开始时,其中一个用户在其本地计算设备上执行了一个GIS操作;该GIS操作造成了一个地理空间实体对象的一个属性值发生了变化,若该属性值为被监听的属性值,且该属性值的变化超过了预设的阈值范围,则GIS分布式实时协同工作被启动。
该用户的客户端应用程序将根据这次GIS操作生成一个GIS实时协同操作消息,该消息记录了以下信息:协同工作发起者的标识、GIS实时协同操作产生时间、GIS操作类型名称、作用的地理对象实体标识、地理对象实体变化后的属性值、当前GIS实时协同操作所造成的地图视图或被作用地理实体的变化的参数。
利用消息通信技术将该协同消息发送到服务器端;服务器端将该GIS实时协同操作消息放入消息队列进行排队,并将该条消息放入数据库,根据不同的客户端进行存储;GIS实时协同操作消息出队,进行并发冲突检测与消解后从服务器端发送往各个参与本次实时GIS协作的客户端。
协作客户端接收到该条GIS实时协同操作消息后,对该条消息进行解包处理,提取出GIS操作类型名称、地理对象实体变化后的属性值、协同工作发起者的标识、GIS实时协同操作产生时间、作用的地理对象实体标识、当前GIS实时协同操作所造成的地图视图或被作用地理实体的变化的参数。
阻断地理对象变化事件,根据解析后的信息查找或创建地理对象,根据解析后的参数更新变化的地理对象属性值,反演该GIS操作,达到保持与协作发起方的地图视图一致性的目的。至此,一次基于地理空间数据的由地理对象属性变化监测驱动的GIS实时协同工作过程结束。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (3)
1.一种分布式GIS实时协同驱动方法,其特征在于:该方法包括以下步骤:
S1,群体用户基于地理空间数据进行同步地分布式协同工作,其中某一用户在其客户端进行GIS操作,该GIS操作作用于一个地理空间要素实体;
S2,对该地理空间要素实体的属性值进行监听,若属性值发生的变化超过预设的阈值,则启动GIS的实时协同工作;
S3,当GIS的实时协同工作被触发时,记录GIS实时协同操作消息,该消息包括当前协同环境的参数,并通过消息传递方法将该GIS实时协同操作消息发送到服务器端;
S4,服务器端将接收到的GIS实时协同操作消息存储在协作消息队列中,并通过消息传递方法分发给其他协作客户端;
S5,协作客户端对接收到的该条GIS实时协同操作消息进行解包处理,提取出当前协同工作发起环境的各项参数;
S6,阻断地理对象变化事件,根据解析后的数据查找或创建地理对象,更新变化的地理对象属性值,反演该GIS操作,保持与协作发起方的地图视图一致性。
2.根据权利要求1所述的一种分布式GIS实时协同驱动方法,其特征在于:所述步骤S2,每一个监听定义,包括地理对象、属性名字、属性变化事件、触发类型和处理函数。
3.根据权利要求1或2所述的一种分布式GIS实时协同驱动方法,其特征在于:所述步骤S3,使用XML或JSON格式记录GIS实时协同操作消息;所述GIS实时协同操作消息由以下参数项构成:协同工作发起者的标识、GIS实时协同操作产生时间、GIS操作类型名称、作用的地理对象实体标识、地理对象实体变化后的属性值、当前GIS实时协同操作所造成的地图视图或被作用地理实体的变化的参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010418548.3A CN111651283B (zh) | 2020-05-18 | 2020-05-18 | 一种分布式gis实时协同驱动方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010418548.3A CN111651283B (zh) | 2020-05-18 | 2020-05-18 | 一种分布式gis实时协同驱动方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111651283A CN111651283A (zh) | 2020-09-11 |
CN111651283B true CN111651283B (zh) | 2023-05-26 |
Family
ID=72346714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010418548.3A Active CN111651283B (zh) | 2020-05-18 | 2020-05-18 | 一种分布式gis实时协同驱动方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111651283B (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101175085B (zh) * | 2007-10-30 | 2010-07-21 | 北京航空航天大学 | 面向协同式网格应用的动态协作感知模型的构建方法 |
CN103973725B (zh) * | 2013-01-28 | 2018-08-24 | 阿里巴巴集团控股有限公司 | 一种分布式协同方法和协同器 |
CN105354247B (zh) * | 2015-10-13 | 2018-08-10 | 武汉大学 | 一种支持存算联动的地理视频数据组织管理方法 |
CN110572360B (zh) * | 2019-08-02 | 2022-05-13 | 武大吉奥信息技术有限公司 | 一种gis空间数据协同编辑的方法 |
CN111127849B (zh) * | 2019-12-19 | 2021-04-09 | 浙江天禄环境科技有限公司 | 一种综合考虑气象及化工厂周边区域的事故预警方法 |
-
2020
- 2020-05-18 CN CN202010418548.3A patent/CN111651283B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111651283A (zh) | 2020-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105871690B (zh) | 即时通信的实现方法和装置 | |
CN103701904B (zh) | 通过表盘展示信息的方法及装置 | |
CN108073625B (zh) | 用于元数据信息管理的系统及方法 | |
CN105553834A (zh) | 消息发送方法和装置 | |
CN104125240A (zh) | 一种信息外网、信息内网及内外网数据交互系统和方法 | |
CN101087271A (zh) | 一种关联用户显示系统及方法 | |
EP1902378A1 (en) | A method and system of computer remote control that optimized for low bandwidth network and low level personal communication terminal device | |
CN102087577A (zh) | 与位置无关地执行用户接口操作 | |
CN103297291A (zh) | 网站实时状态监控方法及系统 | |
WO2017143896A1 (zh) | 线路信息互动方法、电子设备和计算机存储介质 | |
CN106878397A (zh) | 一种web用户行为反馈方法及系统 | |
CN105988790B (zh) | 一种信息处理方法、发送终端及接收终端 | |
CN111914149A (zh) | 一种请求处理方法、装置、存储介质及电子设备 | |
CN112597361A (zh) | 一种排序处理方法、装置、电子设备及存储介质 | |
CN102164166B (zh) | 一种用于远程控制的分区传输方法和系统 | |
CN102833188A (zh) | 显示即时通信中传输文件的方法、客户端及系统 | |
CN102915251B (zh) | 一种多页面浏览器处理消息的方法和装置 | |
CN105843523A (zh) | 信息处理的方法和装置 | |
CN102043786A (zh) | 配置快速键予页面转换元素的浏览系统及其方法 | |
CN111651283B (zh) | 一种分布式gis实时协同驱动方法 | |
CN106302125B (zh) | 一种对请求信息进行响应的方法、装置及系统 | |
CN103209198A (zh) | 一种网络应用之间的切换方法和系统 | |
US20150269131A1 (en) | Content conversion apparatus and method, and communication system | |
CN102664910B (zh) | 修正远程应用用户操作的方法、客户端和服务端 | |
CN114911402A (zh) | 远程应用和本地系统间的拖拽交互方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |