一种gis空间数据协同编辑的方法

文档序号:1711833 发布日期:2019-12-13 浏览:3次 >En<

阅读说明:本技术 一种gis空间数据协同编辑的方法 (method for collaborative editing of GIS spatial data ) 是由 杨健 程方 关雨 胡锐 付彦召 王少鹏 秦自成 江萌 段志成 周扬 于 2019-08-02 设计创作,主要内容包括:本发明提供了一种GIS空间数据协同编辑的方法,作业管理员通过客户端在协同服务器上进行协同项目的创建及原始数据的上传;数据作业人员通过客户端自动check out本地进行离线,从而加载协同项目,进行GIS数据协同编辑,并提交编辑数据进行check in,如果提交的编辑数据存在冲突则进行冲突的解决;客户端协同编辑项目数据完成最终的提交后,协同服务器上的数据即为最终生产作业成果数据。本发明的可大幅度提升生产作业效率,能够让每一名作业人员最大饱和度的工作以提升整体效率,还能管理记录每一条要素变化及作业过程数据,提升生产作业的管理水平,方便及时掌控数据的变化情况、作业人员的进度等。(the invention provides a GIS spatial data collaborative editing method, wherein an operation manager creates collaborative projects and uploads original data on a collaborative server through a client; the data operation personnel automatically take off-line through the client side and automatically check out locally, so that a collaborative project is loaded, GIS data collaborative editing is carried out, edit data is submitted for check in, and if the submitted edit data has conflict, the conflict is solved; and after the client collaboratively edits the project data to finish final submission, the data on the collaboration server is the final production operation result data. The invention can greatly improve the production operation efficiency, can ensure that each operator works at the maximum saturation degree to improve the overall efficiency, can manage and record the change of each element and the data of the operation process, improves the management level of the production operation, and is convenient to control the change condition of the data, the progress of the operators and the like in time.)

一种GIS空间数据协同编辑的方法

技术领域

本发明涉及GIS数据处理领域,更具体地说,涉及一种GIS空间数据协同编辑的方法。

背景技术

随着人民生活水平的日益提高,对于GIS数据的现势性要求越来越高,从而迫切需要数据生产作业人员能频繁且快速的进行GIS数据的采集、编辑及更新。以往的各自单人作业,最后再合并接边这种模式,已无法有效的响应这种需求。信息与计算机技术的发展,工作方式越来越呈现群体性。如何充分发挥团队协作战斗力,提升生产作业效率显得尤为重要。

目前主流的地理信息系统(GIS)平台(比如:ArcGIS、MapGIS等)或数据生产编辑类软件(比如:Cad),仅能支持单个作业人员进行数据的编辑,很少考虑多用户之间的协同工作。现有模式,一般按作业任务区进行分发,然后各自作业,最后进行数据合并接边。其具体方法步骤为:

(1)作业管理员根据项目范围或任务区范围,进行作业任务区域划分;

(2)数据作业人员根据各自负责的任务区范围,进行范围内的数据的采集、编辑及更新(可通过GIS平台或生产编辑类软件);

(3)待相邻任务区对应的作业人员完成生产作业且提交数据后,由专人进行数据的接边处理;

(4)待所有数据均处理完接边后,检查无误后,形成最终的生产作业成果数据。

可以看出,这种操作流程,存在很多弊端。由于作业人员生产效率的不同,导致提交任务区域成果数据的时间不同,而接边人员在接边时,仅能按相邻区域逐个接边。这样以来,往往导致作业人员工作无法全饱和,而且存在依赖关系(即“等人”的情况),生产作业效率明显低下。

以往协同编辑类的软件,主要针对文档类(比如word),逻辑处理比较简单。但GIS空间类的数据协同编辑较为复杂,不仅要考虑并发控制、数据完整性,还要考虑数据的详细变化情况及人员工作进度情况(方便管理者进行数据的追踪及管理)。

以“房屋面”数据为例,多人协同编辑时,需考虑提交的先后顺序、并发控制以及冲突解决,进而保证数据的完整性(即最终房屋面数据必须是多人协同编辑成果的并集);还应记录管理房屋面数据每一条数据(即每个房屋)变化的情况,可细分为5种变化类型:新增的、删除的、属性修改的、几何图形修改的、属性及几何图形一并修改的;以及数据作业人员工作进度、提交情况等信息。

从以上提到的现有GIS数据作业人员生产流程来看,无法最大程度的充分发挥团队的战斗力,进而导致生产效率不高;同时作为作业管理者来说,无法有效的掌控作业人员的工作进度、无法有效的追溯数据的变化情况。

发明内容

本发明主要是解决GIS空间数据协同编辑的问题,简化生产流程,提升团队协作能力,进而满足GIS空间数据快速生产、编辑及更新的需要。

本发明提供了一种GIS空间数据协同编辑的方法,应用于客户端以及协同服务器,协同服务器采用开源的GIS数据库PostGIS,协同服务器和客户端使用基于消息的协议进行通讯,客户端通过Check Out获取协同服务器的空间数据离线到本地,通过Check In提交数据到协同服务器,包含如下步骤:

