使用ArcSDE实现空间数据的版本控制

使用ArcSDE实现空间数据库的版本控制

一、前言废话

        不同的业务环境中使用数据的侧重点不同,如输电的公司有负责拉电线的部门和修电线杆的部门。两个部门最关心的内容有些差别,而老板要兼顾全局。这种情况下老板就把数据复制两个版本,分别给两个部门各一份,让他们去标注自己部门负责的东西,每个天晚上汇总到老板的这份数据中。再如老板现在要在郊区新建电网,但不知道该用10kv的还是220kv的电压,电力设计部门的人分别拿到现有的线路数据再此基础上分别设计得到10kv和220kv两个版本,然后老板决定用220kv的,这时候就把220kv设计稿合并到原来的数据中。这些场景中都需要使用数据的版本控制工具来保持数据的一致性。ArcSDE提供了便捷的数据库版本控制工具来完成上述任务。

二、创建版本与使用版本

1. 使用ArcMap的版本管理器工具来创建和切换数据库版本,首先我们打开版本管理工具菜单。

截图1:打开ArcMap的版本管理工具

2.版本管理工具介绍,从左到右依次为:

打开版本管理器

创建新的版本:以当前为父版本创建子版本。

刷新当前显示版本:刷新当前版本中的数据,当多人编辑同一个版本时候数据不会实时更新需要使用刷新功能手动刷新查看其他人编辑的内容。

切换到其他版本:切换版本。

协调版本:将父版本的修改更新到子版本中保持数据的一致性。

提交版本:将子版本的变更提交到对应的父版本中,在使用提交版本前应该先试用协调版本工具。

冲突解决:协调解决同一个版本的编辑差异,如两个用户同时编辑一个版本数据时导致的差异。

对比版本差异:用于对比两个版本之间的差异。

截图2:版本管理工具

3.版本管理器,提供了版本的列表和层级关系的视图,可以使用版本管理器创建和删除版本、对版本命名和设置版本的访问权限。其中DEFAULT版本是初始默认版本,用于追溯数据,不能删除。在生产环境中数据管理员需要防止在现有数据集中对 Default 版本进行错误编辑,将其设施为受保护或私有的权限。在此案例中我们基于default版本创建了一个电力设计部门基础版本用户线路设计,然后基于电力设计部门基础版本创建了10kv和220kv两个子版本用于业务人员设计,对于各版本的修改保持数据的独立性。

截图3:版本管理器界面

4.版本管理器可以用来查看当前连接情况和数据锁定情况

截图4:版本管理器界面--连接情况
截图5:版本管理器界面--锁定情况

4.协调版本之间的冲突。随着业务的进展10kv和220kv的两个版本都完成了设计,现在需要将设计的内容合并到基础版本中去。这时候我们用到了协调工具、冲突查看工具和提交版本工具。为了方便演示我们添加了一个标记字段,并将值做好对应版本的标记。

截图6:电力设计部门基础版本
截图7:220kv设计版本

点击数据版本管理工具上的协调按钮打开协调工具(只有开启编辑状态下才能使用协调工具),使用协调工具协调两个版本之间的差异。这里有两个选项“如何定义冲突”和“如何解决冲突”

如何定义冲突:当选择按对象时另一用户与您编辑同一行、同一要素,或是在拓扑结构上相关的要素。即使你们编辑不同的属性也会发生冲突。这是默认设置。当选择按照属性时另一用户编辑某一要素或某个表的同一属性。

如何解决冲突:当冲突发生时候的覆盖关系。

当检测到冲突后会提示使用冲突查看工具,查看冲突的具体情况

截图8:协调工具


截图9:提示使用冲突查看工具

在冲突查看器中可以看到有冲突数据的objectID和geometry已经发生冲突的字段

截图10 冲突查看界面

可以使用不用的处理方法对每个具体的冲突进行个性化的解决

截图11 协调冲突的解决

当所有的冲突协调完毕后将数据提交到设计部门基础版本中,完成设计项目的工作。至此我们就可以查看未修改的default版本、修改完成的基础版本、被应用的220kv版本和10kv版本。方便历史版本的回溯还原项目中数据变化的版本过程。

你可能感兴趣的:(使用ArcSDE实现空间数据的版本控制)