多环缓冲区 (分析)

描述

在输入要素周围的指定距离内创建多个缓冲区。使用缓冲距离值可随意合并和融合这些缓冲区,以便创建非重叠缓冲区。

插图

多环缓冲区图示

使用方法

  • 如果输入要素位于投影坐标系中,则将在输出中生成平面缓冲区。请确保输入要素具有适合距离分析的坐标系,例如等距投影。

    如果输入要素具有地理坐标系,则将在输出中生成测地线缓冲区,因为非投影要素的平面缓冲区将非常不准确。

    了解有关测地线和平面(或欧式)缓冲区的详细信息

  • 如果指定融合所有选项,则针对距离参数中指定的每个距离,输出要素类将包含一个要素;距“输入要素”相同距离的所有缓冲区都将被一起融合。

语法

arcpy.analysis.MultipleRingBuffer(Input_Features, Output_Feature_class, Distances, {Buffer_Unit}, {Field_Name}, {Dissolve_Option}, {Outside_Polygons_Only})
参数说明数据类型
Input_Features

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

Feature Layer
Output_Feature_class

含有多个缓冲区的输出要素类。

Feature Class
Distances
[distance,...]

缓冲距离列表。

Double
Buffer_Unit
(可选)

与距离值一起使用的线性单位。

如果未指定单位,或者选择了默认,则将使用输入要素空间参考的线性单位。如果使用了默认且已设置了输出坐标系地理处理环境,则将使用环境的线性单位。如果输入要素的空间参考未知或未定义,则线性单位将被忽略。

  • Default默认
  • Inches英寸
  • Feet英尺
  • Yards
  • Miles英里
  • NauticalMiles海里
  • Millimeters毫米
  • Centimeters厘米
  • Decimeters分米
  • Meters
  • Kilometers千米
  • DecimalDegrees十进制度
  • Points
String
Field_Name
(可选)

输出要素类中的字段名称,其中存储用于创建每个缓冲区要素的缓冲距离。如果未指定名称,则默认字段名称为“distance”。此字段类型为“双精度”。

String
Dissolve_Option
(可选)

确定是否要像围绕输入要素的环一样融合缓冲区。

  • ALL缓冲区将是输入要素周围不重叠的圆环(将其视为输入要素周围的圆环)。最小缓冲区将覆盖其输入要素加上缓冲距离的区域,后续缓冲区将是围绕最小缓冲区的圆环,该最小缓冲区不覆盖输入要素或较小缓冲区的区域。相同距离的所有缓冲区都将融合到单个要素中。这是默认设置。
  • NONE不论是否重叠,都会保存所有缓冲区域。每个缓冲区均会覆盖其输入要素加上任何较小缓冲区的区域。
String
Outside_Polygons_Only
(可选)

仅对面输入要素有效。

  • FULL缓冲区会叠加或覆盖输入要素。这是默认设置。
  • OUTSIDE_ONLY缓冲区将是围绕输入要素的环,并且不会叠加或覆盖输入要素(输入面内部的区域将从缓冲区中擦除)。
Boolean

代码示例

MultipleRingBuffer 示例(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用 MultipleRingBuffer 工具。

import arcpy
arcpy.env.workspace = "C:/data/airport.gdb"
arcpy.MultipleRingBuffer_analysis("schools", "c:/output/output.gdb/multibuffer1", [10, 20, 30],
                                  "meters", "", "ALL")
MultipleRingBuffer 示例 2(独立脚本)

以下独立脚本演示了如何使用 MultipleRingBuffer 工具。

# Name: MultipleRingBuffer_Example2.py
# Description: Create multiple buffers for the input features
 
# Import system modules
import arcpy
 
# Set environment settings
arcpy.env.workspace = "C:/data/airport.gdb"
 
# Set local variables
inFeatures = "schools"
outFeatureClass = "c:/output/output.gdb/multibuffer1"
distances = [10, 20, 30]
bufferUnit = "meters"
 
# Execute MultipleRingBuffer
arcpy.MultipleRingBuffer_analysis(inFeatures, outFeatureClass, distances, bufferUnit, "", "ALL")

许可信息

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

相关主题