S1、作业管理员通过客户端在协同服务器上进行协同项目的创建及原始数据的上传;

S2、数据作业人员通过客户端自动check out本地进行离线,从而加载协同项目,进行GIS数据协同编辑,并提交编辑数据进行check in,如果有交编辑数据冲突则进行冲突的解决;

S3、客户端协同编辑项目数据完成最终的提交后,协同服务器上的数据即为最终生产作业成果数据。

本发明的GIS空间数据协同编辑的方法基本上省去了专人接边的事宜,且作业人员的工作进度可随时监管,不存在等的情况,作业人员协同编辑,可大幅度提升生产作业效率,能够让每一名作业人员最大饱和度的工作以提升整体效率,还能管理记录每一条要素变化及作业过程数据,提升生产作业的管理水平(进度的把控、人员的考核、数据的追踪及统计管理等),方便及时掌控数据的变化情况、作业人员的进度等。

附图说明

下面将结合附图及实施例对本发明作进一步说明,附图中:

图1是本发明的物理拓扑图;

图2是本发明的GIS空间数据协同编辑的方法的主体流程图;

图3是协同项目的创建的流程图;

图4是加载协同编辑项目的流程图;

图5是协同编辑项目数据更新流程图;

图6是协同编辑项目数据提交流程图;

图7是冲突解决流程图;

图8是上锁流程图;

图9是基于本发明实现的协同工程基本信息统计图。

具体实施方式

为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。

参考图1,本发明的GIS空间数据协同编辑的方法应用于客户端以及协同服务器,协同服务器采用开源的GIS数据库PostGIS,其最大的特点是符合并且实现了OpenGIS的一些规范,协同服务器和客户端使用基于消息的协议进行通讯,该协议是在TCP/IP和Unix域套接字上实现的,客户端通过Check Out获取协同服务器的空间数据离线到本地,通过Check In提交数据到协同服务器,保证协同服务器空间数据的完整。本发明采用离线编辑,将空间数据缓存在客户端本地,通过CHECK IN、CHECK OUT的方式来获取和提交数据。在数据提交时,本方法提供了半自动合并,解决冲突的问题。

为了方便管理,提出协同项目的概念,一个项目可以由多个作业人员同时作业(即协同编辑);本装置支持多个协同项目并行运行。

结合上面提到的协同项目,本发明及装置需要包含:协同项目管理、数据更新(check out)、数据提交(check in)、冲突解决(半自动模式)几大块内容。

参考图2,本发明的GIS空间数据协同编辑的方法包含如下步骤:

S1、作业管理员通过客户端在协同服务器上进行协同项目的创建及原始数据的上传。

参考图3,协同项目的创建流程具体包括:通过客户端在服务器上创建协同项目,输入协同项目名称,输入元信息,准备原数据上传服务器。

S2、数据作业人员通过客户端自动check out本地进行离线,从而加载协同项目,进行GIS数据协同编辑,并提交编辑数据进行check in,如果提交的编辑数据存在则进行冲突的解决。

参考图4,所述加载协同项目具体包括:数据作业人员选择自己负责的协同编辑项目进行加载,然后选择本地目录,协同编辑项目数据自动离线到本地目录中,并加载到当前地图中,供作业人员进行数据的编辑维护。

所述进行GIS数据协同编辑是指作业人员根据实际情况,进行数据的采集、编辑及更新,为了有效监控每一条要素的变化情况,客户端提供的所有编辑工具均内置了五种状态的接口,即新增的、删除的、属性修改的、几何图形修改的、属性及几何图形一并修改的。比如:编辑工具中的移动工具,在图形移动时,会自动标记该要素是几何图形修改的。

进行GIS数据协同编辑时,作业人员在编辑过程中随时进行协同编辑项目数据的更新,以保证本地数据的最新时效性,协同编辑项目数据更新时,会自动比对服务器数据版本和本地数据版本,若服务器版本较高则会进行数据的更新,同时需要考虑之前已更新过,但未完全更新完成的情况,此时在完全更新完成后,再次进行协同编辑项目数据的更新;假如更新过程中存在数据冲突,则需进行冲突的解决(具体见后续部分)。

参考图5,协同编辑项目数据的更新具体包含如下步骤:

S210、开始更新;

S211、检测待更新信息,从而判断是否存在待更新信息,若是在进行步骤S212,否则进入S214;

S212、客户端利用协同服务器上数据更新待更新数据(例如,多个客户端同时提交数据至协同服务器时,存在高版本往低版本更新的情况,若用户选择此时不更新,则会将信息记录到待更新记录中便于下次直接更新。待更新数据包含待更新信息及本地实际GIS数据);

S213、判断客户端上更新数据是否处理完成,若否则继续更新数据直至新数据处理完成,然后进入步骤S214,若是,进入步骤S214;

