何时更新逻辑示意图
在某一特定时间,逻辑示意图中包含的逻辑示意图要素可能未根据最初生成逻辑示意图所使用的输入数据的当前状态而更新。这将发生在以下几种情况下:
- 关联的输入元素(即,关联的 GIS 要素/对象、XML 元素、网络元素等等)不再存在。
- 原始输入元素的某些属性值已更改。
- 某些新输入元素现在被检测为初始数据,也就是说,初始追踪、网络分析、自定义查询、按属性选择等操作的结果(已在逻辑示意图生成之前用作初始输入数据)现在将返回某些新元素。
以下各部分详细说明了当根据逻辑示意图所基于的构建器进行更新时如何在逻辑示意图内容中反映这些变化。
标准构建器逻辑示意图更新
可以对基于标准构建器的逻辑示意图模板进行配置以处理不同的输入数据:
- 执行选择或几何网络追踪操作后在地图文档中高亮显示的以几何网络形式或网络数据集形式组织的 GIS 要素
- 在用于确定内容的所有关联的逻辑示意图要素类中配置的自定义查询
如果逻辑示意图内容基于以几何网络形式或网络数据集形式组织的 GIS 要素
在这种情况下,将基于执行选择或几何网络追踪操作后地图中高亮显示的网络要素生成逻辑示意图。生成任何逻辑示意图之后,Schematics 将构建与那些高亮显示的网络要素相关联的逻辑示意图要素,并在显示逻辑示意图之前将这些要素存储在逻辑示意图数据集中的逻辑示意图要素类中。此后,每次重新打开逻辑示意图时,都将从逻辑示意图数据集的要素类中直接查询逻辑示意图要素,而不是从网络要素类中查询。如果已对 GIS 数据进行了更改(例如,更改要素状态或移除要素),则不会在逻辑示意图数据集中自动反映这些更改,并且逻辑示意图内容可能会与 GIS 数据集内容出现不一致。
随后可启动对逻辑示意图的更新,这样逻辑示意图数据集将根据 GIS 数据进行同步,并且对 GIS 网络要素的更改将反映在逻辑示意图中。
下表显示了哪类更改将反映在更新的逻辑示意图中(具体取决于所选更新选项):
对初始 GIS 要素所做更改的类型 |
根据原始选择/追踪/查询进行同步 |
刷新属性 |
将新要素追加到活动逻辑示意图 |
覆盖活动逻辑示意图 |
---|---|---|---|---|
移除的 GIS 要素将反映在更新的逻辑示意图中。 |
是 |
否 |
|
是(请参阅下面的注释 4。) |
新的 GIS 要素将包含在更新的逻辑示意图中。 |
|
否 |
是 |
是(请参阅下面的注释 4。) |
对 GIS 要素属性的更改将反映在更新的逻辑示意图中。 |
是 另请参阅下面的注释 3。 |
是 另请参阅下面的注释 3。 |
另请参阅下面的注释 3。 |
是(请参阅下面的注释 4。) 另请参阅下面的注释 3。 |
- 如果已基于地图中以绘图形式返回的核心几何网络追踪结果生成标准构建器逻辑示意图,追踪参数将自动存储在逻辑示意图数据集中。这样,在使用根据原始选择/追踪/查询进行同步选项更新逻辑示意图时,Schematics 将自动重新执行追踪操作并使用内存中新的追踪结果更新逻辑示意图内容。这表示,对于此时由追踪结果返回的任何新网络要素,都将在更新的逻辑示意图中创建新逻辑示意图要素。
- 如果已基于地图中所选的一组网络要素生成标准构建器逻辑示意图,则可以在地图中执行多种操作以创建此初始选择集,例如,手动选择、使用按属性选择 或按位置选择命令执行选择操作、以选择集形式返回的几何网络追踪结果,或者结合使用这些操作中的多个操作。在这种情况下,逻辑示意图更新过程中 Schematics 无法自动获取地图中应由相同操作返回的网络要素。这表示,对于最初基于选择集的逻辑示意图,如果使用根据原始选择/追踪/查询进行同步选项进行更新,将不会在更新的逻辑示意图中为可能已在地图中创建的新网络要素创建任何新逻辑示意图要素;逻辑示意图内容将只根据同一初始网络要素选择集进行更新。如果要在更新后的逻辑示意图中反映这些变化,您必须在地图中重新执行相同的选择操作,然后使用将新要素追加到活动逻辑示意图或覆盖活动逻辑示意图选项更新逻辑示意图。
- 可以将逻辑示意图属性配置为每次在内存中加载逻辑示意图时(例如,每次在逻辑示意图上启动编辑会话时)自动重新评估。在这种情况下,如果这些属性与关联的网络要素类的任何字段相关联,则启动编辑会话后,将在逻辑示意图中自动反映对网络要素字段值的更改。您只需保存逻辑示意图编辑内容即可将这些更改保留在逻辑示意图数据库中。保存之后,并不会更新逻辑示意图,但是这些属性值将是最新的。
- 如果使用覆盖活动逻辑示意图选项,更新后的逻辑示意图内容可能与更新前的内容完全不同。
逻辑示意图更新过程中,Schematics 不仅将反映可能对逻辑示意图中包含的逻辑示意图要素所关联的 GIS 网络要素产生影响的更改;还可重新执行诸如逻辑示意图规则执行等一些其他特定操作。下表显示了哪类操作将在逻辑示意图更新过程中系统地重新执行(具体取决于所选更新选项):
在逻辑示意图更新过程中 |
根据原始选择/追踪/查询进行同步 |
刷新属性 |
将新要素追加到活动逻辑示意图 |
覆盖活动逻辑示意图 |
---|---|---|---|---|
如果追踪参数保留在逻辑示意图数据库中,则更新过程中将自动重新执行追踪。 |
是 |
否 |
否 |
否 |
更新过程中将重新执行规则。 |
是 |
否 |
是 |
是 |
特定的编辑操作(例如,移除逻辑示意图要素、减去逻辑示意图要素和重新连接逻辑示意图链接)将反映在更新的逻辑示意图中。 |
是或否(可选。) |
是或否(可选。) |
是或否(可选。) |
是或否(可选。) |
如果逻辑示意图的全部内容均来自于自定义查询
在这种情况下,将基于以一组记录的形式从数据库表返回的一组已配置查询生成逻辑示意图。生成任何逻辑示意图之后,Schematics 将构建与逻辑示意图中应有的这组记录相关联的逻辑示意图要素,并在显示逻辑示意图之前将这些要素存储在逻辑示意图数据集中的逻辑示意图要素类中。
当重新打开逻辑示意图时,通常会从逻辑示意图数据集的要素类中查询逻辑示意图要素,而不是从实际的数据库表中查询。这表示,如果更改已对实际的数据库内容产生影响,则不会在逻辑示意图要素类或逻辑示意图中自动反映这些更改。要反映这些更改,需要对逻辑示意图进行更新。
下表显示了哪类更改将反映在更新的逻辑示意图中(具体取决于所选更新选项):
对自定义查询所返回的记录集的更改的类型 |
根据原始选择/追踪/查询进行同步 | 刷新属性 |
---|---|---|
移除的要素/对象将反映在更新的逻辑示意图中。 |
是 | 否 |
新的要素/对象将包含在更新的逻辑示意图中。 |
是 | 否 |
对要素/对象属性的更改将反映在更新的逻辑示意图中。 |
是 | 是 |
如果将为标准构建器逻辑示意图模板所关联的逻辑示意图要素类指定的查询配置为每次加载逻辑示意图时动态重新执行,则每当加载逻辑示意图(无需更新逻辑示意图),逻辑示意图内容即可反映实际数据库中的变化。但在这种特定情况下,逻辑示意图数据集中的逻辑示意图要素类的内容将仍然与逻辑示意图内容不一致,直至对逻辑示意图进行更新或者在逻辑示意图上启动编辑会话并保存编辑内容。
逻辑示意图更新过程中,还可重新执行其他特定的操作,例如,逻辑示意图规则执行。下表显示了逻辑示意图更新过程中还将重新执行哪类操作:
在逻辑示意图更新过程中 |
根据原始选择/追踪/查询进行同步 | 刷新属性 |
---|---|---|
更新过程中将重新执行规则。 |
是(请参阅下面的注意信息。) | 否 |
特定的编辑操作(例如,移除逻辑示意图要素、减去逻辑示意图要素和重新连接逻辑示意图链接)将反映在更新的逻辑示意图中。 |
是或否(可选。) | 是或否(可选。) |
逻辑示意图更新过程中,规则将仅应用于某些逻辑示意图要素类中的逻辑示意图要素,这些逻辑示意图要素类必须具有配置为在逻辑示意图生成和更新时启动的自定义查询(即具有“生成/更新时进行查询”求值模式的查询)。具有配置为在逻辑示意图加载时启动的自定义查询(即具有“开始编辑时进行查询”求值模式的查询)的逻辑示意图要素类中的逻辑示意图要素将在执行规则后进行处理。
网络数据集构建器逻辑示意图更新
如果使用网络数据集构建器,将基于已求解的网络分析图层生成逻辑示意图。生成任何逻辑示意图之后,Schematics 将构建与内存中组成此网络分析图层的要素相关联的逻辑示意图要素,并在显示逻辑示意图之前将这些要素存储在逻辑示意图数据集中的逻辑示意图要素类中。此后,每次重新打开逻辑示意图时,都将从逻辑示意图数据集的要素类中直接查询逻辑示意图要素。如果已在网络数据集中做出将导致已求解的网络分析图层发生变化的更改,则将不会在逻辑示意图数据集中自动反映这些更改。在这种情况下,可能需要对逻辑示意图内容进行更新以反映这些更改。更新逻辑示意图之前,需要重新求解网络分析图层。
下表显示了更新的逻辑示意图中将反映哪些类型的更改:
对内存中组成网络分析图层的要素的更改的类型 |
更新 |
---|---|
移除的网络元素将反映在更新的逻辑示意图中。 |
是 |
新的网络元素将包含在更新的逻辑示意图中。 |
是 |
对网络元素属性的更改将反映在更新的逻辑示意图中。 |
是 |
逻辑示意图更新过程中,Schematics 不仅将反映可能对逻辑示意图中包含的逻辑示意图要素所关联的网络元素产生影响的更改;还可重新执行诸如逻辑示意图规则执行等一些其他特定操作。下表显示了哪类操作将在逻辑示意图更新过程中系统地重新执行(具体取决于所选更新选项):
在逻辑示意图更新过程中 |
更新 |
---|---|
更新过程中将重新执行规则。 |
是 |
特定的编辑操作(例如,移除逻辑示意图要素、减去逻辑示意图要素和重新连接逻辑示意图链接)将反映在更新的逻辑示意图中。 |
是或否(可选。) |
任何情况下,用户都可以更新最初基于特定的已求解网络分析图层的逻辑示意图、基于以网络数据集不同部分为基础的其他任何已求解的网络分析或基于其他类型的网络分析来更新逻辑示意图。这表示,更新后的逻辑示意图内容可能与更新前的内容完全不同。
XML 构建器逻辑示意图更新
如果使用 XML 构建器,将基于输入 XML 数据生成逻辑示意图。生成任何逻辑示意图之后,Schematics 将构建与输入中的 XML 元素相关联的逻辑示意图要素,并在显示逻辑示意图之前将这些要素存储在逻辑示意图数据集中的逻辑示意图要素类中。此后,每次重新打开逻辑示意图时,都将从逻辑示意图数据集的要素类中直接查询逻辑示意图要素。逻辑示意图数据集中不会自动反映对输入数据的更改。要反映这些更改,需要对逻辑示意图内容进行更新。
下表显示了更新的逻辑示意图中将反映哪些类型的更改:
对初始 XML 元素所做更改的类型 |
更新 |
---|---|
移除的 XML 元素将反映在更新的逻辑示意图中。 |
是 |
新的 XML 元素将包含在更新的逻辑示意图中。 |
是 |
对 XML 元素属性的更改将反映在更新的逻辑示意图中。 |
是 |
逻辑示意图更新过程中,Schematics 不仅将反映可能对逻辑示意图中包含的逻辑示意图要素所关联的 XML 元素产生影响的更改;还可重新执行诸如逻辑示意图规则执行等其他特定操作。下表显示了哪类操作将在逻辑示意图更新过程中系统地重新执行(具体取决于所选更新选项):
在逻辑示意图更新过程中 |
更新 |
---|---|
更新过程中将重新执行规则。 |
是 |
特定的编辑操作(例如,移除逻辑示意图要素、减去逻辑示意图要素和重新连接逻辑示意图链接)将反映在更新的逻辑示意图中。 |
是或否(可选。) |
任何情况下,用户都可以更新最初基于指定的输入 XML 数据的逻辑示意图,或基于其他任何输入 XML 数据更新逻辑示意图。这表示,更新后的逻辑示意图内容可能与更新前的内容完全不同。