Подпись | Описание | Тип данных |
Входной слой | Точечные, полилинейные или полигональные объекты, вокруг которых будет строится буфер. | 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 в инструментах GeoAnalytics Desktop. Подразумевается, что числовые значения в выражении буфера заданы в метрах, если не указано иное.
Аналогичный анализ можно выполнить следующим образом:
- Инструмент геообработки ArcGIS Pro Буфер в наборе инструментов Анализ.
- Инструмент геообработки ArcGIS Pro Создать буферы в наборе инструментов Анализ объектов.
Выходной набор данных будет включать в себя поле BUFF_DIST, содержащее буферное расстояние, использованное для построения буфера вокруг каждого пространственного объекта, в линейных единицах системы координат входных объектов. Если задана выходная система координат, единицы BUFF_DIST будут соответствовать ей. Если поле уже существует в выходных данных, то в конце имени поля будет добавлена цифра, чтобы сделать его уникальным (например, BUFF_DIST1).
Вы можете повысить производительность инструмента Создать буферы, выполнив одно или несколько из следующих действий:
- Установите параметр среды экстента таким образом, чтобы анализировались только интересующие вас данные.
- Используйте планарный буфер.
- Не объединяйте результирующие буферы.
- Используйте локальные данные, относительно места выполнения анализа.
Этот инструмент геообработки работает от Spark. Анализ выполняется на настольном компьютере с использованием нескольких ядер параллельно. См. Информация по инструментами GeoAnalytics Desktop, чтобы узнать больше о выполнении анализа.
При запуске инструментов GeoAnalytics Desktop анализ выполняется на настольном компьютере. Для оптимальной производительности данные должны быть доступны на настольном компьютере. Если используется размещенный векторный слой, рекомендуется применить ArcGIS GeoAnalytics Server. Если данные находятся не на жестком диске, для запуска инструмента потребуется больше времени. Чтобы использовать ArcGIS GeoAnalytics Server для выполнения анализа, см. GeoAnalytics Tools.
Параметры
arcpy.gapro.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")
Параметры среды
Информация о лицензиях
- Basic: Нет
- Standard: Нет
- Advanced: Да