Извлечь объекты из облака точек (3D Analyst)

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

Извлекает отдельные объекты из классифицированного облака точек в точечные, полигональные или мультипатч-объекты.

Иллюстрация

Иллюстрация инструмента Извлечь объекты из облака точек

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

  • Этот инструмент использует расстояние кластеризации, чтобы определить, какие точки принадлежат одному и тому же объекту. Если несколько кодов классов потенциально могут представлять один и тот же объект, назначьте общий идентификатор группы, который будет связывать коды классов во время операции кластеризации. Например, точкам большого дерева могут быть присвоены коды классов 3, 4 или 5. Трем кодам классов может быть присвоен общий идентификатор группы, чтобы обеспечить правильную идентификацию дерева.

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

  • Используйте параметр Минимальное число точек, чтобы исключить объекты, определяемые небольшим количеством точек, которые могут не давать значимых выходных данных.

  • При использовании опции Вогнутая 2D-оболочка или Вогнутая 3D-оболочка для параметра Тип выходной геометрии альфа-радиус для определения выходной геометрии может быть вычислен либо для каждого объекта, либо для всех объектов может использоваться один и тот же альфа-радиус. Вычисление альфа-радиуса для каждого объекта может быть полезно при извлечении нескольких объектов с сильно отличающимися характеристиками. При применении одинакового альфа-радиуса ко всем объектам укажите желаемый радиус, используя параметр Альфа-радиус. Если значение не задано, радиус, используемый для параметра Вогнутая 2D-оболочка, будет таким же, как значение параметра Расстояние кластеризации. При использовании опции Вогнутая 3D-оболочка радиус будет получен путем деления значения параметра Расстояние кластеризации на значение параметра Масштабный коэффициент вертикальной кластеризации, если масштабный коэффициент больше 0. Если масштабный коэффициент равен 0, будет создана выпуклая оболочка.

  • Выходные объекты будут иметь следующие атрибуты:

    • ObjectCode— Код класса или идентификатор группы, используемый для идентификации типа объекта.
    • COUNT— Число точек, связанных с объектом.
    • ALPHA— Альфа-радиус, используемый для построения выходной формы. Это поле добавляется только в том случае, если параметру Тип выходной геометрии присвоено значение Вогнутая 2D-оболочка или Вогнутая 3D-оболочка.

    Следующие атрибуты добавляются только для полигонального типа геометрии:

    • MIN_Z— Наименьшее значение z для точек, принадлежащих объекту.
    • MAX_Z— Наибольшее значение z для точек, принадлежащих объекту.

    Такие атрибуты, как площадь поверхности и объем, могут быть вычислены для выходных данных мультипатч с помощью инструмента Добавить информацию Z.

Параметры

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

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

LAS Dataset Layer; Scene Layer; File
Коды классов для извлечения

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

Value Table
Расстояние кластеризации

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

Linear Unit
Выходные объекты

Выходные объекты, геометрией которых могут быть точки, полигоны или объекты-мультипатч, в зависимости от значения параметра Тип выходной геометрии.

Feature Class
Тип выходной геометрии
(Дополнительный)

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

  • Центральная точкаБудут созданы трехмерные точки, представляющие каждый объект, причем точка создается примерно в середине выпуклой оболочки объекта.
  • Ограничивающая окружностьБудут созданы двумерные полигоны, представляющие каждый объект минимальной ограничивающей окружностью вокруг его точек.
  • Ограничивающий 2D-прямоугольникБудут созданы двумерные полигоны, представляющие каждый объект наименьшей ориентированной ограничивающей рамкой, содержащей его точки.
  • Выпуклая 2D-оболочкаБудут созданы двумерные полигоны, представляющие каждый объект выпуклой оболочкой, содержащей его точки.
  • Вогнутая 2D-оболочкаБудут созданы двумерные полигоны, представляющие каждый объект вогнутой оболочкой, охватывающей его точки.
  • Ограничивающая сфераБудут созданы объекты-мультипатчи, представляющие каждый объект минимальной ограничивающей сферой, охватывающей его точки.
  • Ограничивающий 3D-прямоугольникБудут созданы объекты-мультипатчи, представляющие каждый объект наименьшей ориентированной ограничивающей рамкой, содержащей его точки.
  • Выпуклая 3D-оболочкаБудут созданы объекты-мультипатчи, представляющие каждый объект выпуклой оболочкой, окружающей его точки. Это значение по умолчанию
  • Вогнутая 3D-оболочкаБудут созданы объекты-мультипатчи, представляющие каждый объект вогнутой оболочкой, окружающей его точки. Эта опция выполняет апроксимацию наиболее подходящей геометрии, которая может быть сгенерирована из точек.
