描述
生成单线道路要素来代替匹配的两条分开的道路车道。
如果多对道路或车道属于同一道路类、道路走向大致互相平行并且在允许的合并距离间隔之内,则将对这些道路或车道进行合并。道路类由合并字段参数指定。输入集合中的所有未合并道路将被复制到输出要素类中。
提示:
此工具通常用于以较小比例简化相对较大比例的道路集合,这样便适用于将分车道高速公路和大道描绘为单线。在中等比例下,将分开的道路保留为各自独立的要素可能更为合适。在这种情况下,可转而使用解决道路冲突工具以确保在不存在符号冲突的情况下显示符号化的车道。如果要在同一道路集合中运行解决道路冲突和合并分开的道路这两个工具,建议首先使用合并分开的道路工具。
警告:
如果输入要素未使用投影坐标系,则会发出一条警告消息。该工具基于线性距离单位,如果使用非投影坐标系,则将创建意外的结果。因此,强烈建议您对使用投影坐标系的数据运行此工具,以确保获得有效的结果。如果坐标系缺失或未知,则会生成一条错误消息并且工具将不执行处理操作。
插图
使用方法
输出要素类包含表示已合并道路的单线要素以及所有未合并输入要素的副本。合并后的要素将继承两个输入要素中一个要素的属性。可以创建一个多对多输出关系表,以将合并后的道路要素与其源要素进行链接。如果随后对任意输入或输出要素进行修改,则无法保持关系同步。
合并字段参数值等于零的输入要素将被锁定且不会进行合并,即使相邻要素未被锁定也是如此。
可选的输出位移要素类参数可创建一个面要素类,用来指示所发生的位移量和位移方向。该要素类可用于直观检查、空间查询,也可作为传递位移工具的输入。
如果输入是使用制图表达绘制的要素图层,则此工具会将与制图表达相关联的所有形状覆盖用作输入几何,且 Shape 字段中的相应几何将被忽略。输出要素类将包含要素类制图表达,但所有几何将存储在输出 Shape 字段中,而不是存储为制图表达形状覆盖。
在复杂的或异常的几何中,可以考虑使用对道路特征进行分类的值来填充字段,然后在道路特征字段参数中使用该字段。这些值有助于工具对要进行合并的候选要素对的评估进行优化。
字段值评估如下:
- 0 - 交通环岛或环状交叉路
- 1 - 马路、大道、双车道高速公路或其他平行走向的道路
- 2 - 上坡或下坡,高速公路交叉点连接符
- 999 - 不应合并的要素
即使未选中传输字段域、子类型和属性规则环境,域和子类型也会被复制到输出。
处理大的道路数据集可能会超出内存限制。在这种情况下,考虑通过在制图分区环境设置中确定一个相关的面要素类来通过分区处理输入数据。将按顺序处理分区边界定义的数据部分。生成的要素类无缝,而且在分区边界一致。有关通过分区运行该工具的详细信息,请参阅合并分开的道路工作原理。
语法
arcpy.cartography.MergeDividedRoads(in_features, merge_field, merge_distance, out_features, {out_displacement_features}, {character_field}, {out_table})
参数 | 说明 | 数据类型 |
in_features | 输入线状道路要素,包含多对应合并为单个输出线要素的分开的道路车道。 | Feature Layer |
merge_field | 包含道路分类信息的字段。将只合并平行且接近的相同类型道路。值 0(零)将锁定要素以阻止其参与合并。 | Field |
merge_distance | 要合并的相互平行的同类道路要素的最小距离间隔(使用指定的单位)。此距离必须大于零。如果单位是磅、毫米、厘米或英寸,则值被视为使用页面单位,还会将参考比例考虑在内。 | Linear Unit |
out_features | 输出要素类,包含表示已合并道路要素的单线以及所有未合并的道路要素。 | Feature Class |
out_displacement_features (可选) |
输出面要素包含道路位移的程度和方向。 | Feature Class |
character_field (可选) | 指定一个用于表示路段特征的数字字段,不需要考虑道路的分类。这些值有助于工具对要进行合并的候选要素对的评估进行优化。在异常或复杂的道路网中使用此参数可提高输出质量。如果此参数为空值(或未指定此参数),则道路特征(和合并候选项)将仅基于要素的形状和排列。使用值 999 可以锁定要素以阻止其参与合并。 字段值评估如下:
| Field |
out_table (可选) | 一个将合并后的道路要素与其源要素进行链接的多对多关系表。该表包含两个字段:OUTPUT_FID 和 INPUT_FID,分别用于存储合并后的要素 ID 和其源要素 ID。使用此表根据源要素派生输出要素的必要属性。当该参数留空时,不创建任何表。 | Table |
代码示例
以下 Python 窗口脚本演示了如何在即时模式下使用 MergeDividedRoads 工具。
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.env.referenceScale = 50000
arcpy.MergeDividedRoads_cartography("roads.lyr", "level", "25 meters",
"C:/data/cartography.gdb/transportation/merged_roads",
"C:/data/cartography.gdb/transportation/displacement",
"RoadChar", "C:/data/cartography.gdb/mergetable_tbl")
此独立脚本显示的是使用 MergeDividedRoads 工具的示例。
# Name: MergeDividedRoads_standalone_script.py
# Description: Resolves symbology conflicts between roads within
# a specified distance of each other by snapping them together
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data"
arcpy.env.referenceScale = "50000"
# Set local variables
in_features = "roads.lyrx"
merge_field = "level"
collapse_distance = "25 meters"
out_features = "cartography.gdb/transportation/merged_roads"
out_displacement_features = "cartography.gdb/transportation/displacement"
out_table = "cartography.gdb/outtable_tbl"
# Execute Merge Divided Roads
arcpy.MergeDividedRoads_cartography(in_features, merge_field,
collapse_distance, out_features,
out_displacement_features, out_table)
环境
- 参考比例
仅当以页面单位输入合并距离参数时,才会考虑参考比例。参考比例可用时,伪死角的检测将基于当前比例下 0.5 mm 的要素间距,否则,将使用相当于空间参考容差二倍的值。
许可信息
- Basic: 否
- Standard: 否
- Advanced: 是