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

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

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

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

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

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

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

    Точка

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

    Мультиточка

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

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

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

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

    Мультипатч

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

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

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

    • Значения уклона для линейных объектов и периметров полигонов вычисляются по каждому сегменту:
      • Минимальный уклон получается от сегмента, значение которого ближе всего к 0, или горизонтального уклона.
      • Максимальный уклон получается из сегмента с наибольшим расчетным значением.
      • Средний уклон определяется усреднением уклона всех линейных сегментов после взвешивания каждого сегмента по их 3D длине. Это приводит к тому, что более длинные сегменты оказывают большее влияние, чем короткие.
    • Значения уклона для объектов мультипатч вычисляются для каждой грани треугольника.
      • Минимальный уклон получается из грани, значение которой ближе всего к 0, или горизонтальной грани.
      • Максимальный уклон получается из грани с самым большим значением.
      • Средний уклон определяется усреднением уклона всех треугольных граней после взвешивания каждого сегмента по их 3D площади. Это приводит к тому, что большие площади оказывают большее влияние на итоговое значение, по сравнению с меньшими.
    • Значения уклона для полигональных объектов вычисляются по ребрам, с использованием той же техники, примененной к линейным сегментам.
  • Среднее z-значение для полигональных объектов вычисляется так же, как для линейных. Внутренние части полигона игнорируются, т.к. оценивается только граница. Z-значение средней точки каждого сегмента умножается на 3D длину этого сегмента, все результаты складываются. Затем полученная сумма делится на общую 3D длину линейного объекта или границы полигона для получения результата.

  • Среднее z-значение для объектов мультипатч вычисляется умножением z-значения в средней точке каждого треугольника на 3D площадь этого треугольника. Результат всех треугольников данного объекта суммируется и делится на общую 3D площадь объекта мультипатч для получения итоговых результатов.

  • Объем можно вычислить только для замкнутых мультипатчей. Незамкнутый объект-мультипатч возвращает значение 0.0. На платформе Solaris ограничение реализации не позволяет инструменту определить, замкнут ли мультипатч, что приводит к вычислению объема для всех мультипатчей с предположением, что все они замкнутые.

Параметры

ПодписьОписаниеТип данных
Входные объекты

Входные объекты, которые будут обрабатываться.

Feature Layer
Выходное свойство

Задает z-свойства, которые добавляются в таблицу атрибутов входного класса объектов.

  • Точка ZОтметка высоты одноточечного объекта.
  • Число точекЧисло точек в каждом мультиточечном объекте.
  • Самое низкое ZСамое низкое z-значение, найденное в каждом мультиточечном, полилинейном, полигональном или мультипатч объекте.
  • Самое высокое ZСамое высокое z-значение, найденное в каждом мультиточечном, полилинейном, полигональном или мультипатч объекте.
  • Среднее ZСреднее z-значение, найденное в каждом мультиточечном, полилинейном, полигональном или мультипатч объекте.
  • Трехмерная длинаТрехмерная длина каждого полилинейного или полигонального объекта.
  • Площадь поверхностиОбщая площадь поверхности объекта мультипатч.
  • Число вершинОбщее число вершин у каждого полилинейного или полигонального объекта.
  • Самый малый уклонСамое низкое значение уклона, вычисленное для каждого полилинейного, полигонального или мультипатч объекта.
  • Самый большой уклонСамое высокое значение уклона, вычисленное для каждого полилинейного, полигонального или мультипатч объекта.
  • Средний уклонСреднее значение уклона, вычисленное для каждого полилинейного, полигонального или мультипатч объекта.
  • ОбъёмОбъем пространства, заключенного в каждом объекте-мультипатче.
String
Фильтрация шума
(Дополнительный)

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

String

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

ПодписьОписаниеТип данных
Обновленные входные объекты

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

Feature Layer

arcpy.ddd.AddZInformation(in_feature_class, out_property, {noise_filtering})
ИмяОписаниеТип данных
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

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

ИмяОписаниеТип данных
output_feature_class

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

Feature Layer

Пример кода

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

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

arcpy.env.workspace = 'C:/data'
arcpy.ddd.AddZInformation('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.ddd.AddZInformation(inFC, Prop, noise)

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