图形缓冲区 (分析)

摘要

在输入要素周围某一指定距离内创建缓冲区多边形。 在要素周围生成缓冲区时,多种制图形状对缓冲区末端(端头)和拐角(连接)可用。

备用工具可用于缓冲操作。 有关详细信息,请参阅成对缓冲缓冲区工具文档。

插图

“图形缓冲区”工具图示

使用情况

    注:

    此工具的输出仅适用于制图显示。 不适用于执行进一步分析。 这样使用它会导致结果错误。

  • 输入要素可以是点、线或面。 缓冲区输出末端(端头)和拐角(连接)的选项是否可用取决于输入要素的类型。

    • 端头类型 - 仅点和线
    • 连接类型 - 仅面和线
  • 输出要素类将包含一个 BUFF_DIST 字段,该字段包含用于缓冲各要素的缓冲距离(使用输入要素坐标系的线性单位)。

    如果输入中存在 BUFF_DIST 字段,那么在输出中将覆盖该字段的值。

  • 输出缓冲区要素始终为欧氏。 不支持测地线缓冲区要素。 有关欧氏缓冲区和测地线缓冲区之间的差异的信息,请参阅缓冲区(分析)的工作原理

  • 输出要素类将包含一个 ORIG_FID 字段,该字段包含为其创建缓冲区的输入要素的要素 ID。 如果输入中存在 ORIG_FID 字段,那么在输出中将覆盖该字段的值。

  • 如果对面要素进行缓冲,则可使用负缓冲距离在面要素内部创建缓冲区。 使用负缓冲距离将会使面边界向内缩减指定的距离。

    警告:

    如果负缓冲距离足够大,使得面缩减至不存在,则将生成空几何。 此时将出现一条警告消息,并且不会将任何空几何要素写入输出要素类。

  • 可以使用输入中的字段来设置缓冲距离。 接受数值和文本字段。 在文本字段中,缓冲距离可以为数值(例如 5)或者有效的线性单位,例如 5 千米。

    如果使用不带线性单位的数值,则缓冲区将采用输入空间参考的线性单位。 如果输入位于地理坐标系中,则缓冲区将以米为单位。

    如果无法识别线性单位,则缓冲区将采用输入空间参考的线性单位。 有关有效线性单位的详细信息,请参阅线性单位

    对缓冲距离使用缓冲字段
  • 此工具支持并行处理因子环境。 如果环境未设置(默认情况下)或已设置为 100,则将启用完全并行处理,同时该工具尝试将工作分配给计算机上的所有逻辑内核。 如果环境设置为 0,则将不会启用并行处理。 如果指定的因子介于 1 到 99 之间,则该工具将通过应用公式(并行处理因子 / 100 * 逻辑内核数)确定要使用的逻辑内核的百分比,其结果将向上舍入到最近的整数值。 如果此公式的结果是 0 或 1,则将不启用并行处理。

参数

标注说明数据类型
输入要素

将进行缓冲的输入点、线或面要素。

Feature Layer
输出要素类

包含输出缓冲区的要素类。

Feature Class
距离 [值或字段]

与要缓冲的输入要素之间的距离。 该距离可以用表示线性距离的某个值来指定,也可以用输入要素中的某个字段(包含用来对每个要素进行缓冲的距离)来指定。

如果未指定线性单位或输入了“未知”,则将使用输入要素空间参考的线性单位。

Linear Unit; Field
端头类型
(可选)

指定将要进行缓冲的输入要素的端头(末端)类型。 该参数仅支持点和面要素。

  • 正方形输入段末端周围的输出缓冲区将具有方形端头。 这是默认设置。
  • 平端头输出缓冲区的端头将垂直于输入段末端。
  • 圆形输入段末端的输出缓冲区将具有圆形端头。
String
连接类型
(可选)

