Буфер 3D (3D Analyst)

Уровень лицензии:BasicStandardAdvanced

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

Создает 3D буфер вокруг точечных или линейных объектов.

Рисунок

Пример Буфера 3D (Buffer 3D)

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

Синтаксис

Buffer3D_3d (in_features, out_feature_class, buffer_distance_or_field, {buffer_joint_type}, {buffer_quality}, {simplification_tolerance})
ПараметрОбъяснениеТип данных
in_features

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

Feature Layer
out_feature_class

Выходные объекты-мультипатчи, которые представляют 3D буферы.

Feature Class
buffer_distance_or_field

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

Если линейные единицы измерения расстояния не заданы или введены как Unknown, используется линейная единица измерения пространственной привязки входных объектов.

Linear Unit; Field
buffer_joint_type
(дополнительно)

Форма буфера между вершинами сегментов линии. Этот параметр подходит только для входных линейных объектов.

  • STRAIGHTФорма соединений между вершинами будет прямой. Это значение используется по умолчанию.
  • ROUNDФорма соединений между вершинами будет скругленной.
String
buffer_quality
(дополнительно)

Количество сегментов, используемых для представления итоговых объектов-мультипатчей. Можно использовать любое число в диапазоне от 6 до 60. Значение по умолчанию ― 20.

Long
simplification_tolerance
(дополнительно)

Упрощение удаляет вершины из входных линий, сохраняя основные точки вершин, определяющие форму исходных линий в пределах максимально допустимого сдвига. По умолчанию, упрощение не будет производиться, пока не будет задано значение допуска. Допуск упрощения может быть задан как строка, содержащая числовое значение и линейные единицы его измерения (например, 1,5 метра) или числовое значение без единиц измерения, в этом случае по умолчанию будут использоваться линейные единицы горизонтальной пространственной привязки входных данных.

Linear Unit

Пример кода

Пример 1 инструмента Буфер 3D (Buffer3D) (окно Python)

В следующем примере показано использование этого инструмента в окне Python:

import arcpy
from arcpy import env

arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.Buffer3D_3d('lineFC.shp', 'buffer3d.shp', '15 Meters', 
                 'Round', 30, '1 Meters')
Пример 2 инструмента Буфер 3D (Buffer3D) (автономный скрипт)

В следующем примере показано использование этого инструмента в автономном скрипте Python:

'''****************************************************************************
Name: Buffer 3D Example
Description: This script demonstrates an application of 
             the Buffer 3D and Inside 3D tools.
****************************************************************************'''
# Import system modules
import arcpy
from arcpy import env
import exceptions, sys, traceback

try:
    # Obtain a license for the ArcGIS 3D Analyst extension
    arcpy.CheckOutExtension('3D')
    # Set environment settings
    env.workspace = 'C:/data'
    # Set Local Variables
    inFC = 'lineFC.shp'
    bufferOut = 'buffer3d.shp'
    # Execute Buffer 3D
    arcpy.Buffer3D_3d(inFC, bufferOut, '15 Meters', 'Round', '30', '1 Meters')
    arcpy.Inside3D_3d(bufferOut, 'survey_pts.shp', 'inside_analysis.dbf')

except arcpy.ExecuteError:
    print arcpy.GetMessages()
except:
    # Get the traceback object
    tb = sys.exc_info()[2]
    tbinfo = traceback.format_tb(tb)[0]
    # Concatenate error information into message string
    pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\
          .format(tbinfo, str(sys.exc_info()[1]))
    msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2))
    # Return python error messages for script tool or Python Window
    arcpy.AddError(pymsg)
    arcpy.AddError(msgs)

Параметры среды

Связанные темы

Информация о лицензировании

ArcGIS for Desktop Basic: Требует 3D Analyst
ArcGIS for Desktop Standard: Требует 3D Analyst
ArcGIS for Desktop Advanced: Требует 3D Analyst
5/10/2014