Буфер (Анализ)

Краткая информация

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

Для операций построения буферов доступны и другие инструменты. Изучения подробностей см. документацию к инструментам Попарный буфер и Графический буфер.

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

Иллюстрация

Буфер

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

  • Как описано в статье Как работает инструмент Буфер, важным параметром инструмента Буфер является Метод, который определяет, каким именно образом будут построены буферные зоны. Два основных метода создания буферных зон, Евклидов и геодезический, описаны ниже:

    • Евклидов буфер измеряет расстояния на двухмерной координатной плоскости, где расстояние между двумя точками на плоскости измеряется по прямой, то есть как евклидово расстояние. Евклидовы буферы являются более распространенным типом буферов и подходят, когда вы анализируете расстояния вокруг объектов в системе координат проекции, которые сосредоточены в относительно небольшой области (например, в одной зоне UTM).
    • Геодезические буферы строятся с учетом реальной формы поверхности Земли (эллипсоида, а точнее – геоида). Расстояния измеряются между двумя точками на сферической поверхности (геоида), что отличается от измерения того же расстояния на плоскости. Создание геодезических буферов предпочтительно в следующих случаях:
      • Входные объекты располагаются далеко друг от друга (в разных зонах UTM, разных регионах мира и т.п.)
      • Пространственная привязка (проекция карты) входных объектов сильно искажает реальные расстояния, но сохраняет другие свойства, например, площадь.
      Геодезические буферы могут выглядеть странно на плоской карте. Однако при отображении на глобусе эти буферы будут выглядеть правильно (вы также можете использовать 3D сцену или ArcGIS Earth для просмотра географических данных на трехмерном глобусе). Для получения более подробной информации см. Как работает инструмент Буфер.

    Параметр Метод определяет, какой тип буферных зон будет построен.

    • Плоскостные строятся по умолчанию. Эта опция автоматически определяет подходящий метод в зависимости от системы координат входных объектов.
      • Если входные объекты имеют систему координат проекции, будут построены Эвклидовы буферы.
      • Если входные данные буфера заданы в географической системе координат (не в проекции) и вы указали значение Буферное расстояние в линейных единицах (метрах, футах и т.д., в противоположность угловым единицам, таким как градусы), будет использоваться алгоритм геодезического буфера.
      • При выборе этой опции будет получен тот же результат, который получился бы при работе инструмента Буфер в версиях ArcGIS ранее, чем 10.3.
    • Геодезические – создаются сохраняющие форму геодезические буферные зоны, независимо от системы координат входных данных. Такой тип буфера уплотняет входные объекты перед созданием выходных геодезических буферов, чтобы построенные буферы максимально соответствовали форме входных данных. Если вы переживаете по поводу формы буферных зон и их соответствия форме входных объектов, рекомендуется включить эту опцию, особенно если входные данные в географической системе координат. В некоторых случаях на построение геодезических буферов тратится больше времени, чем с опцией Плоскостные, однако результат точнее соответствует форме входного объекта.

    Примечание:

    Систему координат класса объектов можно изменить при помощи инструмента Проецировать, или можно установить параметр среды геообработки Выходная система координат до использования инструмента Буфер, и эта система координат будет использоваться при создании буферных зон.

    При использовании метода Планарный можно повысить точность построения буферных зон, созданных по спроецированным входным данным, используя проекцию которая сводит к минимуму искажение расстояний, например, Равнопромежуточную коническую или Азимутальную равнопромежуточную , и которая, с географической точки зрения, подходит вашим входным данным.

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

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

    Если поле BUFF_DIST уже существует во входных объектах, его значения будут перезаписаны. Если используется Тип слияния Все или Список, выходной класс объектов не будет содержать это поле.

  • Выходной класс объектов будет содержать поле ORIG_FID, содержащее ID входного объекта, для которого был создан буфер. Если поле ORIG_FID уже существует во входных объектах, его значения будут перезаписаны. Если используется Тип слияния Все или Список, выходной класс объектов не будет содержать это поле.

  • При создании буферных полигонов вокруг полигональных объектов, могут использоваться отрицательные буферные расстояния для создания буферов внутри полигональных объектов. При использовании отрицательного буферного расстояния границы полигона уменьшатся на заданное расстояние.

    Внимание:

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

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

    Использование поля буфера для ввода буферного расстояния
  • Кнопка Добавить поле параметра Поля слияния используется только в ModelBuilder. В ModelBuilder, когда предыдущий инструмент не был запущен или не существует его производных данных, параметр Поля слияния может не быть заполнен именами полей. Кнопка Добавить поле позволяет добавить нужные поля в список Полей слияния для ввода данных в диалоговом окне инструмента Буфер .

  • Операции Буфер не поддерживают перенос z-значений из входных в выходные объекты буферов.

  • Операции Буфер не поддерживают m-значений из входных в выходные объекты буферов.

  • Инструмент учитывает параметр среды Коэффициент параллельной обработки. Если параметр среды не задан (используется значение по умолчанию) или указан как 0, параллельная обработка будет отключена. Установка параметра среды на 100 активирует параллельную обработку. Если параллельная обработка включена, используется до 10 ядер.

    Параметр среды Коэффициент параллельной обработки поддерживается, только если буферы строятся вокруг линейных или полигональных объектов.

  • Лицензия:

    Опции Слева, Справа и Только снаружи параметра Тип стороны и опция Плоский параметра Тип окончания доступны только при наличии лицензии Desktop Advanced.

