更新子网

更新子网以确保属性和网络要素为最近且在网络中有效。 更新子网也会暴露子网中的错误和不一致,例如无效要素、子网不相交或不一致、子网控制器数量不正确或者尚未验证的脏区。 更新子网操作从更新子网工具或查找子网窗格运行,以更新在进行编辑和验证后标记为脏区的子网。

在创建子网以及在对子网中的要素和对象进行编辑后验证网络拓扑时,子网将被标记为脏。 如果更新子网时未出现错误,则该子网将被标记为清洁。 如果在更新子网操作期间,发现验证一致性失败子网错误,则操作将失败并且子网将被标记为无效。 这由子网表中的 Is dirty 属性进行追踪,并显示在查找子网窗格中每个子网的 Status 列中。 有关详细信息,请参阅子网生命周期

更新子网络操作可分为以下几个步骤:

  • 确定并验证子网络控制器的一致性。
  • 执行子网络跟踪。
  • 验证跟踪结果,确定是否发现了无效要素或对象。
  • 更新网络要素上的子网络名称属性、已连接和传播字段属性。
  • 为子网创建或更新 SubnetLine 要素类中的记录。
  • 更新子网表中相关的子网控制器记录。
  • 创建或更新子网系统逻辑示意图。

检查和验证子网络属性

运行更新子网络操作时,将验证子网络控制器,并执行子网络跟踪,以确定是否发现无效要素或对象。 层的子网络定义定义了子网络的行为要求以及子网络中的有效要素和对象。

以下各小节介绍了更新子网络时检查网络要素的层属性和更新的属性字段。

有效要素和对象

正如子网定义中所指定的,每个类的特定资产组和资产类型被定义对于域网络中的每个层均有效。 通过检查子网中可遍历要素的属性更新子网时,可以发现违反子网定义的要素和对象。 如果在更新子网时发现无效网络要素,则会创建错误,并且子网将被标记为无效。 要了解有关特定于更新子网的错误的详细信息,请参阅更新子网络错误

更新子网时,不会为连接多个子网的边界要素评估子网定义的有效设备属性。 边界要素是指在两个子网络之间起屏障作用的设备,或参与多个子网络的子网络控制器,例如,水网中的水泵在一个子网络中接受压力,在另一个子网络中增加压力。

在每个层的子网定义中指定了以下有效要素和对象:

  • 有效设备
  • 有效的设备子网控制器
  • 有效线
  • 有效交汇点
  • 有效边对象
  • 有效交汇点对象
  • 有效交汇点对象子网控制器

不一致和不连接的子网

Subnetwork name 属性用于追踪网络要素属于哪些子网。在此属性字段中填充的值来自设置为子网控制器的要素的子网名称。此外,域网络中的要素具有 Supported subnetwork nameSupporting subnetwork name 属性。这两个属性分别有助于追踪容器或结构要素支持的子网和支持内容要素的子网。

要了解更多信息,请参阅支持的子网名称支持的子网名称

更新子网过程可确保子网要素的子网名称一致。 将针对不一致生成错误。 以下情况概述了可能遇到错误的情况:

  • 不一致子网 - 如果子网具有多个可遍历的子网控制器且 Subnetwork Name 属性不匹配,则可以认为子网不一致。 例如,在具有五个子网控制器的网格网络中,其中四个子网源的子网名称是正确的,而第五个子网源的名称则不同。 如果在更新子网时发现不一致的子网,更新子网工具会发出警告,并为子网名称不一致的子网控制器创建错误。 系统将返回被发现不一致的特定子网名称,并可使用修改子网控制器窗格和子网表进行检查。

  • 不相交子网 - 对于分区域网络,具有子网名称相同且不可遍历的控制器的子网将被视为不相交子网。 更新子网时,如果子网定义不允许出现不相交子网,则会在出现不相交子网时生成错误。 此设置可在层的子网定义中进行定义。 检查网络属性以查看特定域网络的子部分。

如果在检查边界要素一致性时发现任何相邻子网不一致,则会在更新过程中发出警告,列出冲突的子网名称。 要确定解决该警告的方法,可使用修改子网控制器窗格和子网表对相邻子网进行检查。 在对相邻子网进行编辑后,可以再次运行更新子网操作。

有关详细信息,请参阅子网

更新子网络中的要素和对象

在默认版本中更新子网时,会更新子网中所有地物和对象的几何、子网名称属性Is connected属性以及替代值传播值。 如果使用默认编辑模式选项在指定版本中执行更新子网络操作,则这些相同的更新仅限于要素和在版本中编辑的对象。

抢先版本:
对于版本 4 或更高版本的公共设施网络,可以通过设置子网定义地理处理工具中的指定版本的编辑模式参数修改作为更新子网策略一部分的指定版本的默认事件行为。

了解更新子网络策略中编辑模式的更多信息

更新 SubnetLine 要素类和 Subnetworks table

与编辑子网中的要素和对象一样,在运行更新子网操作时,SubnetLine 要素类Subnetworks table 也会被修改。

