Создать буферы (GeoAnalytics Desktop)

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

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

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

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

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

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

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

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

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

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

    Примечание:

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

  • Размер буфера можно ввести, используя следующие три способа:

    • Расстояние – использует постоянное значение (все буферы будут иметь одинаковый размер)
    • Поле – использует значения из поля (различные объекты могут иметь буферы разного размера)
    • Выражение –применяет выражение к каждому объекту (различные объекты могут иметь различные значения на основании выражения)

      Более подробно о применении выражений буферов

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

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

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

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

    Входные точки, используемые для примеров слияния буферов

    Опция слиянияСоставной параметр имеет значение false (по умолчанию)Составной параметр имеет значение true
    Нет
    Опция буфера без применения слияния

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

    Составной параметр не может иметь значение true, если выбрано значение опции слияния Нет.

    Все
    Все объекты сливаются с составным параметром со значением false

    Если все значения сливаются и значение составного параметра равно false, то создаются три объекта. Сливаются только перекрывающиеся объекты. Это то же самое, что использование для инструмента стандартного анализа опции Слияние.

    Все объекты сливаются с составным параметром со значением true

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

    Поля
    Все объекты с похожими значениями сливаются с составным параметром со значением false

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

    Все объекты с похожими значениями сливаются с составным параметром со значением true

    Если применяется слияние на основе поля и разрешены составные объекты, то создаются два объекта (здесь поле имеет цвет входных объектов). Объекты с одинаковыми значениями поля всегда будут одним объектом.

  • Можно использовать тип буфера в виде выражение, чтобы создать равенство из числовых полей и математических операторов. Более подробно см. Выражения Arcade в наборе инструментов геоаналитики Desktop. Подразумевается, что числовые значения в выражении буфера заданы в метрах, если не указано иное.

  • Аналогичный анализ можно выполнить следующим образом:

    • Инструмент геообработки ArcGIS AllSource Буфер в наборе инструментов Анализ.
    • Инструмент геообработки ArcGIS AllSource Создать буферы в наборе инструментов Анализ объектов.

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

  • Можно повысить производительность инструмента Создать буферы, выполнив одно или несколько из следующих действий:

    • Установите параметр среды Экстент так, чтобы вы анализировали только интересующие вас данные.
    • Используйте планарный буфер.
    • Не выполняйте слияние результатов буферизации.
    • Используйте локальные данные там, где запускается анализ.

  • Этот инструмент геообработки работает на Spark. Анализ выполняется на настольном компьютере с использованием параллельно работающих ядер. Чтобы узнать больше о выполнении анализа см. раздел Информация по инструментами GeoAnalytics Desktop.

  • При запуске инструментов GeoAnalytics Desktop аналитика выполняется на настольном компьютере. Для оптимальной производительности, данные должны быть доступны на настольном ПК. Если используется размещенный векторный слой, рекомендуется применить ArcGIS GeoAnalytics Server. Если данные не являются локальными, инструмент будет работать дольше. Чтобы использовать ArcGIS GeoAnalytics Server для выполнения анализа, см. GeoAnalytics Tools.

Параметры

ПодписьОписаниеТип данных
Входной слой

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

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

Новый класс пространственных объектов с выходными буферами.

Feature Class
Метод

Определяет способ построения буферов.

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

Указывает, как будет задаваться буферное расстояние.

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

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

Field
Буферное расстояние
(Дополнительный)

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

Linear Unit
Выражение буфера
(Дополнительный)

Выражение, использующее поля и математические операторы, которое будет применено в качестве буфера к каждому объекту. Должны использоваться числовые поля, в выражение могут включаться операторы [+ - * / ] и несколько полей. Вычисленные значения будут выражаться в метрах, если не указано иное. Например, чтобы применить буфер, который вычисляется умножением числового поля distance в километрах на 2 и прибавлением 15 метров.

Используйте выражения Arcade, например, as_kilometers($feature["distance"]) * 2 + as_meters(15)

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

Calculator Expression
Опция слияния
(Дополнительный)

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

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

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

Field
Поля суммирования
(Дополнительный)

