可按照两个工作流优化当前在模板上设置的逻辑示意图图层定义。您必须根据要对该定义进行的更改选择其中一个工作流:
- 要移除现有逻辑示意图子图层或自定义现有逻辑示意图子图层上的设置(例如,更改符号、添加标注、使交汇点符号按旋转变化等),请在 ArcGIS Pro 中,从基于您的模板的逻辑示意图图层开始工作。然后,在使用导出逻辑示意图图层定义工具导出逻辑示意图图层定义之前,在网络逻辑示意图图层下更改所需图层。此工具会创建输出网络逻辑示意图图层定义文件 (.ndld)。完成此操作后,以逻辑示意图图层定义文件参数指定的输出 .ndld 文件运行导入逻辑示意图模板定义工具,从而使网络逻辑示意图图层定义更改应用于根据逻辑示意图模板生成的每个网络逻辑示意图。
- 要添加新逻辑示意图子图层或覆盖现有逻辑示意图子图层上的设置(例如,添加子图层以表示新的网络要素源,在模板逻辑示意图的规则变更后添加任何其他子图层(例如缩减边子图层),从标准图层切换到一些逻辑示意图子图层上的子类型组图层等),请使用网络地图开始工作。如果您希望进行的更改仅涉及其他逻辑示意图子图层,此网络地图必须引用您要添加到逻辑示意图图层或用于覆盖逻辑示意图图层下的现有子图层的唯一网络要素源图层,或者根本不引用任何网络要素源图层。然后,您将运行创建逻辑示意图图层定义工具,但不选中覆盖所有图层选项。
这两个工作流将在以下部分中进行详细介绍:
要求和先决条件
无论您将执行哪个工作流,要求和先决条件如下:
- 此操作必须从文件地理数据库中的公共设施网络或追踪网络或企业级地理数据库中公共设施网络或追踪网络的数据库连接内执行。使用企业级地理数据库中的公共设施网络或追踪网络时,您无法使用服务。
- 对于数据库连接到企业级地理数据库中的公共设施网络或追踪网络的情况,必须使用数据库网络所有者的凭据进行连接(也就是使用数据库公共设施网络所有者或数据库追踪网络所有者凭据)。
- 在使用企业级地理数据库中公共设施网络或追踪网络的数据库连接时,必须使用门户网络所有者的凭据登录到 ArcGIS Enterprise 门户(也就是使用门户公共设施网络所有者或门户追踪网络所有者凭据)。
移除现有逻辑示意图子图层或自定义现有逻辑示意图子图层上的设置
借助此工作流,您可满足以下用例中的需求或期望:
- 有些逻辑示意图子图层与您的网络逻辑示意图无关。例如,您不需要网络逻辑示意图图层下的缩减边子图层,原因在于您未在逻辑示意图模板上设置缩减交汇点和折叠容器规则。
- 您想要启用一些逻辑示意图子图层上的标注并自定义标注显示。
- 您需要修改当前为一些逻辑示意图交汇点设置的外观设置,例如符号大小、使交汇点按旋转变化等。
- 您想要更改一些逻辑示意图子图层的名称,以区分表示点程序集和面程序集的图层。
- 您想要更改网络逻辑示意图图层下的特定子类型图层组的子类型顺序。
以下部分将详细介绍用于移除或自定义在模板上设置的现有逻辑示意图子图层的四个步骤:
创建参考 utility network or trace network 数据元素的地图
- 启动 ArcGIS Pro。
- 在使用企业级地理数据库中的公共设施网络或追踪网络时,请使用门户网络所有者的凭据登录到 ArcGIS Enterprise 门户(也就是使用门户公共设施网络所有者或门户追踪网络所有者凭据)。
- 加载您的工程或创建一个工程。
- 根据要使用的地理数据库,执行以下操作之一:
- 当使用文件地理数据库中的公共设施网络或追踪网络时,将文件地理数据库添加到工程中
- 当使用企业级地理数据库中的公共设施网络或追踪网络时,将数据库连接文件添加到工程中或创建一个数据库连接文件。
警告:
确保公共设施网络或追踪网络已注册为分支版本,并且您正在使用数据库公共设施网络所有者凭据连接(也就是使用数据库公共设施网络所有者或数据库追踪网络所有者凭据)。
- 激活通过数据库连接文件或文件地理数据库引用公共设施网络或追踪网络的地图,或如下创建地图:
- 在目录窗格中工程选项卡上的数据库下,展开您的地理数据库项。
- 右键单击公共设施网络或追踪网络数据元素,然后单击添加至新地图。
- 如果系统提示您将参与网络的所有源类添加到地图中,单击是。
生成逻辑示意图并编辑网络逻辑示意图图层下的图层
要根据您的模板编辑网络逻辑示意图图层下的图层,请完成以下步骤:
- 在公共设施网络或追踪网络选项卡中,单击位于逻辑示意图组右下方的网络选项对话框启动器 。
- 在常规部分下,选中打开包含所有逻辑示意图模板子图层的逻辑示意图,以默认在加载每个网络逻辑示意图图层时为其启用所有所有模式。
- 在活动地图中选择相关的网络要素或网络对象。
- 在内容窗格中选择网络图层,在公共设施网络或追踪网络选项卡集的数据选项卡中,单击新建逻辑示意图下拉箭头,然后单击要用于优化逻辑示意图图层定义的模板。
逻辑示意图地图将连同新生成的逻辑示意图打开。
- 在网络逻辑示意图选项卡的管理组中,确保启用所有图层。
警告:
如果未启用此模式,则无法在下一部分中继续操作,因为这是执行导出逻辑示意图图层定义工具的先决条件。此外,在下一步中,您还必须重新开始执行已对图层或子类型图层组所做的所有编辑。
- 在内容窗格中,考虑网络逻辑示意图图层下的各个图层或子类型图层组并(可选)执行以下操作:
- 移除与逻辑示意图模板无关联的任何图层或子类型图层组。
注:
移除与逻辑示意图模板无关的图层、子类型图层组和子类型图层将提高显示性能。
- 右键单击子类型图层组,单击属性,然后单击子类型选项卡以管理子类型图层。例如,删除不相关的子类型、更改子类型顺序等。然后,关闭图层属性对话框。
- 更改保留的图层、子类型图层组或子类型图层的名称。
- 设置每个图层或子类型图层的外观设置。
- 设置图层和子类型图层的标注选项。
- 定义图层和子类型图层的可见性范围。
- 将逻辑示意图交汇点符号设置为根据 rotation 系统字段属性值自动旋转(标注为“元素旋转”),以便用户在应用旋转树布局时能够看到此属性变化。
- 移除与逻辑示意图模板无关联的任何图层或子类型图层组。
使逻辑示意图交汇点符号按旋转变化
要将逻辑示意图交汇点符号设置为根据 rotation 字段(标注为“元素旋转”)的属性值自动旋转,请完成以下步骤:
- 在内容窗格中,单击您希望符号按旋转变化的逻辑示意图交汇点图层或子类型图层组。
- 在要素图层选项卡集上,单击外观选项卡。然后,在绘制组中,单击符号系统。
- 选择一个或多个非对称符号来表示这些逻辑示意图交汇点,从而使其在按旋转变化时呈现不同外观。
- 在符号系统窗格的顶部,单击按属性变更符号系统选项卡。
- 然后,展开旋转部分,并单击设置表达式:
警告:
请勿直接在设置表达式按钮右侧的字段列表中选择“元素旋转”。在这种情况下,默认初始化的 Arcade 表达式看起来与以下表达式很接近 ($feature.UN_5_TmpJunctions.ROTATION),但处于无效状态。确保您指定的表达式基于以下语法之一:
- Arcade:$feature['UN_5_TmpJunctions.ROTATION']
- VBScript:[UN_5_TmpJunctions.ROTATION]
- 在显示的表达式构建器对话框中,双击字段列表中的 Element rotation 字段。
- 根据所用符号的初始方向和旋转方式(地理或算术),考虑在“表达式”字段中添加 90,从而使内容窗格和逻辑示意图中显示的符号方向在“元素旋转”为零时相同。
- 单击确定。
从网络逻辑示意图图层导出逻辑示意图图层定义
要导出当前为您所编辑的网络逻辑示意图图层设置的逻辑示意图图层定义,请按照以下步骤运行导出逻辑示意图图层定义。
- 在分析选项卡上,单击工具。
- 在搜索文本框中,键入 export diagram,然后选择导出逻辑示意图图层定义工具。
- 在地理处理窗格中,从输入网络逻辑示意图图层下拉列表中,选择活动逻辑示意图地图中引用的逻辑示意图图层(您在上述部分中修改了图层属性的逻辑示意图图层)。它将被列为临时逻辑示意图。
- 指定输出文件。也就是说,浏览至文件夹位置并将其选中,键入要创建的网络逻辑示意图图层文件的名称(例如 NewDiagramLayerDefinition),然后单击保存。
- 单击运行。
在指定的输出位置创建逻辑示意图图层定义文件 (.ndld)。
将网络逻辑示意图图层定义导入模板
要将网络逻辑示意图图层定义导入模板,请按照以下步骤运行导入逻辑示意图模板定义工具。
警告:
尽管您可以导入已从另一个网络模板导出的图层定义,但是网络源和目标模板必须具有以下共同点:
- 相同网络类型
- 相同域
- 相同数据模型
- 相同资产类型和资产组值
无论源模板和目标模板是否共享相同的网络,还必须考虑这些模板的规则和布局定义。源模板可能缺少目标模板所需的某些逻辑示意图图层。通常,当有“移除要素”或“缩减交汇点”规则配置为系统地放弃来自源模板上给定网络源类或对象表的所有网络元素时,可能会发生这种情况。在这种情况下,网络逻辑示意图图层下与已移除或缩减网络元素相关的图层可能已被有意地从网络逻辑示意图图层定义的源模板中移除,因为它与该模板无关。但是,如果没有规则配置为移除或缩减这些元素,则目标模板需要这样一个图层。
- 在分析选项卡上,单击工具。
- 在搜索文本框中,输入 import diagram,然后选择导入逻辑示意图模板定义工具。
- 单击输入网络框旁边的浏览按钮,转至 Project\Databases,选择地理数据库项目,然后浏览至公共设施网络或追踪网络。
- 在输入逻辑示意图模板下拉列表中,选择要导入网络逻辑示意图图层定义的模板。
- 单击逻辑示意图图层定义文件框旁的浏览按钮,然后浏览到通过导出逻辑示意图图层定义工具生成的网络逻辑示意图图层定义文件 (.ndld) 并将其选中。
- 单击运行。
警告:
通过服务使用网络时,要获取完全在网络服务上运行的已修改逻辑示意图模板,还需要一个额外的步骤:您必须连接到 ArcGIS Server,然后停止并重新启动该服务。
添加新逻辑示意图子图层或覆盖现有逻辑示意图子图层上的设置
借助此工作流,您可满足以下用例中的需求或期望:
- 您已更改网络地图中的网络分配交汇点的外观,并想要在网络逻辑示意图中充分利用这一新外观。
- 现在,您的网络包括交汇点和边对象,并且您需要获取新的点和折线逻辑示意图子图层,以在网络逻辑示意图中表示这些新的网络对象。
- 您在模板上设置了一个新的折叠容器规则,现在需要包括其他点图层,以表示将在网络逻辑示意图中作为折叠交汇点进行系统折叠的网络容器面。
- 您想要在网络逻辑示意图图层下的一些其他现有子图层上从标准图层切换到子类型图层组(或者相反)。
在这种情况下,您必须在相关逻辑示意图模板上使用创建逻辑示意图图层定义工具。在 ArcGIS Pro 2.7 之前的版本中,运行此工具会完全重新初始化模板上的逻辑示意图图层定义,从而导致在一些特定逻辑示意图子图层上配置的所有自定义设置丢失。从 ArcGIS Pro 2.7 开始,创建逻辑示意图图层定义工具包括一个新选项(覆盖所有图层),您可以取消选中该选项以避免完全重新初始化逻辑示意图图层定义。也就是说,在不选中该选项的情况下,您现在可以精确控制要保留和要覆盖的逻辑示意图子图层。
以下工作流将详细介绍添加新逻辑示意图子图层或覆盖现有逻辑示意图子图层上的设置时要执行的步骤。
提示:
为避免在完成以下工作流后丢失设置并允许返回,您可以运行导出逻辑示意图模板定义工具,以导出模板上当前设置的逻辑示意图图层定义。然后,如有需要,您只需在模板上执行导入逻辑示意图模板定义工具,即可恢复当前逻辑示意图图层定义。
- 启动 ArcGIS Pro。
- 然后,假设您已经有一个引用公共设施网络或追踪网络数据元素的地图,请加载该地图工程。
- 创建网络地图副本。然后,打开并激活此地图副本。
此副本将与创建逻辑示意图图层定义工具一起使用。
- 对于地图中的每个图层,验证网络源图层所表示的内容,并移除已经适合逻辑示意图模板的网络源图层。
其目的是仅在地图中保留您要覆盖的网络源图层。
如果您只希望更改其他子图层的设置,应移除地图中的所有网络源图层,然后结束操作。也就是说,结束时,应该仅在地图中保留公共设施网络或追踪网络源图层。
- 在地理处理窗格搜索框中搜索创建逻辑示意图图层定义并将该工具打开。
- 单击输入网络字段下拉箭头,然后选择在活动地图中引用的公共设施网络或追踪网络源图层。
- 在输入逻辑示意图模板列表中,选择您要优化逻辑示意图图层定义的模板。
- 确保未选中覆盖所有图层选项。
这是此工作流中的关键。如果选中此选项,运行工具将完全覆盖输入模板上的逻辑示意图图层定义。如果未选中此选项,将仅考虑输入网络地图上的网络源图层以及在其他子图层部分下维护的设置,并将其反映在当前逻辑示意图图层定义上。
- 展开其他子图层部分,并考虑以下选择:
- 如果不需要对逻辑示意图图层定义中的其他子图层进行更改,请取消选中每个复选框,并移除在作为交汇点和折叠面减少的边的点、容器面、交汇点对象的点和边对象的点部分中指定的每个网络源图层,然后转到下一步。
- 如果想要更改其他子图层的某些设置,请考虑以下步骤:
- 如果您想要添加其他子图层来表示网络逻辑示意图中的系统交汇点,或重置相应网络逻辑示意图子图层上的现有设置时,请保持系统交汇点框处于选中状态。
- 如果您在模板上配置了添加连通性关联规则或追踪规则,并且逻辑示意图图层定义上还没有用于在网络逻辑示意图中表示连通性关联的连通性关联子图层,或者您想要重置相关网络逻辑示意图子图层上的现有设置,请保持连通性关联处于选中状态。
- 如果您在模板上配置了添加结构附件规则,并且逻辑示意图图层定义上还没有用于在网络逻辑示意图中表示结构附件的结构附件子图层,或者您想要重置该逻辑示意图子图层的设置,请保持结构附件处于选中状态。
- 如果您在模板上添加了缩减交汇点或折叠容器规则,并且逻辑示意图图层定义上还没有用于在网络逻辑示意图中表示缩减边的缩减边子图层,或者您想要重置该逻辑示意图子图层上的设置,请保持缩减边处于选中状态。
- 如果您在模板上添加了缩减边或折叠容器规则,请考虑作为交汇点和折叠面减少的边的点部分下的每个图层,并搜索按此新规则处理的网络源。如果相应图层不在逻辑示意图图层定义中或您想要对其进行重置,请保留该图层。然后,移除所有其他图层。
- 如果网络逻辑示意图图层下缺少任何容器面子图层,或您要重置某些子图层的设置,请注意容器面部分下的每个图层。保留网络逻辑示意图图层中缺少的任何图层或您想要为其重置设置的任何图层。然后,移除所有其他图层。
- 如果您的网络现在包括交汇点对象,并且您想要在网络逻辑示意图中表示交汇点对象,请考虑交汇点对象的点部分下的每个图层。保留网络逻辑示意图图层中缺少的任何交汇点对象图层或您想要为其重置设置的图层。然后,移除所有其他图层。
- 如果您的网络现在包括边对象,并且您想要在网络逻辑示意图中表示边对象,请考虑边对象的折线部分下的每个图层。保留网络逻辑示意图图层中缺少的任何边对象图层或您想要为其重置设置的任何图层。然后,移除所有其他图层。
- 对于上述第 9e 至 9h 步骤中保留的每个图层,如果您希望使用预设子类型图层组添加或重置相关图层,请选中子类型图层复选框。否则,图层将使用按子类型分类的简单图层表示。
- 单击运行。
- 然后,根据您的模板生成测试逻辑示意图,在逻辑示意图图层上打开所有图层模式,并验证网络逻辑示意图图层下的每个子图层是否符合您的期望。
优化模板上的逻辑示意图图层定义并减少服务器上的内存占用量
如果将子类型图层组与每个子图层的精细符号和复杂标注设置相结合,逻辑示意图模板图层定义可能会变得内容丰富。内容越丰富,产生以下结果的可能性就越大:
- 影响 ArcGIS Pro 会话期间的网络逻辑示意图显示性能。
- 通过网络服务使用网络逻辑示意图时,增加服务器上的内存占用量。
要改进网络逻辑示意图显示性能,建议移除与逻辑示意图模板无关的图层、子类型图层组和子类型图层。可对每个模板执行这项自定义操作,以减少最大图层数。在这种情况下,您的每个逻辑示意图模板可能包含不同的逻辑示意图图层定义;每个定义均完全符合每个逻辑示意图模板的图层要求。
但是,如果您为网络配置了多个逻辑示意图模板,并通过网络服务使用网络逻辑示意图,则不建议为每个模板设置不同的逻辑示意图定义。当网络服务启动且相关逻辑示意图模板加载到内存中时,将系统分析每个加载模板上的图层定义,并将其与已加载模板上设置的图层定义进行比较。如果内存中已存在相同的图层定义,将自动与当前正在加载的模板共享。这可避免多次加载相同图层定义,也免于徒劳地增加服务器上的内存占用量。
这样一来,您可以清楚地理解:如果减少每个模板的最大图层数,最终可能导致每个模板包括不同的逻辑示意图图层定义,从而增加服务器上的内存占用量,原因在于在这种情况下,无法在模板之间共享逻辑示意图图层定义。
总而言之,您必须在配置模板图层定义时寻求平衡,既要限制模板上不同逻辑示意图图层定义的数量,也要尽量减少不同模板之间共享的每个逻辑示意图图层定义所属的图层数量。