在 Standard 或 Advanced 许可等级下可用。
宗地结构支持在默认版本的下一个版本级别状态下进行编辑。宗地结构不支持在各种版本的子版本状态下进行编辑。
版本状态和宗地结构
在企业级地理数据库中编辑宗地结构之前,需要先将宗地结构注册为版本。宗地结构注册为版本后,便可以创建一个版本来编辑宗地结构。版本是地理数据库的视图,您可以对该视图进行编辑并立即查看所做的更改。连接到此版本的其他用户将会在您刷新之后看到这些更改。但是,只有将此版本提交到默认版本,连接到其他版本的用户才能看到这些更改。
将数据集注册为版本后,将创建两个增量表:用于插入和更新的 A(或“添加”)表以及用于删除的 D(或“删除”)表。每次更新或删除数据集中的记录时,都会向这两个表或其中一个表添加行,同时创建一个新的版本状态。因此,版本化数据集由原始表(称为基表)和增量表中的所有更改组成。
编辑宗地结构时,将对作业 XML 流执行每项编辑操作。保存编辑会话时,XML 流将作为单项编辑内容提交到宗地结构,同时创建一个新的版本状态。
宗地结构版本和编辑锁定
如果宗地正在编辑,则这些宗地将变为编辑锁定状态。如果某宗地处于编辑锁定状态,则在编辑锁解除之前,都无法在同一版本或另一版本中打开该宗地。但在已锁定宗地的属性表中,仍可在其他版本中对宗地、线、点和控制表中的字段进行编辑。如果同一字段在不同的版本中都进行了编辑,则协调版本时必须使用冲突解决方案。
如果在与您正在编辑的版本不同的版本上对宗地进行编辑,则在宗地浏览器窗口中,这些宗地将显示为带有编辑已锁定图标 。同样,您正在编辑的宗地也将处于锁定状态,而任何其他版本中的编辑操作将无法进行。正在编辑的宗地所属版本提交后,宗地编辑锁定将解除。
接下来汇总了管理多用户环境下各已锁定宗地行为的规则:
- 您无法在另一版本中打开正在编辑的宗地。被编辑锁定的宗地所属的版本提交后,您才能在其他版本中访问该宗地。版本提交后,该版本中的所有更新和更改都将与默认版本合并,同时宗地的编辑锁定也将解除。
- 如果宗地先前在您正在使用的版本中进行过编辑,则在宗地浏览器窗口中,此宗地将显示为带有编辑已解锁图标
。
- 如果宗地先前在目前已提交的另一版本上进行过编辑,则在您正在使用的版本中该宗地将显示为带有编辑已解锁图标
。
- 如果宗地在其他版本中进行过编辑且该版本已提交到默认版本,则在与默认版本协调后您便可在当前版本中编辑这些相同的宗地。
- 如果某宗地在宗地浏览器窗口中列为已锁定,则在宗地浏览器窗口中选择此宗地可以查看哪个版本和用户正在编辑此宗地。用户和版本名称显示在 ArcMap 窗口右下方的状态栏中。
编辑锁定状态图标汇总
宗地可进行编辑。 | |
宗地当前正在编辑。 | |
宗地先前经过编辑并且现在可用。 | |
宗地正在同一版本中锁定和编辑,或已在其他版本中进行过编辑。 |
协调版本和宗地结构
完成某一版本的编辑后,可将对该版本进行的更改同默认版本合并。通过一个协调并提交的过程即可完成此操作。协调将检测您的版本与默认版本之间的冲突。如果您的版本创建后默认版本发生了变化,并且这些变化与您的编辑内容冲突,此时便会出现冲突现象。例如,在某宗地结构中,对重叠区域运行最小二乘平差将产生坐标冲突。宗地结构中的冲突解决方案始终优先处理子版本。
建议经常对宗地结构进行版本协调。将子版本同默认版本进行协调时,子版本将收到后来从其他子版本中提交到默认版本中的所有更新。
宗地数据的编辑内容和更新内容通常采用长事务的形式。在宗地结构中,宗地编辑内容可以跨越较长的时期。版本协调可通过默认版本中新的当前数据更新版本。这对于持续编辑版本化的宗地结构至关重要。
下方是一些在将版本化的宗地结构与默认版本进行协调时可能收到的更新示例:
- 更新宗地点的坐标(在默认版本中运行或从其他版本提交最小二乘平差)
- 在默认版本中创建或从其他版本提交的新宗地
- 在默认版本中创建或从其他版本提交的更新控制点或新控制点
冲突解决
针对默认版本使用宗地结构协调版本时,在以下情况下将检测到冲突:
- 点坐标在默认版本和子版本之间发生了变化。
- 字段中的属性值在默认版本和子版本之间发生了变化。
将在以下情况下发生点坐标冲突:
- 默认版本和子版本中运行过宗地结构校正。
- 所协调的子版本中以及已提交到默认版本的另一子版本中运行过宗地结构校正。
在宗地结构中,始终优先解决最新一组已校正坐标的坐标冲突。因此,协调经过校正的子版本时,以下情况真实可信:
- 默认版本中经过校正的坐标同子版本中经过校正的坐标相比:子版本优先。
- 子版本中控制点坐标的冲突将优先解决。
提交版本和宗地结构
提交包含宗地结构的版本时,所有宗地编辑锁定均将解除。如果版本中创建了作业,则作业状态将更改为已提交。已提交作业可从作业名册中删除。已提交作业无法重新打开,但作业属性仍然可见(如作业中使用过哪些宗地)。
要平移并缩放至已提交作业,您需要将以下空 BLOB 字段添加到作业表:
- CommittedObjs
- LocalControl
这些字段显示在作业表中后,您便能够缩放和平移至已提交作业中的宗地。
权限、版本和宗地结构
如果在版本化的数据库环境中创建宗地结构,需要谨慎考虑授予宗地结构的权限以及授予可能要进行宗地编辑的所有数据库版本的权限。这是因为对版本执行的操作过程(例如协调或删除版本)可能触发对宗地结构执行的操作过程。由于授予版本的权限不受宗地结构权限的影响,因此即使用户没有编辑某版本中所含宗地结构的权限,也可以拥有协调、提交或删除版本的权限。如果发生此类权限不匹配的情况,有关版本的操作可能会失败(协调和提交版本),或者宗地结构可能受到破坏(版本被删除)。
必须建立任意一种包含宗地结构的多版本系统,以下陈述才始终为真:对某版本执行会影响到该版本中宗地结构的操作的所有用户必须具有对该宗地结构及所有关联要素类进行更新的权限。
版本权限
创建版本时可使用以下三种可能的权限设置之一:
- 私有 - 只有版本的所有者可以查看和编辑版本中的数据集。只有版本的所有者可以对版本执行操作(如删除和协调)。
- 受保护的 - 任何用户均可查看版本中的数据集,但只有版本所有者可以进行编辑。只有版本的所有者可以对此版本执行操作。
- 公共 - 所有用户都能查看和编辑版本中的数据集。所有用户均可以对版本执行操作。
这些权限设置需要与各数据集的权限设置共同起作用。例如,用户对版本和数据集都可以进行更新,才能编辑版本中数据集的要素。
数据集权限
宗地结构必须在要素数据集中创建。创建宗地结构的用户将自动拥有更新权限。要授予其他用户对宗地结构的权限,可以更改针对包含宗地结构的要素数据集的权限。
可针对数据集授予以下权限:
- 无(默认)- 用户无法查看或编辑数据集。
- 选择 - 用户可以读取和查询数据集。
- 选择、更新、插入、删除 - 用户具有对数据集的完全读/写权限。
宗地结构中编辑操作的类型
宗地结构编辑操作可以采取以下两种形式:
- 编辑宗地结构类(例如,宗地、线和控制点)。
- 编辑与宗地结构相关的要素类。宗地结构要素校正将宗地结构校正的更改矢量应用到相关要素类,从而对其几何进行编辑。
编辑宗地结构类时,执行编辑操作的用户必须具有对包含宗地结构的要素数据集进行更新的权限。运行宗地结构要素校正时,用户必须对宗地结构和关联的要素类都具有更新权限。
如果尚未对宗地结构进行编辑或未对与版本中所协调、提交或删除的与其相关联的要素类进行编辑,则不必对宗地结构或其关联的要素类具有更新权限。
下表汇总了必须对包含宗地结构的版本执行操作的用户授予的权限。
