ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

Буфер (Buffer)

Доступно с лицензией Advanced.

  • Сводка
  • Иллюстрация
  • Использование
  • Синтаксис
  • Пример кода
  • Параметры среды
  • Информация о лицензиях

Сводка

Создает буферные полигоны вокруг заданных объектов входного покрытия.

Более подробно о том, как работает инструмент Буфер (Buffer)

Иллюстрация

Принцип работы Буфер (Buffer)

Использование

  • Опция POLY позволяет использовать для буферного расстояния положительные и отрицательные расстояния. Когда элемент буфера содержит положительные и отрицательные числа, можно в одном и том же покрытии уменьшить одни полигоны и увеличить другие.

  • Опции ROUND, FLAT, FULL, LEFT и RIGHT применимы только к линейным данным.

  • Инструмент Буфер (Buffer) может создавать небольшие полигоны-клинья. Они могут вызвать проблемы, если закодированы как не буферные области внутри буферных зон. Удалите их с помощью инструмента Удаление (Eliminate).

  • Пространственные объекты не будут буферизованы, если их буферное расстояние равно нулю. Если буферизовать объект во входном покрытии не нужно, задайте его буферному расстоянию значение 0 в поле буфера или DIST в таблице буфера.

  • При создании буфера для покрытия, содержащего изолированные полигоны, все полигоны с буферным расстоянием больше 0 буферизуются. Однако, поскольку изолированный буфер находится полностью внутри окружающего его полигонального буфера, он сливается с окружающим полигоном в ходе слияния, производимого инструментом Буфер (Buffer), поэтому изолированные полигоны перестанут быть видимыми.

  • Узлы покрытий могут быть буферизованы как с NAT, так и без него. Если NAT отсутствует, узлы в AAT должны быть пронумерованы (FNODE# и TNODE# должны быть больше нуля). Если номера узлов равны нулю, нужно запустить Перенумеровать узлы (Renumber Nodes).

  • Опции СЛЕВА (LEFT) и СПРАВА (RIGHT) создают буферы в левой или правой части линии. Следует проявлять осторожность при интерпретации левой или правой части линии. Единый линейный сегмент определяет две полуплоскости, разрезая прямоугольный буфер на левую и правую части, которые легко различить. При соединении линейных сегментов, точки на левой стороне одного сегмента могут оказаться на правой стороне другого соединяемого сегмента. Этой неоднозначности можно избежать, если не пересекать линию.

  • Опции СЛЕВА (LEFT) и СПРАВА (RIGHT) используют топологические левую и правую сторону линии, поэтому для использования этих опций необходимо иметь топологию линии. Чтобы получить доступ к стилям буфера линии, следует использовать Построить (Build) для входного покрытия с опциями ЛИНИЯ (LINE) и УЗЕЛ (NODE).

  • Функция БУФЕР (BUFFER) работает в евклидовом пространстве и использует двухмерных алгоритм. Буфер будет иметь одинаковую ширину, вне зависимости от системы координат. Он не будет отражать кривизну земной поверхности. Для достижения лучших результатов следует создавать буфер в проекции карты, это позволит минимизировать искажение области интереса.

  • В случае с буферами вокруг линий нечеткий допуск для выходного покрытия может отличаться от нечеткого допуска для входного покрытия. Выходной допуск может быть сброшен как функция буферного расстояния. Это может случиться с большими буферными расстояниями и отражает все более ускоряющуюся аппроксимацию окружности с постоянным количеством сегментов прямой линии. Если избегать этого эффекта, спустя несколько этапов буфер увеличится. Во-первых, запустите Буфер (Buffer) с опцией ЛИНИЯ (LINE), используя небольшое буферное расстояние, затем запустите несколько буферов с опцией POLY, пока не получите желаемого буферного расстояния. Нечеткий допуск изменяется только для буферов вокруг линий, для буферов вокруг полигонов он остается неизменным.

  • Точность координат выходного покрытия определяется текущим правилом обработки, заданным в установках Точности для вычисляемых покрытий (Precision for Derived Coverages). Если в ходе текущего сеанса правило обработки не установлено, тогда оно будет иметь значение НАИВЫСШЕЕ (HIGHEST). Это значит, что Буфер (Buffer) создаст выходное покрытие с той же точностью, что и входное.

  • Для покрытий как одинарной (single-precision), так и двойной точности (double-precision), Буфер (Buffer) рассчитывает минимальный допуск на основе математической точности покрытия (которая основывается на ширине BND и количестве десятичных знаков). Если рассчитанный минимальный допуск больше установленного нечеткого допуска, используется минимальный допуск.

    Дополнительные сведения о вычислении нечеткого допуска по умолчанию (Learn more about how the default fuzzy tolerance is calculated)

  • Файл проекции (PRJ) будет скопирован в выходное покрытие.

Синтаксис

arcpy.arc.Buffer(in_cover, out_cover, {feature_type}, {buffer_item}, {buffer_table}, {buffer_distance}, {fuzzy_tolerance}, {buffer_shape}, {buffer_side})
ПараметрОбъяснениеТип данных
in_cover

Покрытие, содержащее буферизуемые объекты.

Coverage
out_cover

Создаваемое покрытие полигонального буфера.

Coverage
feature_type
(Дополнительный)

Буферизуемый класс пространственных объектов:

  • LINE —Будут буферизованы дуги. Это значение используется по умолчанию.
  • POLY —Будут буферизованы полигоны.
  • POINT —Будут буферизованы точки.
  • NODE —Будут буферизованы узлы.
String
buffer_item
(Дополнительный)

Элемент таблицы атрибутов объектов входного покрытия, чье значение используется в качестве буферного расстояния объекта. Если используется таблица буфера, поле буфера функционирует как элемент поиска в таблице буфера.

String
buffer_table
(Дополнительный)

Таблица справочной перекодировки INFO, которая приводит буферное расстояние для каждого поля буфера. Таблица буфера может быть указана, только если указано поле буфера. Таблица буфера содержит, по крайней мере, два поля:

  • Поле буфера (Buffer Item) — определенное также, как и поле буфера в таблице атрибутов объектов входного покрытия. Таблица буфера должна быть распределена в этом поле по возрастанию.
  • DIST — буферное расстояние для каждого значения поля буфера. DIST должен быть задан как числовой элемент (т. е. N, I, F или B). Таблица справочной перекодировки распределит значения полей по категориям.
INFO Table
buffer_distance
(Дополнительный)

Расстояние, использующееся для создания буферных зон вокруг объектов входного покрытия, когда поле и таблица буфера не указаны. По умолчанию, буферное расстояние составляет 0,125 единиц покрытия. Это буферное расстояние по умолчанию будет применяться всегда, когда не задано значение для этого параметра.

Минимальное буферное расстояние, которое может быть вычислено, составляет 0,00000005 единиц покрытия. Если указать буферное расстояние меньше этого порога, выходное покрытие получится пустым. В случае с полигональными объектами, если используется отрицательное буферное расстояние, буферы будут созданы на внутренней стороне полигонов.

Double
fuzzy_tolerance
(Дополнительный)

Минимальное расстояние между координатами в выходном покрытии. По умолчанию используется минимальное значение нечеткого допуска из in_cover.

Double
buffer_shape
(Дополнительный)

В случае с линиями форма буфера в конечных точках линии.

  • ROUND —Создаст конец в форме полукруга.
  • FLAT —Построит прямоугольные линейные окончания с центром короткой стороны прямоугольника, совпадающей с конечной точкой линии.
String
buffer_side
(Дополнительный)

Для линий топологическая сторона, на которой может быть создан буфер.

  • FULL —На всех сторонах. Это значение используется по умолчанию.
  • LEFT —Половина буфера на левой топологической стороне линии.
  • RIGHT —Половина буфера на правой топологической стороне линии.
String

Пример кода

Буфер. Пример (автономный скрипт)

В следующем автономном скрипте показано, как создать буфер вокруг покрытия дороги.

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

Параметры среды

  • Текущая рабочая область
  • Степень сравнения между файлами проекций
  • Точность при расчете покрытия
  • Точность для новых покрытий
  • Временная рабочая область

Информация о лицензиях

  • Basic: Нет
  • Standard: Нет
  • Advanced: Требуется установленная ArcInfo Workstation

Связанные разделы

  • Обзор группы инструментов Близость (Proximity)
  • Обзор группы инструментов Близость
  • Слияние по атрибуту (Dissolve)
  • Удаление (Eliminate)

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS

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

Об Esri

  • О нас
  • Карьера
  • Блог Esri
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2021 Esri. | Конфиденциальность | Правовая информация