ArcSDE版本化

28 篇文章 1 订阅

什么是版本化

参考文档:http://resources.arcgis.com/zh-cn/help/main/10.1/index.html#/na/003n000000tq000000/
https://blog.csdn.net/kone0611/article/details/50259599
1、版本是整个地理数据库在某个时刻的快照,其中包含地理数据库中的所有数据集。
版本不仅仅备份地理数据库。相反,版本及其内部进行的事务可通过系统表进行追踪。这样可隔离用户在多个编辑会话中的工作,使得用户进行编辑时不必锁定生产版本中的要素或直接影响到其他用户,且无需备份数据。
(个人认为:版本化是针对多用户对同一数据进行编辑时采用的一种数据管理方式。)

2、适用条件:仅支持企业地理数据库(ArcSDE地理数据库),而个人地理数据库、文件型地理数据库不支持;

3、版本的分类:
(1)DEFAULT 版本:每个 ArcSDE 地理数据库都具有一个被称为 DEFAULT 的默认版本,默认情况下将连接到 DEFAULT 版本。因此,始终会为地理数据库启用版本化。

与其他版本不同,DEFAULT 版本始终存在,且不能被删除。在大多数工作流策略中,它是数据库的发布版本,表示要建模的系统的当前状态。您可以将其他版本中的变更提交到 DEFAULT 版本,从而逐步维护和更新 DEFAULT 版本。此外,您还可以像编辑其他版本一样,对 DEFAULT 版本直接进行编辑。

(2)子版本:从任意现有版本创建子版本或分支版本的方式来创建版本,如可以通过创建 DEFAULT 版本的子版本来创建第一个版本。子版本会从父版本从继承所有相关数据。一个创建好的版本树如下:版本管理器
https://images.cnitblog.com/blog/21794/201310/21163831-25b8a816349e477eb1b65904fe2a0893.png
一个地理数据库可以有多个版本。上图是版本管理器 对话框,可通过 ArcGIS for Desktop 对其进行访问。本示例显示了对话框的树视图,描绘了 DEFAULT 版本和其他四个版本以及这些版本的关联方式。Cases 版本和 Base 版本是 DEFAULT 版本的子版本,而 Case1 和 Case2 版本则是 Cases 版本的子版本。

4、版本的控制原理

数据集(要素类、要素数据集或表)注册为版本后,数据库中将会创建两个增量表:用于插入和更新的 A(添加)表以及用于删除的 D(删除)表。每次更新或删除数据集中的记录时,都会向这两个表或其中一个表添加行。如:我在数据库中新建了一个Line要素类,然后将其注册为版本后,数据库中出现了如下两个表:a8,D8,8代表该要素类在[SDE_table_registry]表中的数据集的ID。

总的来说,基表、A 表和 D 表中的所有行表示要素类或表的所有版本。这表示任何一个版本都只能引用这三个表中的行的子集

A 表和 D 表中的各行使用被称为状态 ID 的整型标识符进行标记,以在向表中添加行时提供参考。每次编辑版本时均会创建新的状态,并向这两个增量表或其中一个增量表添加新行。状态可被看作是树结构的一部分,在树结构中,各分支记录了版本的发展情况。记录版本从基表到当前状态之间一连串变更的一系列状态称为谱系。显示或查询版本时,ArcGIS 会查询版本的谱系以获取状态 ID,然后从 A 表和 D 表中检索正确的记录。

几个专业术语:

父版本:是生成其他版本时所基于的地理数据库版本。如果刚才提到的其他版本仍然存在,则无法删除父版本。

子版本:是通过父版本创建的地理数据库版本。最初创建时,子版本包含与父版本相同的数据,状态与父版本相同。在子版本中进行编辑后,通常会将这些编辑内容回发到父版本。

增量表:数据集的添加表和删除表统称为增量表,因为它们用于存储对数据集所做的更改。

删除表:可记录在版本化数据集中所做的所有删除。它还包含已更新记录的记录,因为更新记录的过程就是先删除原有记录,然后再添加修改过的记录,因此更新记录等同于删除记录。删除表也称为 D 表。

基表:基表是要素类的核心表。它包含所有非空间属性,如果使用 SQL 几何类型,则它还包含空间属性。术语“基表”用于将该核心表与其他端表(例如增量表、ArcSDE XML 表或 sdebinary 几何存储类型使用的 f 和 s 表)区分开来。基表也称为业务表。

5、如何注册为版本

在某个数据集上点击右键,选择创建为版本

点击创建为版本后,会弹出如下对话框:勾选入基表

如果此处勾选,则在以后的编辑中,如果点击保存,则所有数据将自动保存到基表中,并删除所有在增量表的数据;如果不勾选,则保存后所有数据数据不会提交到基表中,

如果要查询当前已经审核入库的所有数据只能通过查询视图的方式(视图为:数据集名称_VW)。

6、如何切换版本

在将数据加载到地图后,在TOC控件中,点击”List by Source”视图,可以看每个数据集的来源,如下图,要素类pnt来源不同的版本:
https://images.cnitblog.com/blog/21794/201310/21163834-033f912db718486ba5b5575f3bf88482.png

那么如何切换不同的版本进行编辑呢?我们可以在TOC控件中的数据上,点击右键,并切换版本:

https://images.cnitblog.com/blog/21794/201310/21163834-a8c10465f3cf466080b5dda17629c29f.png,点击切换版本,将弹出我上图的版本管理视图:

https://images.cnitblog.com/blog/21794/201310/21163835-c6a7ef49e60349dd9c1761fb9e980b39.png

7、版本的冲突与协调

在编辑工具栏中,选择“Options”可以设置处理冲突的方式,可以看出ArcGIS支持在行级别以及属性级别进行冲突处理,而提交的顺序支持按照入库顺序或者编辑顺序进行处理。

具体项目中要选择哪种方式,应该具体情况具体分析。如图:

https://images.cnitblog.com/blog/21794/201310/21163836-c66d3c20aa374ecf95f8d9ab0c9edd4c.png

https://images.cnitblog.com/blog/21794/201310/21163837-e9abbb8d243f4c7c96f2376ee7c7a803.png

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值