解决道路冲突 (制图)

摘要

通过调整部分线段来解决符号化的道路要素之间的图形冲突。

了解有关“解决道路冲突”工作原理的详细信息

警告:

该工具不会生成输出图层,而是更改输入图层源要素类的几何。 建议您在运行此工具前先复制输入要素。

警告:

如果输入要素未使用投影坐标系,则会发出一条警告消息。该工具基于线性距离单位,如果使用非投影坐标系,则将创建意外的结果。因此,强烈建议您对使用投影坐标系的数据运行此工具,以确保获得有效的结果。如果坐标系缺失或未知,则会生成一条错误消息并且工具将不执行处理操作。

插图

解决道路冲突工具示例
通过调整要素的位置直到它们的符号不再存在冲突来解决道路之间的冲突。

使用情况

  • 此工具通常用于生成相对大比例的结果,这便更适合于显示具有多条清晰可辨的车道的分开的道路。 在较小比例下,可能要转而使用合并分开的道路工具来显示表示这些要素的单个制图表达线。 如果工作流包括对同一道路集合运行这两个工具,建议您在解决道路冲突前对道路进行合并。

  • 等级字段参数用于指定每个道路类的等级重要性。 将使用整数指定道路的重要性,整数越小,表示道路越重要,等级为 1 的道路最重要。 将尽量避免对最重要的道路进行移动;通常会移动等级较低的道路以适应等级较高的道路。 对于所有输入要素类,必须存在等级字段并且指定为相同的值。

  • 该工具评估符号化要素的图形冲突。符号系统范围和参考比例会被结合起来考虑。仅在以下操作结束后再运行此工具:确定了符号的外观,并且确保参考比例与所需的最终输出比例相对应。

    如果线和轮廓符号宽度为零,将会引发错误。 如果不想显示某些要素,可以考虑对图层使用定义查询。

  • 可通过将等级字段的值设置为 0(零)来锁定要素,从而防止其位移。 由于道路与其他地图要素的关系(尤其是像高程这样的连续数据)而不应移动道路时,这一点就会非常有用。

  • 处理大型道路数据集或同时处理多个数据集可能会超过内存限制。 在这种情况下,考虑通过在制图分区环境设置中确定一个相关的面要素类来通过分区处理输入数据。 将按顺序处理分区边界定义的数据部分。 生成的要素类无缝,而且在分区边界一致。 有关通过分区运行该工具的详细信息,请参阅解决道路冲突的工作原理

  • 可选的输出位移要素类参数可创建一个面要素类,用来指示所发生的位移量和位移方向。该要素类可用于直观检查、空间查询,也可作为传递位移工具的输入。

参数

标注说明数据类型
输入道路图层

包含可能存在冲突的符号化道路要素的输入要素图层。

Layer
等级字段

该字段包含要素重要性的等级级别,其中 1 表示非常重要,重要性随整数值的增大而递减。 字段值为 0(零)表示将锁定要素以确保其无法移动。 对于所有输入要素类,必须存在等级字段并且指定为相同的值。

String
输出位移要素类
(可选)

包含道路位移的程度和方向的输出面要素,传递位移工具将使用这些要素保留空间关系。

Feature Class

派生输出

标注说明数据类型
输出图层

更新后的输入要素。

Layer

arcpy.cartography.ResolveRoadConflicts(in_layers, hierarchy_field, {out_displacement_features})
名称说明数据类型
in_layers
[in_layers,...]

包含可能存在冲突的符号化道路要素的输入要素图层。

Layer
hierarchy_field

该字段包含要素重要性的等级级别,其中 1 表示非常重要,重要性随整数值的增大而递减。 字段值为 0(零)表示将锁定要素以确保其无法移动。 对于所有输入要素类,必须存在等级字段并且指定为相同的值。

String
out_displacement_features
(可选)

包含道路位移的程度和方向的输出面要素,传递位移工具将使用这些要素保留空间关系。

Feature Class

派生输出

名称说明数据类型
out_layers

更新后的输入要素。

Layer

代码示例

ResolveRoadConflicts 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用 ResolveRoadConflicts 函数。

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.env.referenceScale = "50000"
arcpy.ResolveRoadConflicts_cartography(["C:/data/roads.lyr", "C:/data/streets.lyr", "C:/data/highways.lyr"],
                                        "hierarchy", "C:/data/cartography.gdb/transportation/displace")
ResolveRoadConflicts 示例 2(独立脚本)

此独立脚本显示的是使用 ResolveRoadConflicts 函数的示例。

# Name: ResolveRoadConflicts_standalone_script.py
# Description: Resolves symbology conflicts between roads by separating them apart from each other
# Author: ESRI
 
# Import system modules
import arcpy
from arcpy import env

# Set environment settings
env.workspace = "C:/data"
env.referenceScale = "50000"

# Set local variables
in_layers = "C:/data/roads.lyr;C:/data/streets.lyr;C:/data/highways.lyr"
hierarchy_field = "hierarchy"
out_displacement_features = "C:/data/cartography.gdb/transportation/displace"

# Execute Resolve Road Conflicts
arcpy.ResolveRoadConflicts_cartography(in_layers, level_field, out_displacement_features)

许可信息

  • Basic: 否
  • Standard: 否
  • Advanced: 是

相关主题