Параметры

ПодписьОписаниеТип данных
Входные объекты

Входные точечные, линейные или полигональные объекты, вокруг которых будет строится буфер.

Feature Layer
Выходной класс объектов

Класс пространственных объектов, содержащий выходные буферы.

Feature Class
Расстояние [значение или поле]

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

Если линейные единицы не заданы или введены как Неизвестные, используются линейные единицы пространственной привязки входных объектов.

Linear Unit; Field
Тип стороны
(Дополнительный)

Указывает стороны входных объектов, для которых будут построены буферные зоны.

  • Полностью — Для линейных входных объектов буферы будут создаваться по обе стороны от линии. Для полигональных входных объектов буферные полигоны будут создаваться вокруг полигона, будут содержать в себе и перекрывать области входных объектов. Для точечных входных объектов буферные полигоны будут создаваться вокруг точек. Это значение по умолчанию
  • Слева — Для линейных входных объектов буферы будут создаваться на топологически левой стороне линии. Эта опция не используется для полигональных входных объектов.
  • Справа — Для линейных входных объектов буферы будут создаваться на топологически правой стороне линии. Эта опция не используется для полигональных входных объектов.
  • Исключить входной полигон из буфера — Для полигональных входных объектов буферы будут создаваться только вне входного полигона (область внутри входного полигона будет стерта из выходного буфера). Эта опция не используется для линейных входных объектов.
String
Тип окончания
(Дополнительный)

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

  • Закругленные — Концы буферного полигона будут закругленными, в форме полукруга. Это значение по умолчанию
  • Одномерный — Концы буферного полигона будут плоскими, или квадратными, и закончатся в конечной точке входного линейного объекта.
String
Тип слияния
(Дополнительный)

Определяет тип слияния, который будет выполнен для удаления перекрытия буферов.

  • Нет слияния — Для каждого пространственного объекта независимо от наложения будет сохраняться отдельный буфер. Это значение по умолчанию
  • Слияние всех выходных объектов в один пространственный объект — Все буферные полигоны будут сливаться в один объект с удалением всех перекрывающихся областей.
  • Слияние объектов на основе перечисленных уникальных значений в поле (полях) или комбинаций значений — Буферные полигоны, имеющие общие атрибутивные значения в перечисленных полях (переносятся из входных объектов), будут объединены в один объект.
String
Поля слияния
(Дополнительный)

