标注 | 说明 | 数据类型 |
输入水文面要素 | 包含水文面的一个或多个要素图层。 | Feature Layer |
输出线要素类 | 包含折叠面中心线的线要素类。 它包含所有输入面(包括为折叠的面)的中心线。 该要素类具有 COLLAPSED 属性,用于指定中心线要素是否表示折叠面。 | Feature Class |
合并相邻输入面 (可选) | 指定在计算中心线之前是否合并相邻输入面。
| Boolean |
连接水文线要素 (可选) | 连接到要折叠的输入水文面的输入水文线要素。 将创建线要素以保持这些连接。 | Feature Layer |
折叠宽度 (可选) | 要考虑折叠的输入水文面的阈值宽度。 所有低于指定宽度的面都将被折叠。 默认值为 0,这将折叠所有要素。 | Linear Unit |
折叠宽度容差 (%) (可选) | 将分析其中要素的百分比容差,并且在确定是否折叠要素时将考虑周围环境。 这是为了最大限度地减少折叠内的振荡。 默认值为 20%。 仅当已指定折叠宽度参数值时才应用此参数。 | Double |
最小长度 (可选) | 在输出面要素类中保留面所需的最小长度。 最小长度基于为面创建的中心线的长度。 如果面的中心线长于折叠宽度但短于最小长度,则该面将不会包含在输出面要素类中。 默认值为 0。 仅当已指定折叠宽度参数值时才应用此参数。 | Linear Unit |
锥形长度百分比 (可选) | 输出面要素类和输出线要素类中的面之间的连接长度将锥化。 此参数将锥形长度指定为连接位置处宽度的百分比。 如锥形长度百分比值为 0,则不会锥化。 默认值为 50。仅当已指定折叠宽度参数值时才应用此参数。 | Double |
输出面要素类 (可选) | 此面要素类包含未折叠的输入水文面部分。 仅当已指定折叠宽度参数值时才应用此参数。 | Feature Class |
摘要
根据折叠宽度将水文面折叠或部分折叠到中心线。
插图
使用情况
该工具经过优化,可以折叠要素以使其适合在小比例下表达为线。 可以以不同的折叠宽度多次运行该工具,以创建适用于不同比例的输出。 压缩输入面要素可能会产生非预期中心线,除非它们与输入连接水文线要素相交。
工具性能取决于数据的清洁度。 在输入线和面之间的水文网络中重叠输入面要素或断开连接可能会导致意外结果。
输入面中的孔洞或岛将导致输出中心线围绕孔分支化。 为避免这种情况,请在运行此工具之前使用消除面部件工具从输入多边面中移除孔洞。
处理大型水文数据集可能会超出内存限制。 这种情况下,可以通过在制图分区环境设置中确定一个关联的面要素类从而以分区方式处理输入数据。 将按顺序处理分区边界定义的数据各个部分。
处理完所有分区后,将同时生成线和面要素类输出。 这些要素类无缝显示,并且不会在分区边界分割。
有关详细信息,请参阅使用分区概化大型数据集。
处理大型单个输入面要素可能需要很长时间;在运行此工具之前应避免融合输入面。 如果必须先融合面,请选中合并相邻输入面参数(在 Python 中为 merge_adjacent_input_polygons = "MERGE_ADJACENT")。使用此参数,该工具将合并输入面而不创建大型面,同时保持水文网络中的正确连接。 输出线将在原始输入面边界处分割。
为避免处理时间过长,如果输入面非常大或跨越多个分区,则可能需要使用切分工具将输入面拆分为较小的要素。 使用简化面工具可减少折点数以提高性能。
当折叠宽度值设置为大于 0 的距离时,必须指定输出面要素类。 输出面将包含比折叠宽度宽的面。 如果只有部分面小于折叠宽度值,则面可能会部分折叠。 为所有输入面创建输出线,包括那些大于折叠宽度值的面。 折叠宽度值为 0 将导致所有输入面完全折叠,并且不会创建任何输出面要素类。
输出线要素类将包含一个名为 COLLAPSED 的字段。 此字段将包含值 0,以对应于未折叠的面;以及值 1,以对应于已折叠的面。
当折叠宽度值设置为大于 0 的距离时,将使用折叠宽度容差 (%) 和最小长度参数来避免部分折叠面中的振荡。 当面河流沿其长度方向间断性折叠时,就会发生振荡,并形成一串由单线河流连接的小型面湖泊。 将分析在折叠宽度容差百分比值内的部分折叠面的部分,并在确定是否折叠该部分面要素时考虑周围环境。 如果正在分析的面部分短于最小长度值,则可以忽略折叠宽度以防止振荡。 最小长度基于为面创建的中心线的长度。
部分折叠的面将在与输出线的连接点处锥化,以在折叠的面和未折叠的面之间创建平滑过渡。 每个锥形的长度由锥形长度百分比参数控制,该参数将锥形长度设置为锥化形位置处部分折叠面宽度的百分比。 如锥形长度百分比值为 0,则可避免所有锥化。
输出线要素类将使用用于创建它们的要素 ID 填充属性字段。 根据需要使用这些值将输出要素连接到其相应的输入。
- InPoly_ID - 一个数字,表示包含用于创建输出线要素的面的面要素类的输入顺序。 名为 <out_poly_feature_class>_InPoly_DecodeID 的表将保存在输出位置,以将 InPoly_ID 值链接到输入要素类的名称。 如果在要素数据集中指定了输出位置,则会在地理数据库级别上创建更高级别的表。
- InPoly_FID - 用于创建输出线的输入面要素的 OBJECTID。
- InLine_ID - 一个数字,表示包含连接到输出线要素的要素的输入连接水文线的输入顺序。 名为 <out_line_feature_class>_InLine_DecodeID 的表将保存在输出位置,以将 InLine_ID 值链接到输入要素类的名称。 如果在要素数据集中指定了输出位置,则会在地理数据库级别上创建更高级别的表。
- InLine_FID - 连接到输出线要素的输入连接水文线的 OBJECTID。 如果没有连接水文线要素连接到输出线要素,则该值将设置为 -1。
输出面还将包括 InPoly_ID 和 InPolyFID 属性,并使用用于创建它们的要素类和要素的 ID 对其进行填充。 如果使用多条输入连接线创建单个输出要素,则每个属性中只会记录一个 ID 编号。
线输出要素包括三个字段属性,用于记录有关相应输入面要素的宽度信息。
- MIN_WIDTH - 沿输出线的最小面宽度。
- MAX_WIDTH - 沿输出线的最大面宽度。
- AVG_WIDTH - 沿输出线的平均面宽度。
参数
arcpy.cartography.CollapseHydroPolygon(in_features, out_line_feature_class, {merge_adjacent_input_polygons}, {connecting_features}, {collapse_width}, {collapse_width_tolerance}, {minimum_length}, {taper_length_percentage}, {out_poly_feature_class})
名称 | 说明 | 数据类型 |
in_features [in_features,...] | 包含水文面的一个或多个要素图层。 | Feature Layer |
out_line_feature_class | 包含折叠面中心线的线要素类。 它包含所有输入面(包括为折叠的面)的中心线。 该要素类具有 COLLAPSED 属性,用于指定中心线要素是否表示折叠面。 | Feature Class |
merge_adjacent_input_polygons (可选) | 指定在计算中心线之前是否合并相邻输入面。
| Boolean |
connecting_features [connecting_features,...] (可选) | 连接到要折叠的输入水文面的输入水文线要素。 将创建线要素以保持这些连接。 | Feature Layer |
collapse_width (可选) | 要考虑折叠的输入水文面的阈值宽度。 所有低于指定宽度的面都将被折叠。 默认值为 0,这将折叠所有要素。 | Linear Unit |
collapse_width_tolerance (可选) | 将分析其中要素的百分比容差,并且在确定是否折叠要素时将考虑周围环境。 这是为了最大限度地减少折叠内的振荡。 默认值为 20%。 仅当已指定 collapse_width 参数值时才应用此参数。 | Double |
minimum_length (可选) | 在输出面要素类中保留面所需的最小长度。 最小长度基于为面创建的中心线的长度。 如果面的中心线长于折叠宽度但短于最小长度,则该面将不会包含在输出面要素类中。 默认值为 0。 仅当已指定 collapse_width 参数值时才应用此参数。 | Linear Unit |
taper_length_percentage (可选) | 输出面要素类和输出线要素类中的面之间的连接长度将锥化。 此参数将锥形长度指定为连接位置处宽度的百分比。 如锥形长度百分比值为 0,则不会锥化。 默认值为 50。仅当已指定 collapse_width 参数值时才应用此参数。 | Double |
out_poly_feature_class (可选) | 此面要素类包含未折叠的输入水文面部分。 仅当已指定 collapse_width 参数值时才应用此参数。 | Feature Class |
代码示例
此示例演示了如何使用 CollapseHydroPolygon 函数从面要素创建中心线。
# Name: CollapseHydroPolygon_sample1.py
# Description: Collapse all water polygons to produce centerlines
# Import System Modules
import arcpy
arcpy.env.workspace = r"C:/data/Hydro.gdb"
# Execute Collapse Hydro Polygon
arcpy.CollapseHydroPolygon_cartography('WaterPolygons', 'HydroCenterlinesOut')
此示例演示了如何使用 CollapseHydroPolygon 函数从宽度低于指定折叠宽度的面要素创建中心线。 连接要素用于保持创建的中心线和连接要素之间的连接。
# Name: CollapseHydroPolygon_sample2.py
# Description: Select the rivers and collapse features that are
# below 6 meters wide to produce centerlines.
# Import System Modules
import arcpy
arcpy.env.workspace = r"C:/data/Hydro.gdb"
# Setting Local Variables
in_features = 'WaterPolygons'
out_line_feature_class = 'HydroCenterlinesOut'
merge_adjacent_input_polygons = False # default is True or "MERGE_ADJACENT"
connection_features = 'WaterLines'
collapse_width = "6 Meters" # default is '0 Meters'
collapse_width_tolerance = 20 # default is 20
minimum_length = "10 Meters" # default is '0 Meters'
taper_length_percentage = 50 # default is 50
out_poly_feature_class = 'HydroPolyOut'
# Select only the Rivers
inputLyr = arcpy.MakeFeatureLayer_management(in_features,
"inputLyr",
"FTYPE = 'rivers'")
# Execute Collapse Hydro Polygon
arcpy.cartography.CollapseHydroPolygon(inputLyr,
out_line_feature_class,
merge_adjacent_input_polygons,
connection_features,
collapse_width,
collapse_width_tolerance,
minimum_length,
taper_length_percentage,
out_poly_feature_class)
许可信息
- Basic: 否
- Standard: 否
- Advanced: 是