Добавить информацию Z (3D Analyst)

Сводка

Добавляет сведения свойствах высоты объектов в класс объектов с поддержкой Z-значений.

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

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

  • Доступны следующие Z-свойства:

    Геометрия объектаZ свойства

    Точка

    Z-значение точки.

    Мультиточка

    Число точек и минимальное, максимальное и среднее Z-значения всех точек в записи мультиточки.

    Полилиния и полигон

    Количество вершин и 3D расстояние линии или периметр полигона.

    Минимальное, максимальное и среднее Z-значение, угол наклона линии или периметра полигона.

    Мультипатч

    Площадь поверхности и объем замкнутого мультипатча.

    Минимальное, максимальное и среднее Z-значения и уклон вдоль поверхности мультипатча.

  • Уклон возвращается как процентное значение и вычисляется по-разному для каждого типа геометрии, поддерживающего это свойство.

    • Значения уклона для линейных объектов и периметров полигонов вычисляются по каждому сегменту:
      • Минимальное значение уклона берется из сегмента, значение которого ближе всего к 0 (к горизонтали).
      • Максимальное значение уклона получается из сегмента с самым большим вычисленным значением.
      • Средний уклон определяется усреднением уклона всех линейных сегментов после взвешивания каждого сегмента по их 3D длине. Это приводит к тому, что более длинные сегменты оказывают большее влияние, чем короткие.
    • Значения уклона для объектов-мультипатчей вычисляются для каждой треугольной грани.
      • Минимальный уклон получается из грани, значение которой ближе всего к 0, или горизонтальной грани.
      • Максимальный уклон получается из грани с самым большим значением.
      • Средний уклон определяется усреднением уклона всех треугольных граней после взвешивания каждого сегмента по их 3D площади. Это приводит к тому, что большие площади сильнее влияют на получаемое значение по сравнению с меньшими.
    • Значения уклона для полигональных объектов вычисляются вдоль ребер с помощью тех же методов, которые применяются для сегментов линий.
  • Объем можно вычислить только для замкнутых мультипатчей. Незамкнутый объект-мультипатч возвращает значение 0.0. На платформе Solaris ограничение реализации не позволяет инструменту определить, замкнут ли мультипатч, что приводит к вычислению объема для всех мультипатчей с предположением, что все они замкнутые.

Синтаксис

arcpy.3d.AddZInformation(in_feature_class, out_property, {noise_filtering})
ParameterОбъяснениеТип данных
in_feature_class

Обрабатываемые входные объекты.

Feature Layer
out_property
[out_property,...]

Z-свойства, которое добавляется в таблицу атрибутов входного класса объектов. Доступны следующие опции:

  • ZОтметка высоты одноточечного объекта.
  • POINT_COUNTЧисло точек в каждом мультиточечном объекте.
  • Z_MINСамое низкое Z-значение, найденное в каждом мультиточечном, полилинейном, полигональном или мультипатч объекте.
  • Z_MAXСамое высокое Z-значение, найденное в каждом мультиточечном, полилинейном, полигональном или мультипатч объекте.
  • Z_MEANСреднее Z-значение, найденное в каждом мультиточечном, полилинейном, полигональном или мультипатч объекте.
  • LENGTH_3DТрехмерная длина каждого полилинейного или полигонального объекта.
  • SURFACE_AREAОбщая площадь поверхности объекта мультипатч.
  • VERTEX_COUNTОбщее число вершин у каждого полилинейного или полигонального объекта.
  • MIN_SLOPEМинимальное значение уклона, вычисленное для каждой полилинии, полигона или объекта-мультипатча.
  • MAX_SLOPEМаксимальное значение уклона, вычисленное для каждой полилинии, полигона или объекта-мультипатча.
  • AVG_SLOPEСреднее значение уклона, вычисленное для каждой полилинии, полигона или объекта-мультипатча.
  • VOLUMEОбъем пространства, заключенного в каждом объекте-мультипатче.
String
noise_filtering
(Дополнительный)

Дополнительное числовое значение используется для исключения частей объектов из итоговых вычислений. Эта опция полезна, если входные 3D-данные содержат сравнительно небольшие объекты с экстремальными значениями уклона, которые могут исказить статистические результаты. Если линейными единицами входных 3D-данных являются метры, задание значения, равного 0.001, приведет к исключению линий и границ полигонов, имеющих длину, меньшую 0.001 м. Для объектов мультипатч такое же значение приведет к исключению его фрагментов, имеющих площадь, меньшую 0.001 кв. м. Этот параметр не применяется к точечным и мультиточеным объектам.

String

Производные выходные данные

NameОбъяснениеТип данных
output_feature_class

Обновленный класс объектов с поддержкой Z-значений.

Векторный слой

Пример кода

AddZInformation, пример 1 (окно Python)

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

arcpy.env.workspace = 'C:/data'
arcpy.AddZInformation_3d('lines_3D.shp', 'Z_MEAN; LENGTH_3D; AVG_SLOPE', 
                        'NO_FILTER')
AddZInformation, пример 2 (автономный скрипт)

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

'''******************************************************************
Name: AddZInformation Example
Description: This script demonstrates AddZInformation on all 
             z-aware features in a target workspace.
******************************************************************'''
# Import system modules
import arcpy

# Set environment settings
arcpy.env.workspace = 'C:/data'
# Create list of feature classes
fcList = arcpy.ListFeatureClasses()
if fcList:
    for fc in fcList:
        desc = arcpy.Describe(fc)
        if desc.hasZ:
            # Set Local Variables
            noise = 'No_Filter'
            if desc.shapeType == 'Polygon':
                Prop = ['Z_MIN', 'Z_MAX', 'VERTEX_COUNT']
            elif desc.shapeType == 'Point':
                Prop = 'Z'
            elif desc.shapeType == 'Multipoint':
                Prop = ['Z_MIN', 'Z_MAX', 'Z_MEAN']
            elif desc.shapeType == 'Polyline':
                Prop = 'LENGTH_3D'
            print('Completed adding Z information.')
            # Execute AddZInformation
            arcpy.AddZInformation_3d(inFC, Prop, noise)

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

  • Basic: Требуется 3D Analyst
  • Standard: Требуется 3D Analyst
  • Advanced: Требуется 3D Analyst

Связанные разделы