如果层的子网络定义为 SubnetLine 要素类定义了聚合线或配置了摘要,则更新操作会在 SubnetLine 要素类中为子网络创建或更新记录,并更新 Last update subnetwork 属性、Is dirty 属性以及编辑器跟踪属性。 子网络跟踪配置中配置的摘要也会更新并写入摘要属性。 更新操作成功后,子网络的状态将变为“干净”(isDirty = false)。 如果更新操作失败,则只更新编辑器跟踪字段。

在子网表中,相关子网控制器的 Last update subnetworkIs dirty 和编辑器跟踪属性也会更新。 更新操作成功后,表中所有控制器的状态都会变为“干净”(isDirty = false)。 如果更新操作失败,则只更新编辑器跟踪字段。

Is dirty 属性

Is dirty 属性用于追踪子网表SubnetLine 要素类中的子网状态,也会影响网络逻辑示意图的一致性Is dirty 状态主要通过更新子网络操作以及禁用、启用和验证网络拓扑工具进行管理,并使用层子网络定义的管理 IsDirty选项进行配置。

有关详细信息,请参阅子网生命周期

更新子网策略

运行更新子网进程时,有几个选项可控制更新哪些网络要素以及如何对地理数据库中的网络要素进行编辑。 使用设置子网定义工具,将这些选项作为更新子网策略部分中层级子网定义的一部分进行配置。

查看您的工作流,并确定是否需要更改默认更新子网策略。 可以在子网定义中修改更新结构网络容器更新域网络容器选项,以控制是否要查看容器上的子网名称属性。 这也可用于防止出现结构和域网络容器支持的子网名称字段超载的问题。 这在嵌套包含的情况下非常有用。

如果工作流程要求在更新子网络过程中进行属性编辑时触发地理数据库行为,则可将编辑模式配置为使用有事件编辑模式。

用于设置更新子网策略的选项如下:

  • 管理 IsDirty - 指定更新子网操作是否管理子网表中的 Is dirty 属性。 这还会影响网络逻辑示意图的一致性以及用于从 Subnetworks 表移除已删除控制器的方法。 激活此选项时, IsDirty 属性由更新子网操作管理,并将在 Subnetworks 表SubnetLine 要素类中得到更新。
    注:

    如果层被配置为不管理 Is dirty 属性,则无论更新子网络操作成功与否,子网络都将显示为“脏”。

    如果未启用此选项,在 Is deleted 属性设置为 true 的默认版本中,可以使用更新子网络操作从子网络表中删除行。

    如果没有为层定义任何子网控制器,则将禁用管理 IsDirty 选项。

    要了解有关子网状态和 Is dirty 属性的详细信息,请参阅子网状态

  • 更新结构网络容器 - 指定更新子网进程是否将更新结构要素的受支持的子网名称属性。 此选项默认为选中。
  • 更新域网络容器 - 指定更新子网进程是否将更新域网络容器的受支持子网名称属性。 此选项默认为选中。
  • 默认版本的编辑模式指定版本的编辑模式 - 在更新子网过程中,对子网要素进行了多种属性编辑。 编辑模式确定如何执行属性编辑。 可使用两个选项控制此行为:有事件无事件

    • 无事件 - 这是默认版本和已命名版本的默认设置,也是在单用户部署中使用时的默认设置。 在企业部署中使用此编辑模式时,更新子网络期间不会遵守地理数据库合同。 运行更新子网进程时,有几个选项可控制更新哪些网络要素以及如何对地理数据库中的网络要素进行编辑。 这也意味着,对没有事件的地物所做的更改不会写入地理数据库历史记录供以后查看。 采用这种方法是为了优化更新子网络的性能。
      • 在默认版本或单用户部署中使用此编辑模式时,子网络名称和传播的值会针对子网络中的所有功能和对象进行更新。
      • 在已命名版本中使用此编辑模式时,子网络名称和传播值仅针对用户在版本中编辑的功能进行更新。
    • 有事件 - 该选项使用户能够在更新默认版本和命名版本中的子网络以及在单用户部署中工作时触发地理数据库行为。 在这种编辑模式下,光标更新用于更新子网络名称和操作遍历的所有要素的传播值。

      使用有事件功能时,要尊重所有地理数据库合同。 这意味着属性规则会触发并重置其验证状态,编辑器跟踪会更新,相关对象会在适用时更新,更改会作为实际编辑记录在地理数据库的历史记录中。 如果用户要求在更新子网络操作期间触发属性规则,则应考虑使用这种编辑模式。

      警告:

      当数据中存在大量属性规则或相关对象,如关联要素的注记时,该选项可能会对性能产生不利影响,因此不应在较大的子网中使用。

    以下示例说明了使用默认指定版本的编辑模式(即无事件)的情况下,创建线后在 RMT001 子网的指定版本中运行更新子网的影响。 请注意,仅针对版本中编辑的要素更新子网名称。

    在使用“指定版本的编辑模式”默认选项“无事件”的指定版本中运行更新子网操作。

    以下示例说明了在默认版本或指定版本中运行工具,且指定版本的编辑模式设置为有事件的情况下,创建线后在 RMT001 子网上运行更新子网的影响。 请注意,虽然只编辑了一个要素,但子网中的所有要素都将更新为子网名称。

    在默认版本(“有事件”和“无事件”)和使用“有事件”的命名版本中运行更新子网操作。

    注:

    某些参数要求最低公共设施网络版本。 有关详细信息,请参阅设置子网定义工具。