网络数据集构建器如何进行操作?
对于基于“网络数据集”构建器的逻辑示意图模板,与该逻辑示意图模板关联的逻辑示意图要素类与内存中的“网络分析”要素类和真实网络 GIS 要素类相关。“网络分析”要素类(停靠点、障碍、事件点、订单点等等)是为各种类型的网络分析图层输入构建的,而真实网络 GIS 要素类(街道、网络交汇点等)可构成网络上的所有网络分析结果。
如果基于“网络数据集”构建器生成逻辑示意图,则构建器会填充逻辑示意图要素类 - 也就是说,构建器会在逻辑示意图中按照以下方式创建逻辑示意图要素:
- 构建器会分析内存中组成已求解的网络分析图层的要素并对这些要素的几何和拓扑进行解码。
- 对于组成网络分析图层的各要素图层,构建器会验证是否需要处理该要素图层 - 也就是说,构建器会验证对于逻辑示意图模板而言,是否存在与内存中的要素类(与该要素图层相关)相关联的逻辑示意图要素类。
如果逻辑示意图模板具有这样的逻辑示意图要素类,则对于该要素图层中的各网络要素,构建器会在内存中创建相关联的逻辑示意图要素;评估这些要素的属性:网络要素的成本属性(ArriveTime、DepartTime、Attr_Meters、Attr_Meters、Attr_Minutes、Status 和 CurbApproach 等)、逻辑示意图要素所需的任何其他属性(子类型、用于符号系统的属性);以及初始化这些要素的拓扑和几何。
- 如果为相关的逻辑示意图模板指定了逻辑示意图规则,则会对在内存中构建的所有逻辑示意图要素执行这些规则。
- 如果存在为逻辑示意图模板配置的默认逻辑示意图布局算法,则会执行此算法,并且会相应地更新内存中的所有逻辑示意图要素的几何。
- 生成过程启动之后,内存中的所有逻辑示意图要素都将保存在逻辑示意图数据集的逻辑示意图要素类中。
- 创建的所有逻辑示意图要素都从逻辑示意图要素类中进行查询,并会显示逻辑示意图。
在逻辑示意图要素的生存时间内(也就是说在从逻辑示意图数据集中将其删除之前),可随时
- 重新打开这些要素。
- 编辑、布局和保存。
- 更新以使逻辑示意图要素的内容与地理数据库保持一致,并且对关联 GIS 要素产生影响的每项更改都可以显示在关联的逻辑示意图要素上。基于版本化网络数据集的逻辑示意图还可以根据任何其他参照版本进行更新;这表示即使逻辑示意图是基于指定时间内的网络数据集的特殊版本生成的,如果该网络数据集版本已被删除或不再有参照版本,则仍然可以更改逻辑示意图的参照版本以使逻辑示意图的内容与网络数据集版本一起变化。
基于“网络数据集”构建器的逻辑示意图模板还可以生成混合逻辑示意图,这些混合逻辑示意图包含了与网络要素关联的逻辑示意图要素,以及来自可在任何类型数据库中进行操作的自定义查询的逻辑示意图要素。在这种情况下,在生成过程中存在如下中间步骤:
- 具有被配置为在构建逻辑示意图时启动的自定义查询(也就是说,查询具有“生成/更新时进行查询”评估模式)的逻辑示意图要素类仅在执行规则之前进行处理。
- 具有被配置为在加载逻辑示意图时启动的自定义查询(也就是说,查询具有“开始编辑时进行查询”评估模式)的逻辑示意图要素类仅在执行规则之后进行处理。
如果对“网络数据集”构建器的属性进行配置,则构建器会被设置为启用名为自动创建逻辑示意图要素类的特殊运行模式。当启用此模式时,“网络数据集”构建器能够处理组成网络中网络分析结果的所有内存中的要素,即使在生成时期不存在与相关内存要素类相关联的逻辑示意图要素类。当此运行模式被禁用时,“网络数据集”构建器无法创建逻辑示意图模板的缺失逻辑示意图要素类,并且与所有或部分内存中的要素(这些要素组成网络分析结果)相关的逻辑示意图要素可能不会包含在生成的逻辑示意图中。