Список полей из входных объектов, по которым будет выполнено слияние итоговых буферов. Буферные полигоны, имеющие общие атрибутивные значения в перечисленных полях (переносятся из входных объектов), будут объединены в один объект.

Кнопка Добавить поле, используемая только в ModelBuilder, позволяет добавить нужные поля в список Полей слияния.

Field
Метод
(Дополнительный)

Определяет метод для построения буферных зон: плоскостные или геодезические.

  • Планарный — Если входные объекты хранятся в системе координат проекции, то будут строиться только Евклидовы буферные зоны. Если входные данные буфера заданы в географической системе координат (не в проекции), а Буферное расстояние – в линейных единицах (метрах, футах и т.д., а не в угловых единицах, таких как градусы), будут построены геодезические буферы. Это значение по умолчанию Координаты задаются в тех же единицах измерения карты, что установлены в настройках среды Выходной системы координат. Например, если исходный класс объектов находится в системе координат проекции, вы можете установить в качестве параметра среды географическую систему координат, чтобы были построены именно геодезические буферы.
  • Геодезический (сохранение формы) — Все буферные зоны будут строиться геодезическим методом с учетом сохранения формы объекта на реальной поверхности Земли независимо от системы координат входных объектов.
String

arcpy.analysis.Buffer(in_features, out_feature_class, buffer_distance_or_field, {line_side}, {line_end_type}, {dissolve_option}, {dissolve_field}, {method})
ИмяОписаниеТип данных
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Для полигональных входных объектов буферы будут создаваться только вне входного полигона (область внутри входного полигона будет стерта из выходного буфера). Эта опция не используется для линейных входных объектов.
Лицензия:

Этот дополнительный параметр не доступен с лицензией Desktop Basic или Desktop Standard.

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

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

  • ROUNDКонцы буферного полигона будут закругленными, в форме полукруга. Это значение по умолчанию
  • FLATКонцы буферного полигона будут плоскими, или квадратными, и закончатся в конечной точке входного линейного объекта.
Лицензия:

Этот дополнительный параметр не доступен с лицензией Desktop Basic или Desktop Standard.

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

Определяет тип слияния, который будет выполнен для удаления перекрытия буферов.

  • NONEДля каждого пространственного объекта независимо от наложения будет сохраняться отдельный буфер. Это значение по умолчанию
  • ALLВсе буферные полигоны будут сливаться в один объект с удалением всех перекрывающихся областей.
  • LISTБуферные полигоны, имеющие общие атрибутивные значения в перечисленных полях (переносятся из входных объектов), будут объединены в один объект.
String
dissolve_field
[dissolve_field,...]
(Дополнительный)

Список полей из входных объектов, по которым будет выполнено слияние итоговых буферов. Буферные полигоны, имеющие общие атрибутивные значения в перечисленных полях (переносятся из входных объектов), будут объединены в один объект.

Field
method
(Дополнительный)

Определяет метод для построения буферных зон: плоскостные или геодезические.

  • PLANARЕсли входные объекты хранятся в системе координат проекции, то будут строиться только Евклидовы буферные зоны. Если входные данные буфера заданы в географической системе координат (не в проекции), а Буферное расстояние – в линейных единицах (метрах, футах и т.д., а не в угловых единицах, таких как градусы), будут построены геодезические буферы. Это значение по умолчаниюКоординаты задаются в тех же единицах измерения карты, что установлены в настройках среды Выходной системы координат. Например, если исходный класс объектов находится в системе координат проекции, вы можете установить в качестве параметра среды географическую систему координат, чтобы были построены именно геодезические буферы.
  • GEODESICВсе буферные зоны будут строиться геодезическим методом с учетом сохранения формы объекта на реальной поверхности Земли независимо от системы координат входных объектов.
String

Пример кода

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 that exclude areas heavily 
# impacted by major roads
# Import system modules 
import arcpy
# Set environment settings
arcpy.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)

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

  • Basic: Ограниченные
  • Standard: Ограниченные
  • Advanced: Да

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