Задает статистику, которая может применяться к числовым и строковым полям. Если оставить незаполненным, будет вычислено только количество. Эта статистика применяется, только если для Опции слияния указано Список или Все.

  • Количество – количество не пустых значений. Может использоваться с числовыми или текстовыми полями. Количество [null, 0, 2] равно 2.
  • Сумма – сумма числовых значений в поле. Сумма [null, null, 3] равна 3.
  • Среднее – среднее арифметическое числовых значений. Среднее [0, 2, null] равно 1.
  • Мин – минимальное значение числового поля. Минимум [0, 2, null] равен 0.
  • Макс – максимальное значение числового поля. Максимум [0, 2, null] равен 2.
  • Среднеквадратическое отклонение – Среднеквадратическое отклонение числового поля. Среднеквадратическое отклонение [1] равно null. Среднеквадратическое отклонение [null, 1,1,1] равно null.
  • Дисперсия – дисперсия по числовому полю в треке. Дисперсия [1] равна null. Дисперсия [null, 1, 1, 1] равна null.
  • Диапазон – диапазон числового поля. Он вычисляется вычитанием минимального значения из максимального. Диапазон [0, null, 1] равен 1. Диапазон [null, 4] равен 0.
  • Любой – пример строки из текстового поля.

Value Table
Составной
(Дополнительный)

Указывает, могут ли быть созданы составные объекты.

  • Отмечено – там, где это целесообразно, будут созданы выходные составные объекты.
  • Не отмечено – составные объекты создаваться не будут, а для каждой части будет создан отдельный объект. Это значение по умолчанию
Boolean

arcpy.geoanalytics.CreateBuffers(input_layer, out_feature_class, method, {buffer_type}, {buffer_field}, {buffer_distance}, {buffer_expression}, {dissolve_option}, {dissolve_fields}, {summary_fields}, {multipart})
ИмяОписаниеТип данных
input_layer

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

Feature Layer
out_feature_class

Новый класс пространственных объектов с выходными буферами.

Feature Class
method

Определяет способ построения буферов.

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

Указывает, как будет задаваться буферное расстояние.

  • DISTANCEОдинаковое линейное расстояние будет применено ко всем объектам.
  • FIELDБудет выбрано числовое или текстовое поле, содержащее буферное расстояние.
  • EXPRESSIONБудет построено выражение, использующее поля, константы и математические операторы, для отображения буферного расстояния.
String
buffer_field
(Дополнительный)

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

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

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

Linear Unit
buffer_expression
(Дополнительный)

Выражение, использующее поля и математические операторы, которое будет применено в качестве буфера к каждому объекту. Должны использоваться числовые поля, в выражение могут включаться операторы [+ - * / ] и несколько полей. Вычисленные значения будут выражаться в метрах, если не указано иное. Например, чтобы применить буфер, который вычисляется умножением числового поля distance в километрах на 2 и прибавлением 15 метров.

Используйте выражения Arcade, например, as_kilometers($feature["distance"]) * 2 + as_meters(15)

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

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

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

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

Field
summary_fields
[summary_fields,...]
(Дополнительный)

Задает статистику, которая может применяться к числовым и строковым полям. Если оставить незаполненным, будет вычислено только количество. Эта статистика применяется, только если для dissolve_option указано LIST или ALL.

  • COUNT – количество ненулевых значений. Может использоваться с числовыми или текстовыми полями. Количество [null, 0, 2] равно 2.
  • SUM – сумма числовых значений в поле. Сумма [null, null, 3] равна 3.
  • MEAN – среднее арифметическое числовых значений. Среднее [0,2, null] равно 1.
  • MIN – минимальное значение числового поля. Минимум [0, 2, null] равен 0.
  • MAX – максимальное значение числового поля. Максимальное значение [0, 2, null] равно 2.
  • STDDEV – среднеквадратическое отклонение числового поля. Среднеквадратическое отклонение [1] равно null. Среднеквадратическое отклонение [null, 1,1,1] равно null.
  • VAR – дисперсия по числовому полю в треке. Дисперсия [1] равна null. Дисперсия [null, 1,1,1] равна null.
  • RANGE – диапазон числового поля. Он вычисляется вычитанием минимального значения из максимального. Диапазон [0, null, 1] равен 1. Диапазон [null, 4] равен 0.
  • ANY – пример строки из текстового поля.

Value Table
multipart
(Дополнительный)

Указывает, могут ли быть созданы составные объекты.

  • MULTI_PARTТам, где это целесообразно, будут созданы выходные составные объекты.
  • SINGLE_PARTСоставные объекты создаваться не будут, а для каждой части будет создан отдельный объект. Это значение по умолчанию
Boolean

Пример кода

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

Пример скрипта в окне Python для использования функции CreateBuffers.

#-------------------------------------------------------------------------------
# Name: CreateBuffers.py
# Description: Buffer damaged building by 300 meters

# Import system modules
import arcpy

arcpy.env.workspace = "C:/data/DamageSurvey.gdb"

# Set local variables
inFeatures = "DamageAssessment"
out = "DangerousAreas"

# Run Create Buffers
arcpy.gapro.CreateBuffers(inFeatures, out, "GEODESIC", "DISTANCE", 
                          None, "300 Meters", None, "ALL", None, None, 
                          "SINGLE_PART")