Инструмент геообработки, который создает буферные полигоны с указанным расстоянием вокруг входных объектов.
Как описано в статье Как работает инструмент Буфер, важным параметром инструмента Буфер является Метод , который определяет, каким именно образом будут построены буферные зоны. Существует два основных метода построения: Евклидовы и геодезические буферные зоны.
Параметр Метод определяет, какой тип буферных зон будет построен.
Систему координат класса объектов можно инзменить при помощи инструмента Проецировать, или можно установить параметр среды геообработки Выходная система координат до использования инструмента Буфер, и эта система координат будет использоваться при создании буферных полигонов.
При использовании Плоскостного метода вы можете повысить точность построения буферных зон, созданных на основе проецированных входных данных, используя проекцию, минимизирующую искажения расстояний, например, Равнопромежуточную коническую или Азимутальную равнопромежуточную и подходящую для ваших входных данных.
При создании буферных полигонов вокруг объектов, использующих систему координат проекции, с выводом в класс объектов базы геоданных, полученные геометрические формы часто включают в себя сегменты дуг окружности, особенно при создании буферных полигонов вокруг точек. При перепроецировании таких буферов в другие системы координат расположение и размер исходных буферов изменяются, но их форма остается неизменной, и в итоге перепроецированные буферы неточно представляют территорию, которую охватывал исходный буфер. Если нужно перепроецировать буферы, содержащие дуги окружности, сначала воспользуйтесь инструментом Уплотнить для конвертации сегментов дуги окружности в прямые линии, а затем перепроецируйте буферы.
Выходной класс объектов будет включать в себя поле BUFF_DIST, содержащее буферное расстояние, использованное для построения буфера вокруг каждого пространственного объекта, в линейных единицах системы координат входных объектов. При использовании Геодезического метода построения буферных полигонов, буферное расстояние будет конвертировано в метры в любом случае.
Если поле BUFF_DIST уже существует во входных объектах, его значения будут перезаписаны. Если используется Тип слияния Все или Список (ALL или LIST в Python), выходной класс объектов не будет содержать это поле.
Выходной класс объектов будет иметь поле ORIG_FID, содержащее ID входного объекта, для которого был создан буфер. Если поле ORIG_FID уже существует во входных объектах, его значения будут перезаписаны. Если используется Тип слияния Все или Список, выходной класс объектов не будет содержать это поле.
При создании буферных полигонов вокруг полигональных объектов, могут использоваться отрицательные буферные расстояния для создания буферов внутри полигональных объектов. При использовании отрицательного буферного расстояния границы полигона уменьшатся на заданное расстояние.
Если отрицательное буферное расстояние достаточно большое, чтобы полигон свернулся, будет создана нулевая геометрия. Будет выведено предупреждающее сообщение, и объекты с нулевой геометрией не будут записаны в выходной класс объектов.
Если для получения буферных расстояний используется поле из Входных объектов, значения поля должны быть или числами (5), или числами в корректными линейными единицами измерения (5 километров). Если расстояние в поле задано простым числом, подразумевается, что это расстояние в линейных единицах измерения, соответствующих системе координат входных объектов (кроме случаев, когда входные объекты находятся в географической системе координат; в этом случае значение измеряется в meters). Если заданная в значениях поля единица измерения является некорректной или не распознается, по умолчанию будет использоваться единица измерения пространственной привязки входных объектов.
Кнопка Добавить поле параметра Поля слияния используется только в ModelBuilder. В ModelBuilder, где предыдущий инструмент не был запущен или не существует его производных данных, параметр Поля слияния может не быть заполнен именами полей. Кнопка Добавить поле позволяет добавить нужные поля в список Полей слияния для ввода данных в диалоговом окне инструмента Буфер.
Опция Тип стороны (line_side) Слева, Справа и Только снаружи (LEFT, RIGHT и OUTSIDE_ONLY в Python) и опция Тип окончания (line_end_type) Плоский (FLAT в Python) доступны только в лицензии уровня Advanced.
Parameter | Explanation |
---|---|
in_features |
Входные точечные, линейные или полигональные объекты, вокруг которых будет строится буфер. |
out_feature_class |
Класс пространственных объектов, содержащий выходные буферы. |
buffer_distance_or_field |
Расстояние вокруг входных объектов, для которых будут построены буферные полигоны. Расстояния могут быть представлены либо значением линейного расстояния, либо полем входных объектов, содержащим расстояние для буферизации каждого объекта. Если линейные единицы не заданы или введены как Неизвестные (Unknown), используются линейные единицы пространственной привязки входных объектов. |
line_side (Optional) |
Стороны входных объектов, для которых будут построены буферные полигоны.
Этот дополнительный параметр не доступен с лицензией Basic или Standard. |
line_end_type (Optional) |
Форма буферного полигона на конце линейных входных объектов. Этот параметр нельзя использовать для полигональных входных объектов.
Этот дополнительный параметр не доступен с лицензией Basic или Standard. |
dissolve_option (Optional) |
Определяет, будет ли выполнено слияние для удаления перекрытия буферов.
|
dissolve_field (Optional) |
Перечень полей из входных объектов, значение которых будет определять слияние выходных буферных полигонов. Буферные полигоны, имеющие общие атрибутивные значения в перечисленных полях (переносятся из входных объектов), будут объединены в один объект. Кнопка Добавить поле, используемая только в ModelBuilder, позволяет добавить нужные поля в список Полей слияния. |
method (Optional) |
Определяет, каким методом будут построены буферные зоны: Плоскостные или геодезические.
|
Buffer Пример 1 (окно Python)
На следующем скрипте окна Python показано, как использовать инструмент Буфер.
import arcpy arcpy.env.workspace = "C:/data" arcpy.Buffer_analysis("roads", "C:/output/majorrdsBuffered", "100 Feet", "FULL", "ROUND", "LIST", "Distance")
Buffer Пример 2 (автономный скрипт)
Поиск областей с соответствующим типом растительности с исключением областей, расположенных вблизи от основных магистралей.
# Name: Buffer.py # Description: Find areas of suitable vegetation which exclude areas heavily impacted by major roads # import system modules import arcpy from arcpy import env # Set environment settings 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.Select_analysis(veg, suitableVeg, whereClause) # Buffer areas of impact around major roads roads = "majorrds" roadsBuffer = "C:/output/Output.gdb/buffer_output" distanceField = "Distance" sideType = "FULL" endType = "ROUND" dissolveType = "LIST" dissolveField = "Distance" arcpy.Buffer_analysis(roads, roadsBuffer, distanceField, sideType, endType, 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.Erase_analysis(suitableVeg, roadsBuffer, eraseOutput, xyTol)
There are no tags for this item.
There are no credits for this item.
There are no use limitations for this item.