更新子网以确保属性、网络要为最新且在网络中有效。 更新子网也会暴露子网中的错误和不一致,例如无效要素、子网不相交或不一致、子网控制器数量不正确或者尚未验证的脏区。 可以在更新子网工具或查找子网窗格中运行更新子网操作,以更新在进行编辑和验证后标记为脏的子网。
在创建子网以及在对子网中的要素和对象进行编辑后验证网络拓扑时,子网将被标记为脏。 如果更新子网时未出现错误,则该子网将被标记为清洁。 在更新子网操作期间验证一致性失败或发现子网错误时,操作将失败,子网将标记为无效。 这将由子网表中的 Is dirty 属性进行追踪,并显示在查找子网窗格中每个子网的 Status 列中。 有关详细信息,请参阅子网生命周期。
更新子网操作可细分为以下步骤:
- 识别并验证子网控制器的一致性。
- 执行子网追踪。
- 验证追踪结果以确定是否发现无效要素或对象。
- 更新网络要素上的子网名称属性、已连接和传播字段属性。
- 在子网的 SubnetLine 要素类中创建或更新记录。
- 更新子网表中关联的子网控制器记录。
- 创建或更新子网系统逻辑示意图。
检查并验证网络属性
运行更新子网操作时,将验证子网控制器并执行子网追踪以确定是否发现无效要素或对象。 层的子网定义定义了子网的行为要求以及子网中有效要素和对象的构成。
以下各小节中介绍了有关更新子网时所检查层属性的相关信息和子网更新时在网络要素上跟新的属性字段。
有效要素和对象
正如子网定义中所指定的,每个类的特定资产组和资产类型被定义对于域网络中的每个层均有效。 通过检查子网中可遍历要素的属性更新子网时,可以发现违反子网定义的要素和对象。 如果在更新子网时发现无效网络要素,则会创建错误并将该子网标记为无效。 有关特定于更新子网的错误的详细信息,请参阅更新子网错误。
更新子网时,不会为连接多个子网的边界要素评估子网定义的有效设备属性。 边界要素是充当两个子网之间屏障的设备,或参与多个子网的子网控制器,例如,供水网络中的泵接收一个子网中的压力并增加另一个子网中的压力。
在每个层的子网定义中指定了以下有效要素和对象:
- 有效设备
- 有效的设备子网控制器
- 有效线
- 有效交汇点
- 有效边对象
- 有效交汇点对象
- 有效交汇点对象子网控制器
不一致和不相交子网
Subnetwork name 属性用于追踪网络要素属于哪些子网。 在此属性字段中填充的值来自设置为子网控制器的要素的子网名称。 此外,域网络中的要素具有 Supported subnetwork name 和 Supporting subnetwork name 属性。 这两个属性分别有助于追踪容器或结构要素支持的子网和支持内容要素的子网。
更新子网过程可确保子网中要素的子网名称一致。 将针对不一致生成错误: 以下情况概述了可能遇到错误的情况:
不一致子网 - 如果子网具有多个可遍历的子网控制器且 Subnetwork Name 属性不匹配,则可以认为子网不一致。 例如,在具有五个子网控制器的网格网络中,其中四个子网源的子网名称是正确的,而第五个子网源的名称则不同。 如果在更新子网时发现子网不一致,则更新子网工具会返回警告并对有不一致子网名称的子网控制器生成错误要素。 系统将返回被发现不一致的特定子网名称,并可使用修改子网控制器窗格和 Subnetworks 表进行检查。
不相交子网 - 对于分区域网络,具有子网名称相同且不可遍历的控制器的子网将被视为不相交子网。 更新子网时,如果子网定义不允许出现不相交子网,则会在出现不相交子网时生成错误。 此设置可在层的子网定义中进行定义。 检查网络属性以查看特定域网络的层子部分。
如果在检查边界要素的一致性时发现任何相邻子网存在不一致,则在更新过程中会返回警告,其中列出存在冲突的子网名称。 要确定解决该警告的方法,可使用修改子网控制器窗格和子网表对相邻子网进行检查。 在对相邻子网进行编辑后,可以再次运行更新子网操作。
有关详细信息,请参阅子网。
更新子网中的要素和对象
当在默认版本中更新子网时,将为子网中的所有要素和对象更新几何、子网名称属性、Is connected属性以及替换和传播值。 如果使用默认编辑模式选项在指定版本中执行更新子网络操作,则这些相同的更新仅限于要素和在版本中编辑的对象。
更新到 SubnetLine 要素类和子网表
与编辑子网中的要素和对象一样,运行更新子网操作时也会修改 SubnetLine 要素类和子网表。
如果层的子网定义定义了 SubnetLine 要素类的聚合线或配置了汇总,则更新操作会在 SubnetLine 要素类中创建或更新子网的记录,并更新 Last update subnetwork 属性、Is dirty 属性以及编辑者追踪属性。 汇总可在子网追踪配置中进行配置,也可更新并写入到汇总属性中。 成功的更新操作会将子网的状态更改为干净 (isDirty = false)。 如果更新操作失败,则仅更新编辑者追踪字段。
在子网表中,关联子网控制器的 Last update subnetwork、Is dirty 和编辑者追踪属性也会更新。 成功的更新操作会将表中所有控制器的状态更改为干净 (isDirty = false)。 如果更新操作失败,则仅更新编辑者追踪字段。
Is dirty 属性
ISDIRTY 属性(别名 Status)用于追踪子网表和 SubnetLine 要素类中的子网状态,并且会影响网络逻辑示意图的一致性。 Status 主要通过更新子网操作以及禁用、启用和验证网络拓扑工具进行管理,并使用层子网定义的管理 IsDirty 选项进行配置。
有关详细信息,请参阅子网生命周期。
更新子网策略
在运行更新子网过程时,系统将提供一些选项,用于控制要更新的网络要素以及在地理数据库中执行网络要素的编辑内容的方式。 使用设置子网定义工具,将这些选项作为更新子网策略部分中层级子网定义的一部分进行配置。
查看您的工作流,并确定是否需要更改默认更新子网策略。 可以在子网定义中修改更新结构网络容器和更新域网络容器选项,以控制是否要查看容器上的子网名称属性。 这还可用于防止结构和域网络容器所支持的子网名称字段可能过载的问题。 这在嵌套包含的情况下非常有用。
如果在更新子网过程中进行属性编辑时存在需要触发地理数据库行为的工作流,则可以将编辑模式配置为使用事件编辑模式。
用于设置更新子网策略的选项如下:
- 管理 IsDirty - 指定子网表中的 Is dirty 属性是否由更新子网操作管理。 这还会影响网络逻辑示意图的一致性以及用于从 Subnetworks 表移除已删除控制器的方法。 启用此选项时,IsDirty 属性由更新子网操作管理,并将在子网表和 SubnetLine 要素类中得到更新。
注:
如果层配置为不管理 Is dirty 属性,则无论更新子网操作成功还是失败,子网都将始终显示为“脏”。
未启用此选项时,则可以在默认版本中使用更新子网操作以从默认版本的子网表中删除行,其中 Is deleted 属性设置为 true。
如果没有为层定义任何子网控制器,则将禁用管理 IsDirty 选项。
有关子网状态和 Is dirty 属性的详细信息,请参阅子网状态。
- 更新结构网络容器 - 指定更新子网进程是否将更新结构要素的受支持的子网名称属性。 此选项默认为选中。
- 更新域网络容器 - 指定更新子网进程是否将更新域网络容器的受支持子网名称属性。 此选项默认为选中。
默认版本的编辑模式和指定版本的编辑模式 - 在更新子网过程中,对子网要素进行了多种属性编辑。 编辑模式确定如何执行属性编辑。 可使用两个选项控制此行为:有事件和无事件。
- 无事件 - 这是默认版本和指定版本以及在单用户部署中工作时的默认值。 在企业部署中使用此编辑模式时,更新子网期间不会遵守地理数据库合同。 这意味着更新要素时,事件不会触发编辑者追踪、属性规则或相关对象的更新。 这也意味着对没有事件的要素所做的更改不会写入地理数据库历史记录以供以后查看。 采用这种方法来优化更新子网络的性能。
- 在默认版本或单用户部署中使用此编辑模式时,子网中所有要素和对象的子网名称和传播值都会更新。
- 在指定版本中使用此编辑模式时,仅针对用户在版本中编辑的要素更新子网名称和传播值。
- 有事件 - 此选项使用户能够在更新默认和指定版本中的子网以及在单用户部署中工作时触发地理数据库行为。 使用此编辑模式,游标更新用于更新操作遍历的所有要素的子网名称和传播值。
使用有事件会遵守所有地理数据库合约。 这意味着属性规则会触发并重置其验证状态,更新编辑者追踪,更新适用的相关对象,并将更改记录为地理数据库历史记录中的实际编辑。 对于需要在更新子网操作期间触发属性规则的用户,应考虑此编辑模式。
警告:
此选项可能会对性能产生不利影响,并且当数据中存在大量属性规则或相关对象(例如与要素关联的注记类)时,不应将其与较大的子网一起使用。
以下示例说明了使用默认指定版本的编辑模式(即无事件)的情况下,创建线后在 RMT001 子网的指定版本中运行更新子网的影响。 请注意,仅针对版本中编辑的要素更新子网名称。
以下示例说明了在默认版本或指定版本中运行工具,且指定版本的编辑模式设置为有事件的情况下,创建线后在 RMT001 子网上运行更新子网的影响。 请注意,虽然只编辑了一个要素,但子网中的所有要素都将更新为子网名称。
- 无事件 - 这是默认版本和指定版本以及在单用户部署中工作时的默认值。 在企业部署中使用此编辑模式时,更新子网期间不会遵守地理数据库合同。 这意味着更新要素时,事件不会触发编辑者追踪、属性规则或相关对象的更新。 这也意味着对没有事件的要素所做的更改不会写入地理数据库历史记录以供以后查看。 采用这种方法来优化更新子网络的性能。