Подпись | Описание | Тип данных |
Входной слой | Точечные, полилинейные или полигональные объекты, вокруг которых будет строиться буфер. | 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 |
Поля суммирования (Дополнительный) | Задает статистику, которая может применяться к числовым и строковым полям. Если оставить незаполненным, будет вычислено только количество. Эта статистика применяется, только если для Опции слияния указано Список или Все.
| Value Table |
Составной (Дополнительный) | Указывает, могут ли быть созданы составные объекты.
| Boolean |
Краткая информация
Создает буферы с указанным расстоянием вокруг входных объектов.
Использование
Параметр Метод определяет, как будут строиться буферы. Существует два основных метода построения буфера: Евклидов и геодезический.
- Евклидов буфер измеряет расстояния на двухмерной координатной плоскости, где расстояние между двумя точками на плоскости измеряется по прямой, то есть как евклидово расстояние. Евклидовы буферы являются более распространенным типом буфера и хорошо работают в системе координат проекции при анализе расстояний вокруг объектов, сосредоточенных на относительно небольшой площади (например, в одной зоне UTM). Евклидовы буферы называются планарными.
- Геодезические буферы строятся с учетом реальной формы поверхности Земли (эллипсоида, а точнее – геоида). Расстояния измеряются между двумя точками на сферической поверхности (геоида), что отличается от измерения того же расстояния на плоскости. Создание геодезических буферов предпочтительно в следующих случаях:
- Входные объекты располагаются далеко друг от друга (в разных зонах UTM, больших регионах или по всему миру)
- Пространственная привязка (проекция карты) входных объектов сильно искажает реальные расстояния, но сохраняет другие свойства, например, площадь.
Геодезические буферы могут иметь необычную форму на плоской карте, но на глобусе они будут выглядеть корректно.
Параметр Метод определяет, как будут строиться буферные зоны.
- Планарный (плоскостной) метод автоматически определяет подходящий метод, в зависимости от системы координат входных объектов.
- Если входные объекты имеют систему координат проекции, будут построены Евклидовы буферы.
- Если входные объекты имеют географическую систему координат, будут построены геодезические буферы.
- По умолчанию применяется геодезический. Геодезический метод создает сохраняющий форму геодезический буфер вне зависимости от входной системы координат. Геодезический буфер, сохраняющий форму, уплотняет входные объекты перед созданием выходных геодезических буферов. Это создает буферы, которые более точно представляют форму входных объектов. Если вы переживаете по поводу формы буферных зон и их соответствия форме входных объектов, рекомендуется включить эту опцию, особенно если входные данные хранятся в географической системе координат. На построение геодезических буферов тратится больше времени, чем с опцией Планарный, однако результат точнее соответствует форме входного объекта.
- Планарный (плоскостной) метод автоматически определяет подходящий метод, в зависимости от системы координат входных объектов.
При использовании метода Планарный можно повысить точность построения буферных зон, созданных по спроецированным входным данным, используя проекцию, минимизирующую искажение расстояний, например, Равнопромежуточную коническую или Равнопромежуточную азимутальную, и, с географической точки зрения, подходящую для входных данных.
При создании буферных полигонов вокруг полигональных объектов, могут использоваться отрицательные буферные расстояния для создания буферов внутри полигональных объектов. При использовании отрицательного буферного расстояния границы полигона уменьшатся на заданное расстояние.
Примечание:
Если отрицательное буферное расстояние достаточно большое, чтобы свернуть полигон, будет создана нулевая геометрия. Будет выведено предупреждающее сообщение, и объекты с не нулевой геометрией будут записаны в выходной набор данных.
Размер буфера можно ввести, используя следующие три способа:
- Расстояние – использует постоянное значение (все буферы будут иметь одинаковый размер)
- Поле – использует значения из поля (различные объекты могут иметь буферы разного размера)
- Выражение –применяет выражение к каждому объекту (различные объекты могут иметь различные значения на основании выражения)
По умолчанию, инструмент Создать буферы создаёт перекрывающиеся буферы, когда области буферов пересекаются. Если входными объектами являются области, входная область будет включена в буфер. Вы можете использовать параметр слияния и составной параметр для управления поведением перекрывающихся буферов. Доступны следующие типы три доступные опции слияния:
- Нет - Буферы будут перекрываться в местах пересечения областей буферов. Это значение по умолчанию
- Все – выполняется слияние всех объектов. Составной параметр определяет, будут ли все объекты сливаться в один объект (значение true), или будут сливаться только перекрывающиеся объекты (значение false).
- Поля – слияние объектов будет выполняться на основе значений полей. Вы можете выбрать одно или несколько полей, будет выполняться слияние по одинаковым значениям. Составной параметр определяет, будут ли все объекты с совпадающим полем сливаться в один объект (значение true), или будут сливаться только перекрывающиеся объекты с совпадающим полем (значение false).
Если поле из параметра Входной слой используется для получения буферных расстояний, значение поля может быть либо числом (например, 5), либо числом с допустимой линейной единицей (например, 5 километров). Если значение поля является числом, подразумевается, что это расстояние в линейных единицах пространственной привязки Входного слоя (кроме случаев, когда входной слой имеет географическую систему координат, в этом случае считается, что значение задано в метрах). Если заданная в значении поля единица измерения является некорректной или не распознается, по умолчанию будет использоваться единица измерения пространственной привязки входных объектов.
При выполнении слияния, используя Все или Поля, можно вычислить статистику. Статистика будет применяться только к слиянию всех объектов или значениям полей, но не применяется географически (используя составной параметр). Следующая таблица объясняет, как данные опции работают при использовании шести объектов, показанных на следующем изображении. Цвет указывает значения полей (синий или оранжевый), которые используются для слияния по полям.
Опция слияния Составной параметр имеет значение 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.
Параметры
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 | Определяет способ построения буферов.
| String |
buffer_type (Дополнительный) | Указывает, как будет задаваться буферное расстояние.
| 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 (Дополнительный) | Определяет, будет ли выполнена опция слияния для удаления перекрытия буферов.
| String |
dissolve_fields [dissolve_fields,...] (Дополнительный) | Список одного или нескольких полей из входных объектов, по которым будет выполнено слияние итоговых буферов. Будут объединены любые буферы с общими значениями атрибутов в перечисленных полях. Этот параметр требуется, только если для параметра dissolve_option задано LIST. | Field |
summary_fields [summary_fields,...] (Дополнительный) | Задает статистику, которая может применяться к числовым и строковым полям. Если оставить незаполненным, будет вычислено только количество. Эта статистика применяется, только если для dissolve_option указано LIST или ALL.
| Value Table |
multipart (Дополнительный) | Указывает, могут ли быть созданы составные объекты.
| Boolean |
Пример кода
Пример скрипта в окне 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")