指定两条线段连接拐角处的缓冲区的形状。 该参数仅支持线和面要素。

  • 尖头斜接输出缓冲区要素将为拐角周围的方形或尖角形状。 例如,方形输入面要素具有方形缓冲区要素。 这是默认设置。
  • 平头斜接内拐角的输出缓冲区要素将为方形,而垂直于拐角最远点的外拐角将被切掉。
  • 圆形内拐角的输出缓冲区要素为方形,而外拐角则为圆形。
String
尖头斜接限制
(可选)

当线段相交呈锐角并且已指定连接类型参数值为尖头斜接时,可使用该参数来控制缓冲输出的锐角如何逐渐变为点。 某些情况下,当使用尖头斜接选项时,两条线连接形成的外角会非常大。 这可能会导致拐角点的延伸超出预期。

Double
最大偏移偏差
(可选)

输出缓冲区面边界将从实际理想缓冲区边界偏移的最大距离。 实际缓冲区边界为曲线,输出面边界为增密折线。 可以使用此参数来控制面边界与实际缓冲区边界的近似程度。

如果此参数未设置或设置为 0,则工具将确定最大偏差。 建议您使用默认值。 造成工具或后续分析性能下降的原因可能为使用的最大偏移偏差值过小。

Linear Unit

arcpy.analysis.GraphicBuffer(in_features, out_feature_class, buffer_distance_or_field, {line_caps}, {line_joins}, {miter_limit}, {max_deviation})
名称说明数据类型
in_features

将进行缓冲的输入点、线或面要素。

Feature Layer
out_feature_class

包含输出缓冲区的要素类。

Feature Class
buffer_distance_or_field

与要缓冲的输入要素之间的距离。 该距离可以用表示线性距离的某个值来指定,也可以用输入要素中的某个字段(包含用来对每个要素进行缓冲的距离)来指定。

如果未指定线性单位或输入了“未知”,则将使用输入要素空间参考的线性单位。

指定距离时,如果线性单位含有两个单词,如 Decimal Degrees,请将两个单词合并成一个词(例如,20 DecimalDegrees)。

Linear Unit; Field
line_caps
(可选)

指定将要进行缓冲的输入要素的端头(末端)类型。 该参数仅支持点和面要素。

  • SQUARE输入段末端周围的输出缓冲区将具有方形端头。 这是默认设置。
  • BUTT输出缓冲区的端头将垂直于输入段末端。
  • ROUND输入段末端的输出缓冲区将具有圆形端头。
String
line_joins
(可选)

指定两条线段连接拐角处的缓冲区的形状。 该参数仅支持线和面要素。

  • MITER输出缓冲区要素将为拐角周围的方形或尖角形状。 例如,方形输入面要素具有方形缓冲区要素。 这是默认设置。
  • BEVEL内拐角的输出缓冲区要素将为方形,而垂直于拐角最远点的外拐角将被切掉。
  • ROUND内拐角的输出缓冲区要素为方形,而外拐角则为圆形。
String
miter_limit
(可选)

当线段相交呈锐角并且已指定 line_joins 参数值为 MITER 时,可使用该参数来控制缓冲输出的锐角如何逐渐变为点。 某些情况下,当使用 MITER 选项时,两条线连接形成的外角会非常大。 这可能会导致拐角点的延伸超出预期。

Double
max_deviation
(可选)

输出缓冲区面边界将从实际理想缓冲区边界偏移的最大距离。 实际缓冲区边界为曲线,输出面边界为增密折线。 可以使用此参数来控制面边界与实际缓冲区边界的近似程度。

如果此参数未设置或设置为 0,则工具将确定最大偏差。 建议您使用默认值。 造成工具或后续分析性能下降的原因可能为使用的最大偏移偏差值过小。

Linear Unit

代码示例

GraphicBuffer 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何使用 GraphicBuffer 函数。

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.analysis.GraphicBuffer("roads", "C:/output/majorrdsBuffered", "100 Feet", 
                             "SQUARE", "MITER")

许可信息

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

相关主题