使用“覆盖活动逻辑示意图”选项进行更新
覆盖活动逻辑示意图选项适用于在一个地图文档的数据框中执行追踪或选择操作后仍保持选定状态的 GIS 要素。此选项可基于在地图中选择的输入 GIS 要素来覆盖整个逻辑示意图内容。使用此选项更新逻辑示意图类似于根据执行选择或追踪操作后高亮显示的新 GIS 要素集重新生成逻辑示意图。唯一区别在于更新后逻辑示意图中逻辑示意图要素的几何:如果逻辑示意图已经过布置和保存,则更新前逻辑示意图中与当前在地图中所选 GIS 要素相关联的逻辑示意图要素在更新后仍会保留其保存的几何。
如果当前未在地图文档中选择任何 GIS 要素并且尚未执行任何追踪操作,或者在活动逻辑示意图完全基于自定义查询而构建时,“覆盖活动逻辑示意图”选项将不可用。
选中“覆盖活动逻辑示意图”选项后,您需要指定要用来覆盖逻辑示意图的输入 GIS 数据。可以使用两种输入类型:
- 数据框中当前选定的 GIS 要素集
- 内存中的追踪操作结果
- 将逻辑示意图中不是根据自定义查询得到的逻辑示意图要素加载到内存中。
- 对地图中当前高亮显示的 GIS 要素集进行分析,而构建器将按以下方式运行:
- 更新逻辑示意图中最初包含的与地图中高亮显示的 GIS 要素相关联的逻辑示意图要素;刷新这些要素的属性和初始几何,并重新初始化这些要素的当前几何(如果未保存逻辑示意图)。
- 在内存中创建通过地图中高亮显示的 GIS 要素得来的新逻辑示意图要素。求出这些要素属性的值,并初始化要素的拓扑和几何。
- 从内存中移除最初包含在逻辑示意图中但不再与地图中高亮显示的 GIS 要素关联的逻辑示意图要素。
- 然后,如果为相关逻辑示意图模板指定了逻辑示意图规则,则会对内存中的所有逻辑示意图要素执行这些规则。
- 如果“保持手动移除、减去或重新连接的状态”复选框处于选中状态,则会重新执行移除、减去和重新连接操作。
- 如果为逻辑示意图模板配置了默认的逻辑示意图布局算法,并且逻辑示意图的布局尚未保存,则此算法会重新执行,并且内存中所有逻辑示意图要素的几何都将相应地更新。
- 内存中的所有逻辑示意图要素都将保存在逻辑示意图数据集的逻辑示意图要素类中。
- 然后,活动逻辑示意图会使用新的逻辑示意图数据集内容进行刷新。
如果逻辑示意图模板配置为,混合使用与地图文档中高亮显示的 GIS 要素关联的逻辑示意图要素和通过自定义查询得到的逻辑示意图要素,则更新过程还将包含一些额外的步骤:
- 自定义查询配置为在构建逻辑示意图期间启动(即使用“生成/更新时进行查询”求值模式的查询)的逻辑示意图要素类将在执行规则前进行处理。
- 自定义查询配置为在加载逻辑示意图时启动(即使用“开始编辑时进行查询”求值模式的查询)的逻辑示意图要素类将在执行规则后进行处理。
- 将存储在逻辑示意图要素类中的使用自定义查询的所有逻辑示意图要素加载到内存中。
- 执行为各逻辑示意图要素类指定的自定义查询,然后内存中的逻辑示意图要素将按照以下方式更新:
- 更新仍与查询记录关联的内存中逻辑示意图要素;更新这些要素的属性和初始几何,并且如果尚未保存逻辑示意图,则这些要素的当前几何将重新初始化。
- 在内存中创建与新的已查询记录关联的新逻辑示意图要素。求出这些要素属性的值,并初始化要素的拓扑和几何。
- 内存中不再与已返回记录关联的逻辑示意图要素将从内存中移除。
如果在更新活动逻辑示意图之前为其保存了特定布局,则更新前已位于逻辑示意图中的逻辑示意图要素将保持上次保存时的位置不变,而逻辑示意图中引入的新逻辑示意图要素在更新期间将按照以下几种方式定位:
- 如果这些要素来自以几何网络形式组织的 GIS 要素,它们将位于其地理坐标处
- 如果这些要素根据自定义查询构建并配置了初始坐标,它们将位于其初始坐标处
- 如果这些要素根据自定义查询构建但未指定初始坐标,它们将位于 (0,0) 处
对于最初根据追踪操作结果生成的逻辑示意图,在生成过程中,追踪操作参数将存储在逻辑示意图数据库中。如果使用“覆盖活动逻辑示意图”选项进行更新,则在更新期间会擦除这些初始追踪操作的参数。在这种情况下,与逻辑示意图的初始生成方式相比,选择“覆盖活动逻辑示意图”选项将更具优势。以下表格显示的是在将“覆盖活动逻辑示意图”选项与当前选择选项或当前追踪选项结合使用的情况下进行更新后,保留的追踪操作参数的状态:
最初基于追踪生成的逻辑示意图 |
最初基于 GIS 要素选择集生成的逻辑示意图 | |
---|---|---|
基于当前选择覆盖 |
更新前位于逻辑示意图数据库中的初始追踪参数将在更新后丢失。 |
逻辑示意图数据库中仍然不会保存任何追踪参数。 |
基于当前追踪覆盖 |
新追踪参数会包含在逻辑示意图数据库中,并覆盖最初保留的追踪参数。 |
与追加的追踪相关的参数将保留在逻辑示意图数据库中。 |