缓冲区

Title  缓冲区

Summary

此 GeoScene 地理处理工具用于在输入要素周围某一指定距离内创建缓冲区多边形。


Illustration

缓冲区图示缓冲区图示

Usage


Syntax

ParameterExplanation
in_features

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

out_feature_class (Optional)

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

buffer_distance_or_field

与要缓冲的输入要素之间的距离。该距离可以用表示线性距离的某个值来指定,也可以用输入要素中的某个字段(包含用来对每个要素进行缓冲的距离)来指定。如果未指定线性单位或输入了“未知”,则将使用输入要素空间参考的线性单位。

line_side (Optional)

将在输入要素的哪一侧进行缓冲。完整—对于线输入要素,将在线两侧生成缓冲区。对于面输入要素,将在面周围生成缓冲区,并且这些缓冲区将包含并叠加输入要素的区域。对于点输入要素,将在点周围生成缓冲区。这是默认设置。左—对于线输入要素,将在线的拓扑左侧生成缓冲区。此选项对于面输入要素无效。右—对于线输入要素,将在线的拓扑右侧生成缓冲区。此选项对于面输入要素无效。从缓冲区中排除输入面—对于面输入要素,仅在输入面的外部生成缓冲区(输入面内部的区域将在输出缓冲区中被擦除)。此选项对于线输入要素无效。此可选参数不适用于 Desktop Basic 或 Desktop Standard 许可。

line_end_type (Optional)

线输入要素末端的缓冲区形状。此参数对于面输入要素无效。圆形—缓冲区的末端为圆形,即半圆形。这是默认设置。平面—缓冲区的末端很平整或者为方形,并且在输入线要素的端点处终止。此可选参数不适用于 Desktop Basic 或 Desktop Standard 许可。

dissolve_option (Optional)

指定要执行哪种融合操作以移除缓冲区重叠。未融合—不考虑重叠,均保持每个要素的独立缓冲区。这是默认设置。将全部输出要素融合为一个要素—将所有缓冲区融合为单个要素,从而移除所有重叠。使用所列字段唯一值或值的组合来融合要素—融合共享所列字段(传递自输入要素)属性值的所有缓冲区。

dissolve_field (Optional)

融合输出缓冲区所依据的输入要素的字段列表。融合共享所列字段(传递自输入要素)属性值的所有缓冲区。添加字段按钮(仅在 ModelBuilder 中使用)可将所需字段添加到融合字段列表。

method (Optional)

指定用于创建缓冲区的方法是平面方法还是测地线方法。平面—如果输入要素位于投影坐标系中,则将创建欧氏缓冲区。如果输入要素位于地理坐标系中且缓冲距离的单位为线性单位(米、英尺等,而非诸如度之类的角度单位),则会创建测地线缓冲区。这是默认设置。您可以使用输出坐标系环境设置指定要使用的坐标系。例如,如果输入要素位于投影坐标系中,您可以将环境设置为地理坐标系,以便创建测地线缓冲区。测地线(形状保持不变)—无论使用哪种输入坐标系,均使用形状不变的测地线缓冲区方法创建所有缓冲区。

esri_out_feature_service_name (Optional)

The name of the optional feature service to create on the federated server containing the result of this tool. If no name is specified an output feature service will not be created.

Code Samples

Buffer 示例 1(Python 窗口)

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


import arcpy
arcpy.env.workspace = "C:/data"
arcpy.Buffer_analysis("roads", "C:/output/majorrdsBuffered", "100 Feet", "FULL", "ROUND", "LIST", "Distance")
                    

Buffer 示例 2(独立脚本)

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


# 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)

                    

Tags

Credits

Use limitations