缓冲区 (Analysis)

许可等级:BasicStandardAdvanced

摘要

在输入要素周围某一指定距离内创建缓冲区多边形。

了解有关“缓冲区”工作原理的详细信息

插图

Buffer illustration

用法

语法

Buffer_analysis (in_features, out_feature_class, buffer_distance_or_field, {line_side}, {line_end_type}, {dissolve_option}, {dissolve_field})
参数说明数据类型
in_features

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

Feature Layer
out_feature_class

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

Feature Class
buffer_distance_or_field

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

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

在脚本中指定距离时,如果所需线性单位含有两个单词,如 Decimal Degrees,请将两个单词合并成一个词(例如,“20 DecimalDegrees”)。

Linear unit ;Field
line_side
(可选)

将在输入要素的哪一侧进行缓冲。

  • FULL对于线输入要素,将在线两侧生成缓冲区。对于面输入要素,将在面周围生成缓冲区,并且这些缓冲区将包含并叠加输入要素的区域。对于点输入要素,将在点周围生成缓冲区。这是默认设置。
  • LEFT对于线输入要素,将在线的拓扑左侧生成缓冲区。此选项对于面输入要素无效。
  • RIGHT对于线输入要素,将在线的拓扑右侧生成缓冲区。此选项对于面输入要素无效。
  • OUTSIDE_ONLY对于面输入要素,仅在输入面的外部生成缓冲区(输入面内部的区域将在输出缓冲区中被擦除)。此选项对于线输入要素无效。
许可许可:

此可选参数不适用于 BasicStandard 许可。

String
line_end_type
(可选)

线输入要素末端的缓冲区形状。此参数对于面输入要素无效。

  • ROUND缓冲区的末端为圆形,即半圆形。这是默认设置。
  • FLAT缓冲区的末端很平整或者为方形,并且在输入线要素的端点处终止。
许可许可:

此可选参数不适用于 BasicStandard 许可。

String
dissolve_option
(可选)

指定要执行哪种融合操作以移除缓冲区重叠。

  • NONE不考虑重叠,均保持每个要素的独立缓冲区。这是默认设置。
  • ALL将所有缓冲区融合为单个要素,从而移除所有重叠。
  • LIST融合共享所列字段(传递自输入要素)属性值的所有缓冲区。
String
dissolve_field
[dissolve_field,...]
(可选)

融合输出缓冲区所依据的输入要素的字段列表。融合共享所列字段(传递自输入要素)属性值的所有缓冲区。

Field

代码实例

缓冲区 (Buffer) 示例(Python 窗口)

以下 Python 窗口脚本演示了如何使用缓冲区 (Buffer) 工具。

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.Buffer_analysis("roads", "C:/output/majorrdsBuffered", "100 Feet", "FULL", "ROUND", "LIST", "Distance")
缓冲区 (Buffer) 示例(独立脚本)

查找尚未受主要道路严重影响的相应植被区域。

# Name: Buffer.py
# Description: Find areas of suitable vegetation which exclude areas heavily impacted by major roads

# import system modules 
import arcpy
from arcpy import env

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

# Select suitable vegetation patches from all vegetation
veg = "vegtype"
suitableVeg = "C:/output/Output.gdb/suitable_vegetation"
whereClause = "HABITAT = 1" 
arcpy.Select_analysis(veg, suitableVeg, whereClause)

# Buffer areas of impact around major roads
roads = "majorrds"
roadsBuffer = "C:/output/Output.gdb/buffer_output"
distanceField = "Distance"
sideType = "FULL"
endType = "ROUND"
dissolveType = "LIST"
dissolveField = "Distance"
arcpy.Buffer_analysis(roads, roadsBuffer, distanceField, sideType, endType, dissolveType, dissolveField)

# Erase areas of impact around major roads from the suitable vegetation patches
eraseOutput = "C:/output/Output.gdb/suitable_vegetation_minus_roads"
xyTol = "1 Meters"
arcpy.Erase_analysis(suitableVeg, roadsBuffer, eraseOutput, xyTol)

环境

相关主题

许可信息

ArcGIS for Desktop Basic: 受限制
ArcGIS for Desktop Standard: 受限制
ArcGIS for Desktop Advanced: 是
5/10/2014