String
Минимальное число точек
(Дополнительный)

Минимальное количество точек, которое должен иметь объект, чтобы формировать выходные данные. Значением по умолчанию является 10.

Long
Масштабный коэффициент вертикальной кластеризации

Масштабный коэффициент, который будет применен к значениям z, что влияет на то, как применяется расстояние кластеризации вдоль оси z и как точки группируются в объекты. Значение по умолчанию равно 1, допустимые значения варьируются от 0.0 до 10.0. Масштабный коэффициент, равный 0, приведет к двумерной кластеризации; масштабный коэффициент меньше 1, но больше 0, приведет к большему z-диапазону для каждого объекта. Аналогично, коэффициент масштабирования по вертикали, превышающий 1, приведет к тому, что точки вдоль оси z будут сгруппированы на более коротком расстоянии. Коэффициент вертикального масштабирования применяется только к группировке точек. Геометрия точек не будет изменена, и z-единицы измерения изменены не будут.

Double
Вычислить уникальный альфа-радиус для каждого объекта
(Дополнительный)

Задает, будет ли альфа-радиус вычисляться для каждого объекта или один и тот же альфа-радиус будет применен ко всем объектам.

Этот параметр доступен только если параметру Тип выходной геометрии присвоено значение Вогнутая 2D-оболочка или Вогнутая 3D-оболочка.

  • Отмечено - для каждого объекта будет рассчитан уникальный альфа-радиус.
  • Не отмечено - для всех объектов будет использоваться один и тот же альфа-радиус. Если этот параметр не включен, для определения этого значения можно использовать параметр Альфа-радиус. Если значение не задано, альфа-радиус будет вычислен для всего набора данных. Это значение по умолчанию
Boolean
Альфа-радиус
(Дополнительный)

Альфа-радиус, который будет использоваться для определения альфа-формы при построении объектов элемента.

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

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

См. раздел Использование в справке по инструменту для получения дополнительной информации о том, как вычисляется альфа-радиус по умолчанию.

Linear Unit

arcpy.ddd.ExtractObjectsFromPointCloud(in_point_cloud, class_codes_to_extract, clustering_distance, out_features, {geometry_type}, {min_points}, vertical_scale_factor, {alpha_calculation}, {alpha_radius})
ИмяОписаниеТип данных
in_point_cloud

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

LAS Dataset Layer; Scene Layer; File
class_codes_to_extract
[class_codes_to_extract,...]

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

Value Table
clustering_distance

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

Linear Unit
out_features

Выходные объекты, геометрией которых могут быть точки, полигоны или объекты-мультипатч, в зависимости от значения параметра geometry_type.