S214、与协同服务器上的最新数据版本相比较,判断客户端的数据版本是否为最新版本,若是,则进入步骤S215,否则进入步骤S216;

S215、检测客户端上次更新时间,然后判断上次更新时间是否大于协同服务器的版本最新时间,若是则进入步骤S218,若否,则进入步骤S216;

S216、利用协同服务器上的最新数据版本的数据对客户端上的数据(本地实际的GIS数据)进行更新,若在更新时存在冲突,则进入步骤S217,否则更新完成后进入步骤S218;

S217、冲突解决,返回步骤S216继续进行更新;

S218、结束。

作业人员在编辑过程中或完成数据编辑时均可进行数据提交。从作业管理角度考虑而言,建议每天至少提交一次,以便作业管理者随时掌控数据的总体进度以及作业人员的工作进度。

客户端在进行协同编辑项目数据提交时,会自动比对协同服务器数据版本和本地数据版本,若是最新的则直接提交;如果不是则需要先更新然后再提交。参考图6,协同编辑项目数据提交流程如下:

S220、开始,准备提交;

S221、客户端自动比对协同服务器数据版本和本地数据版本,若是本地数据版本是最新的则直接提交,然后转入步骤S225;如果不是则转入步骤S222;

S222、客户端上操作者是否接受更新,若是,则进入步骤S223,若否,则进入步骤S225;

S223、进行更新,在更新过程检测是否存在更新冲突,若否,则更新完毕后进入步骤S221,若是,则进入步骤S224;

S224、冲突解决,返回步骤S223继续进行更新;

S225、结束。

若在协同编辑项目数据的更新以及提交时产生冲突,则进行冲突解决,冲突解决时根据粒度不同区分对待:如果是文件则直接选择最终使用的文件即可;如果是要素则采用两种方式中的一种,一种是半自动对比,高亮显示差异点,由作业人员决定如何处理,另外一种是直接进一步详细编辑解决冲突。

参考图7,协同编辑项目数据的更新、提交过程中的数据冲突的具体解决流程如下:

S230、冲突解决开始;

S231、判断冲突类型,若是文件冲突,则进入步骤S232,若是要素冲突,则进入步骤S233;

S232、获取客户端的操作者选择的最终使用的文件,然后进入步骤S236;

S233、弹出对比界面,列出要素差异,并用不同地物符号标识出来,进入步骤S234或者步骤S235;

S234、获取客户端的操作者在对比界面中选择最终使用的要素,然后保存修改,进入步骤S236;

S235、切换并传递图层(即两个窗口对比的界面会跳转到单个窗口编辑的界面,并将对比的图层一并传递纳入编辑窗口区域),在地图视图中双向显示数据,即将要素与视图双向显示,由客户端的操作者进一步编辑,编辑完成后,编辑完成的结果作为最终结果,保存修改,进入步骤S236;编辑过程中提供操作界面用于根据操作者的选择,切换并传递已解决的标记(即单个窗口编辑处理完成后,再次返回到两个窗口比对的界面,若在编辑窗口进行了冲突的解决,则传递回去后会自动标记为已解决,不再显示冲突)返回步骤S233;

S236、冲突解决完毕,结束。

S3、客户端协同编辑项目数据完成最终的提交后,协同服务器上的数据即为最终生产作业成果数据。

根据以上简化后的生产作业流程,可知基本上省去了专人接边的事宜,且作业人员的工作进度可随时监管,不存在等的情况。作业人员协同编辑,可大幅度提升生产作业效率。

另外,协同编辑最大的难点在于解决并发性的问题,主要是提交并发冲突,即同时写协同服务器时的问题。本发明基于事务,并通过协同数据库(PostGIS)自带的锁机制,解决此问题。同一要素并发地被多个客户端同时提交服务器,只有获得锁的客户端才可以编辑对应要素(锁的粒度,到要素级),其他客户只能等待此客户释放锁。上锁流程如图8所示。

控制上锁的地方一般包括两个:同时写版本元信息、同时写同一个图层的同一个要素。通过行独占锁机制,解决并发处理问题。从整个生产作业流程来看,真正需要上锁的几率非常小。所以,整体能达到协同编辑、团队协作的初衷。

本发明不仅能提升作业人员生产效率(协同),而且还能大幅度提升生产作业的管理水平,方便及时掌控数据的变化情况、作业人员的进度等。基于本装置实现的协同工程基本信息统计图如图9所示。

可以非常明显的看出,协同编辑项目总体情况(量化),不同数据、不同作业人员、不同时间段数据提交的情况。

最后,提一点本发明可升级改造的地方。本发明的数据更新及提交均是通过人为方式,只要在手动更新过程中才能及时从协同服务器得知哪些数据被其他人更新过。这里可考虑基于tile38(一个开源的内存地理定位数据存储、空间索引、实时地理围栏的软件)的地理围栏事件服务,对特定范围的数据变化进行监控及实时处理,以便及时通知对应数据的关心者。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种视联网网卡选择方法和系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类