Попарный буфер (Анализ)

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

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

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

Иллюстрация

Принцип работы инструмента Попарный буфер

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

  • Все входные данные должны иметь пространственный индекс. Используйте инструмент Добавить пространственный индекс, чтобы его построить (особенно это касается шейп-файлов) или перестроить уже существующий, если есть предположение, что он может быть некорректен.

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

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

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

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

    Примечание:

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

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

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

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

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

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

    Внимание:

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

  • Вы можете использовать атрибутивное поле из входных данных для указания буферных расстояний. Допустимы как числовые, так и текстовые форматы полей. В текстовом поле буферное расстояния может быть задано числом, например 5, а может быть с корректными линейными единицами измерения, например, 5 километров.

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

    Если использовать значение без линейных единиц с входными данными в СКП, буферное расстояние будет в единицах измерения пространственной привязки входных данных. Если параметр Метод задан как Геодезический, буферное расстояние всегда будет в метрах.

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

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

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

  • Инструмент учитывает параметр среды Коэффициент параллельной обработки. Если параметр среды не задан (по умолчанию), или задано значение, равное 100, будет включена полная параллельная обработка, и инструмент будет пытаться задействовать все логические ядра процессора компьютера. Если этот параметр среды установлен на 0, параллельная обработка не будет активирована. Если для коэффициента указано значение от 1 до 99, то инструмент определит процент логических ядер для использования по формуле (Коэффициент параллельной обработки / 100 * Логические ядра), округлив результат до ближайшего целого значения. Если результат равен 0 или 1, параллельная обработка не будет включена.

Параметры

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

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

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

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

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

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

См. раздел Использование для подробной информации о том, как инструмент обрабатывает линейные единицы.

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

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

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

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

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

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

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

Максимальное расстояние, на которое итоговая граница буфера может отклоняться от истинной границы буфера.

Тогда как истинная граница буфера является кривой, выходная граница будет уплотнена (будет полилинией). Используйте этот параметр для управления тем, как выходная граница полигона будет соответствовать истинной границе буфера.

Если этот параметр не задан или задан равным нулю, инструмент будет использовать максимальное отклонение. Рекомендуется использовать значение по умолчанию. Может произойти существенная потеря производительности работы инструмента и последующего анализа, если вы будете использовать слишком маленькое максимальное отклонение сдвига.

Linear Unit

arcpy.analysis.PairwiseBuffer(in_features, out_feature_class, buffer_distance_or_field, {dissolve_option}, {dissolve_field}, {method}, {max_deviation})
ИмяОписаниеТип данных
in_features

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

Feature Layer
out_feature_class

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

Feature Class
buffer_distance_or_field

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

См. раздел Использование для подробной информации о том, как инструмент обрабатывает линейные единицы.

При определении расстояния в скриптах, если желаемая линейная единица обозначается двумя словами, например Decimal Degrees, объедините два слова в одно (например, 20 DecimalDegrees).

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

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

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

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

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

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

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

Максимальное расстояние, на которое итоговая граница буфера может отклоняться от истинной границы буфера.

Тогда как истинная граница буфера является кривой, выходная граница будет уплотнена (будет полилинией). Используйте этот параметр для управления тем, как выходная граница полигона будет соответствовать истинной границе буфера.

Если этот параметр не задан или задан равным нулю, инструмент будет использовать максимальное отклонение. Рекомендуется использовать значение по умолчанию. Может произойти существенная потеря производительности работы инструмента и последующего анализа, если вы будете использовать слишком маленькое максимальное отклонение сдвига.

Linear Unit

Пример кода

PairwiseBuffer, пример 1 (окно Python)

Скрипт окна Python, демонстрирующий использование функции PairwiseBuffer.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.analysis.PairwiseBuffer("roads", "C:/output/majorrdsBuffered", "100 Feet", 
                              "LIST", "Distance")
PairwiseBuffer, пример 2 (автономный скрипт)

Поиск областей с соответствующим типом растительности с исключением областей, расположенных вблизи от основных магистралей.

# Name: PairwiseBuffer.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.analysis.Select(veg, suitableVeg, whereClause)

# Buffer areas of impact around major roads
roads = "majorrds"
roadsBuffer = "C:/output/Output.gdb/buffer_output"
distanceField = "Distance"
dissolveType = "LIST"
dissolveField = "Distance"
arcpy.analysis.PairwiseBuffer(roads, roadsBuffer, distanceField, 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.analysis.Erase(suitableVeg, roadsBuffer, eraseOutput, xyTol)

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

  • Basic: Да
  • Standard: Да
  • Advanced: Да

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