Feature Class
geometry_type
(Дополнительный)

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

  • CENTERPOINTБудут созданы трехмерные точки, представляющие каждый объект, причем точка создается примерно в середине выпуклой оболочки объекта.
  • BOUNDING_CIRCLEБудут созданы двумерные полигоны, представляющие каждый объект минимальной ограничивающей окружностью вокруг его точек.
  • BOUNDING_BOX_2DБудут созданы двумерные полигоны, представляющие каждый объект наименьшей ориентированной ограничивающей рамкой, содержащей его точки.
  • CONVEX_HULL_2DБудут созданы двумерные полигоны, представляющие каждый объект выпуклой оболочкой, содержащей его точки.
  • CONCAVE_HULL_2DБудут созданы двумерные полигоны, представляющие каждый объект вогнутой оболочкой, охватывающей его точки.
  • BOUNDING_SPHEREБудут созданы объекты-мультипатчи, представляющие каждый объект минимальной ограничивающей сферой, охватывающей его точки.
  • BOUNDING_BOX_3DБудут созданы объекты-мультипатчи, представляющие каждый объект наименьшей ориентированной ограничивающей рамкой, содержащей его точки.
  • CONVEX_HULL_3DБудут созданы объекты-мультипатчи, представляющие каждый объект выпуклой оболочкой, окружающей его точки. Это значение по умолчанию
  • CONCAVE_HULL_3DБудут созданы объекты-мультипатчи, представляющие каждый объект вогнутой оболочкой, окружающей его точки. Эта опция выполняет апроксимацию наиболее подходящей геометрии, которая может быть сгенерирована из точек.
String
min_points
(Дополнительный)

Минимальное количество точек, которое должен иметь объект, чтобы формировать выходные данные. Значением по умолчанию является 10.

Long
vertical_scale_factor

Масштабный коэффициент, который будет применен к значениям z, что влияет на то, как применяется расстояние кластеризации вдоль оси z и как точки группируются в объекты. Значение по умолчанию равно 1, допустимые значения варьируются от 0.0 до 10.0. Масштабный коэффициент, равный 0, приведет к двумерной кластеризации; масштабный коэффициент меньше 1, но больше 0, приведет к большему z-диапазону для каждого объекта. Аналогично, коэффициент масштабирования по вертикали, превышающий 1, приведет к тому, что точки вдоль оси z будут сгруппированы на более коротком расстоянии. Коэффициент вертикального масштабирования применяется только к группировке точек. Геометрия точек не будет изменена, и z-единицы измерения изменены не будут.

Double
alpha_calculation
(Дополнительный)

Задает, будет ли альфа-радиус вычисляться для каждого объекта или один и тот же альфа-радиус будет применен ко всем объектам.

Этот параметр включается только, когда для параметра geometry_type задано значение CONCAVE_HULL_2D или CONCAVE_HULL_3D.

  • PER_OBJECTДля каждого объекта будет рассчитан уникальный альфа-радиус.
  • ALL_OBJECTSДля всех объектов будет использоваться один и тот же альфа-радиус. Если эта опция включена, параметр alpha_radius может быть использован для определения этого значения. Если значение не задано, альфа-радиус будет вычислен для всего набора данных. Это значение по умолчанию
Boolean
alpha_radius
(Дополнительный)

Альфа-радиус, который будет использоваться для определения альфа-формы при построении объектов элемента.

Этот параметр применяется, когда для параметра alpha_calculation задано значение ALL_OBJECTS, а для параметра geometry_type задано CONCAVE_HULL_2D или CONCAVE_HULL_3D.

Больший альфа-радиус создаст более унифицированный элемент объекта с более простыми границами до точки достижения выпуклой оболочки, в то время как меньшие значения позволят охватить точки объекта с большей детализацией, а также увеличат вероятность построения несвязанных частей. Если альфа-радиус не задан, значение выводится из параметров clustering_distance и vertical_clustering_scale_factor.

См. раздел Использование в справке по инструменту для получения дополнительной информации о том, как вычисляется альфа-радиус по умолчанию.

Linear Unit

Пример кода

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

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

import arcpy
arcpy.env.workspace = r"C:/GIS_Data"
arcpy.ddd.ExtractObjectsFromPointCloud("Terrestrial_Scan.lasd", [(4, 5), (5, 5)],
                                       "60 Centimeters", "Trees.shp", 
                                       "CONCAVE_HULL_2D", 50)