栅格转折线 (转换)

摘要

将栅格数据集转换为折线要素。

使用情况

  • 输入栅格可以具有任何大于 0 的有效像元大小,并且可以是任何有效的整型栅格数据集。

  • 字段参数允许您选择将成为输出要素类属性的输入栅格数据集属性字段。若未指定字段,则输入栅格的像元值(VALUE 字段)将在输出要素类的属性表中排成一列(并附加头 Grid_code)。

  • 下图说明了输入栅格在转换为折线要素输出时是如何进行矢量化的。 针对“简化”参数的两种设置显示结果。

    具有不同简化选项的输出的图示
    比较具有不同简化选项的输出
  • 如果在环境设置中指定了范围,且输出范围的左下角与输入栅格的任何像元角均不匹配,则在处理过程中将移动输入栅格的像元对齐位置,以与指定范围匹配。此移动操作将使用最近邻方法触发输入栅格的重采样。因此,还将移动输出要素的位置,这样一来,生成的输出要素便不会与原始输入栅格完全叠加。可以避免执行此移动操作,方法为将输入栅格用作环境中的捕捉栅格

参数

标注说明数据类型
输入栅格

输入栅格数据集。

栅格数据必须是整型。

Raster Layer
输出折线要素

包含已转换折线的输出要素类。

Feature Class
背景值
(可选)

可指定用于识别背景像元的值。 栅格数据集可看作是一系列前景像元与背景像元的组合。 线状要素将基于前景单元生成。

  • 背景由 zero 像元、less 像元或 NoData 像元组成。 而所有值大于零的像元均将视为前景值。
  • NoData背景由 NoData 像元组成。 所有具备有效值的单元均属于前景单元。
String
最小悬挂长度
(可选)

将被保留的悬挂折线的最小长度值。 默认值为零。

Double
简化折线
(可选)

在保持线的基本形状不变的前提下,通过移除其中小的凹进和凸起或无关紧要的折弯来简化线。

  • 选中 - 这些折线将简化为简单的形状,因此每个形状拥有最少的线段数。 这是默认设置。
  • 未选中 - 折线不会被简化。
Boolean
字段
(可选)

此字段用于将输入栅格中像元值指定给输出数据集中的折线要素。

栅格字段可为整型或字符串型字段。

Field

arcpy.conversion.RasterToPolyline(in_raster, out_polyline_features, {background_value}, {minimum_dangle_length}, {simplify}, {raster_field})
名称说明数据类型
in_raster

输入栅格数据集。

栅格数据必须是整型。

Raster Layer
out_polyline_features

包含已转换折线的输出要素类。

Feature Class
background_value
(可选)

可指定用于识别背景像元的值。 栅格数据集可看作是一系列前景像元与背景像元的组合。 线状要素将基于前景单元生成。

  • ZERO背景由 zero 像元、less 像元或 NoData 像元组成。 而所有值大于零的像元均将视为前景值。
  • NODATA背景由 NoData 像元组成。 所有具备有效值的单元均属于前景单元。
String
minimum_dangle_length
(可选)

将被保留的悬挂折线的最小长度值。 默认值为零。

Double
simplify
(可选)

在保持线的基本形状不变的前提下,通过移除其中小的凹进和凸起或无关紧要的折弯来简化线。

  • SIMPLIFY这些折线将简化为简单的形状,因此每个形状可以拥有最少的线段数。 这是默认设置。
  • NO_SIMPLIFY折线不会被简化。
Boolean
raster_field
(可选)

此字段用于将输入栅格中像元值指定给输出数据集中的折线要素。

栅格字段可为整型或字符串型字段。

Field

代码示例

RasterToPolyline 示例(Python 窗口)

将栅格数据集转换为折线要素。

import arcpy
arcpy.env.workspace = "c:/data"
arcpy.conversion.RasterToPolyline("flowstr", "c:/output/streams.shp", "ZERO",
                                  50, "SIMPLIFY")
RasterToPolyline 示例(独立脚本)

将栅格数据集转换为折线要素。

# Name: RasterToPolyline_Ex_02.py
# Description: Converts a raster dataset to polyline features.
# Requirements: None

# Import system modules
import arcpy

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

# Set local variables
inRaster = "flowstr"
outLines = "c:/output/flowstream.shp"
backgrVal = "ZERO"
dangleTolerance = 50
field = "VALUE"

# Run RasterToPolygon
arcpy.conversion.RasterToPolyline(inRaster, outLines, backgrVal, 
                                  dangleTolerance, "SIMPLIFY", field)