Сводка
Создает буферные полигоны вокруг входных объектов для заданного расстояния. Число картографических форм, доступных для буферных окончаний (завершений) и углов (соединений) в процессе построения буферного полигона вокруг объекта.
Для операций построения буферов доступны и другие инструменты. Изучить подробности можно в документации к инструментам Попарный буфер и Графический буфер.
Иллюстрация
Использование
Входными объектами могут быть точки, линии или полигоны. Доступные опции для буферных окончаний (завершений) и углов (соединений) зависят от геометрии входных объектов.
- Тип окончания – только линии и точки
- Тип соединения – только полигоны и линии
Выходной класс объектов будет включать в себя поле BUFF_DIST, содержащее буферное расстояние, использованное для построения буфера вокруг каждого пространственного объекта, в линейных единицах системы координат входных объектов.
Если поле BUFF_DIST уже существует во входных объектах, его значения будут перезаписаны.
Выходные буферные объекты всегда рассчитываются по Евклидову расстоянию. Геодезические буферные объекты не поддерживаются. Для получения информации относительно разницы между евклидовым и геодезическим буферами см. раздел Как работает инструмент Буфер (Анализ).
Выходной класс объектов будет содержать поле ORIG_FID, содержащее ID входного объекта, для которого был создан буфер. Если поле ORIG_FID уже существует во входных объектах, его значения будут перезаписаны.
При создании буферных полигонов вокруг полигональных объектов, могут использоваться отрицательные буферные расстояния для создания буферов внутри полигональных объектов. При использовании отрицательного буферного расстояния границы полигона уменьшатся на заданное расстояние.
Внимание:
Если отрицательное буферное расстояние достаточно большое, чтобы свернуть полигон, будет создана нулевая геометрия. Будет выведено предупреждающее сообщение, и объекты с не нулевой геометрией будут записаны в выходной класс объектов.
Если для получения буферных расстояний используется поле из входных данных, значения поля должны быть или числами (например, 5), или числами с корректными линейными единицами измерения (например, 5 километров). Если значение поля является числом, подразумевается, что это расстояние в линейных единицах пространственной привязки входных данных (кроме случаев, когда входные данные имеют географическую систему координат, в этом случае считается, что значение задано в метрах). Если заданная в значениях поля единица измерения является некорректной или не распознается, по умолчанию будет использоваться единица измерения пространственной привязки входных данных.
Инструмент учитывает параметр среды Коэффициент параллельной обработки. Если параметр среды не задан (по умолчанию), или задано значение, равное 100, будет включена полная параллельная обработка, и инструмент будет пытаться задействовать все логические ядра процессора компьютера. Установка параметры среды равным 0 отключит параллельную обработку. Присвоение коэффициенту значения от 1 до 99 приведет к тому, что инструмент определит процент логических ядер для использования по формуле (Коэффициент параллельной обработки / 100 * Логические ядра), округлив результат до ближайшего целого значения. Если результат равен 0 или 1, параллельная обработка не будет включена.
Примечание:
Выходные данные этого инструмента используются только для картографического отображения. Он не предназначен для последующего анализа. Если использовать такой буфер, будут получены некорректные результаты.
Синтаксис
arcpy.analysis.GraphicBuffer(in_features, out_feature_class, buffer_distance_or_field, {line_caps}, {line_joins}, {miter_limit}, {max_deviation})
Parameter | Объяснение | Тип данных |
in_features | Входные точечные, линейные или полигональные объекты, вокруг которых будет строится буфер. | Feature Layer |
out_feature_class | Класс пространственных объектов, содержащий выходные буферы. | Feature Class |
buffer_distance_or_field | Расстояние вокруг входных объектов, для которых будут построены буферные полигоны. Расстояния могут быть представлены либо значением линейного расстояния, либо полем входных объектов, содержащим расстояние для буферизации каждого объекта. Если линейные единицы не заданы или введены как Неизвестные, используются линейные единицы пространственной привязки входных объектов. При определении расстояния в скриптах, если нужная линейная единица обозначается двумя словами, например Decimal Degrees, объедините два слова в одно (например, 20 DecimalDegrees). | Linear Unit; Field |
line_caps (Дополнительный) | Определяет тип окончания (завершения) входных объектов, для которых будут построены буферные полигоны. Этот параметр используется только для точечных и полигональных объектов.
| String |
line_joins (Дополнительный) | Форма буфера в углах, где соединяются два сегмента. Этот параметр используется только для линейных и полигональных объектов.
| String |
miter_limit (Дополнительный) | В месте, где сегмент линии соединяется с острым углом, а для line_joins задано MITER, этот параметр может использоваться для управления способом перехода острого угла из буфера в точку. В некоторых случаях, внешний угол, где сходятся две точки, при использовании MITER line_joins становится слишком велик. Это может привести к тому, что острие угла расширится сильнее, чем предполагалось. | Double |
max_deviation (Дополнительный) | Максимальное расстояние, на которое итоговая граница полигона буфера может отклоняться от истинной идеальной границы буфера. Истинная граница буфера – это кривая, а выходная граница полигона является уплотненной полилинией. Этот параметр используется для управления тем, насколько выходная граница полигона будет соответствовать истинной границе буфера. Если этот параметр не задан или задан равным нулю, инструмент будет использовать максимальное отклонение. Рекомендуется использовать значение по умолчанию. Может произойти существенная потеря производительности работы инструмента или последующего анализа, если вы будете использовать слишком маленькое максимальное отклонение сдвига. Для получения более подробной информации см. информацию о параметре max_deviation, которая находится в разделе об инструменте Уплотнить. | Linear Unit |
Пример кода
В следующем скрипте окна Python показано, как используется инструмент GraphicBuffer.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.GraphicBuffer_analysis("roads", "C:/output/majorrdsBuffered", "100 Feet",
"SQUARE", "MITER")
Environments
Информация о лицензиях
- Basic: Да
- Standard: Да
- Advanced: Да