ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

缓冲区

在 Advanced 许可等级下可用。

  • 描述
  • 插图
  • 使用方法
  • 语法
  • 代码示例
  • 环境
  • 许可信息

描述

在指定的输入 Coverage 要素周围创建缓冲区面。

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

插图

Buffer illustration

使用方法

  • 使用 POLY 选项时,正负距离均可用于缓冲距离。当缓冲项同时包含正数和负数时,可以在同一 Coverage 中收缩某些面而增大其他面。

  • ROUND、FLAT、FULL、LEFT 和 RIGHT 选项仅适用于线数据。

  • 小的狭长面可以由“缓冲区”工具创建。当把这些面编码为缓冲区内部的非缓冲区域时,可能会产生问题。可使用消除进行移除。

  • 如果缓冲距离为零,则不会对要素进行缓冲处理。如果不想在输入 Coverage 中缓冲某个要素,则可在缓冲项中将其缓冲距离值设置为零,或在缓冲表中将 DIST 值设置为零。

  • 在包含岛屿面的 Coverage 上执行缓冲时,缓冲距离大于零的所有面都会进行缓冲处理。不过,由于岛屿缓冲区全部在其周围的面缓冲区之内,因此,在“缓冲区”融合阶段可以将其融合到周围面中,并且该岛屿缓冲区将不可见。

  • 无论是否具有 NAT,结点在 Coverage 上均可进行缓冲处理。如果没有 NAT,则必须对 AAT 中的结点进行编号(FNODE# 和 TNODE# 必须大于零)。如果结点编号为零,请运行重新编号结点。

  • LEFT 和 RIGHT 选项表示在线的左侧或右侧生成缓冲区。解释是线的左侧还是右侧时必须小心谨慎。一条线段定义两个半平面,将一个矩形缓冲区分成明确的左右两部分。连接线段时,其中一条线段左侧的点可能位于另一条连接线段的右侧。可通过不与线相交概念防止出现这种不明确的情况。

  • 由于 LEFT 和 RIGHT 选项使用的是线的拓扑左侧和右侧,因此,要使用这些选项,必须存在线拓扑。要访问“线”缓冲区样式,请在输入 Coverage 上的构建中使用 LINE 和 NODE。

  • BUFFER 功能适用于欧氏空间并使用二维算法。在任何坐标系下,缓冲区的宽度均相同。并不会反映地球的曲率或形状。为获得最佳结果,应在使感兴趣区域变形达到最小的地图投影中生成缓冲区。

  • 对于线周围的缓冲区,输出 Coverage 与输入 Coverage 的模糊容差可能不同。输出容差可能会重置为缓冲距离的函数。当缓冲距离较大时可能会发生这种情况,反映出路线逐渐接近于一个具有固定直线段数的圆。如果要避免产生这种影响,可以分多步来增长缓冲区。首先,使用短缓冲距离通过 LINE 选项运行“缓冲区”,然后在此基础上使用 POLY 选项运行多个缓冲区,直到获得所需缓冲距离为止。模糊容差仅更改线周围的缓冲区,并不更改面周围的缓冲区。

  • 输出 Coverage 的坐标精度由派生 Coverage 的精度环境设置所设置的当前处理规则确定。如果在当前会话期间未建立处理规则,则该处理规则的优先级将最高。这意味着“缓冲区”将以输入 Coverage 的精度来创建输出 Coverage。

  • 在单精度和双精度两个 Coverage 上,“缓冲区”将基于 Coverage 数学精度(基于 BND 的宽度以及小数位数)来计算最小容差。如果计算出的最小容差大于所输入的模糊容差,则使用该最小容差。

    了解有关如何计算默认模糊容差的详细信息

  • 投影文件 (PRJ) 会被复制到输出 Coverage。

语法

arcpy.arc.Buffer(in_cover, out_cover, {feature_type}, {buffer_item}, {buffer_table}, {buffer_distance}, {fuzzy_tolerance}, {buffer_shape}, {buffer_side})
参数说明数据类型
in_cover

包含要进行缓冲处理的要素的 Coverage。

Coverage
out_cover

要创建的面缓冲区 Coverage。

Coverage
feature_type
(可选)

要进行缓冲处理的要素类:

  • LINE —将对弧线进行缓冲处理。这是默认设置。
  • POLY —将对面进行缓冲处理。
  • POINT —将对点进行缓冲处理。
  • NODE —将对结点进行缓冲处理。
String
buffer_item
(可选)

输入 Coverage 的要素属性表中的某个项,其值用作要素的缓冲距离。如果使用了缓冲表,则缓冲项将在缓冲表中作为查找表项使用。

String
buffer_table
(可选)

INFO 查找表,列出了针对每个缓冲项的缓冲距离。指定缓冲表的前提是指定了缓冲项。缓冲表至少包含两项:

  • 缓冲项 - 与输入 Coverage 要素属性表中的缓冲项定义相同。缓冲表必须按此项升序排序。
  • DIST - 针对每个缓冲项值的缓冲距离。DIST 必须定义为数值项(即 N、I、F 或 B)。查找表会将项值分类。
INFO Table
buffer_distance
(可选)

此距离用于在没有指定缓冲项和缓冲表时,在输入 Coverage 要素周围创建缓冲区。默认的缓冲距离为 0.125 Coverage 单位。如果没有为此参数指定值,将使用该默认缓冲距离。

能够计算的最小缓冲距离是 0.00000005 Coverage 单位。如果指定的缓冲距离小于此阈值,将得到空的输出 Coverage。对于面要素,如果使用的缓冲距离为负值,缓冲区将在面的内部生成。

Double
fuzzy_tolerance
(可选)

在 out_cover 中坐标之间的最小距离。默认情况下,使用 in_cover 中的最小模糊容差值。

Double
buffer_shape
(可选)

对于线,表示在线端点处的缓冲区形状。

  • ROUND —以半圆形结束。
  • FLAT —通过将矩形的短边中点与线的端点重合来结束构造矩形线。
String
buffer_side
(可选)

对于线,表示在拓扑两侧中的哪一侧生成缓冲区。

  • FULL —在线的两侧。这是默认设置。
  • LEFT —在线的拓扑左侧生成半缓冲区。
  • RIGHT —在线的拓扑右侧生成半缓冲区。
String

代码示例

缓冲区 (Buffer) 示例(独立脚本)

以下独立脚本演示如何在道路 Coverage 周围创建缓冲区。

# Name: Buffer_Example.py
# Description: Creates a buffer around a road coverage.
# Requirements: ArcInfo Workstation

# Import system modules
import arcpy
from arcpy import env

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

# Set local variables
inCover = "road"
outCover = "C:/output/roadbuf"
featureType = "LINE"
bufferDistance = 200
bufferShape = "ROUND"
bufferSide = "FULL"

# Execute Buffer
arcpy.Buffer_arc(inCover, outCover, featureType, "", "", bufferDistance, "",
                 bufferShape, bufferSide)

环境

  • 当前工作空间
  • 投影文件之间的比较级别
  • 派生 Coverage 的精度
  • 新建 Coverage 的精度
  • 临时工作空间

许可信息

  • Basic: 否
  • Standard: 否
  • Advanced: 需要 已安装 ArcInfo Workstation

相关主题

  • 邻域分析工具集概述
  • 邻近分析工具集概览
  • 融合
  • 消除

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • Esri 博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2021 Esri. | 隐私政策 | 法律声明