Создать поэтажный план из облака точек (Indoors)

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

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

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

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

  • Вы можете уточнить выходной класс полилинейных объектов, созданный этим инструментом, для использования в качестве входных данных для инструмента Импортировать объекты в набор данных Indoor.

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

  • За один запуск инструмент обрабатывает один уровень (этаж) одного здания. Если входные данные облака точек охватывают несколько зданий или уровней, используйте следующие параметры Границы обработки, чтобы ограничить область обработки:

    • Используйте параметр Диапазоны Z, чтобы ограничить обработку одним уровнем или подмножеством высот на уровне.
    • Используйте параметр Экстент, чтобы ограничить обработку одним зданием или подмножеством зданий. Параметр Экстент имеет приоритет над параметром среды Экстент.

  • Чтобы улучшить качество сгенерированных выходных данных, используйте параметр Диапазоны Z, чтобы ограничить обработку диапазоном z-значений, исключая большую часть мебели, осветительных приборов, освещения и других объектов, не ограничивающих комнату. Вы можете изучить данные облака точек на локальной сцене, чтобы определить оптимальный диапазон значений z для включения. На следующем рисунке показано, как диапазон обработки по оси Z в 1–2 метра позволяет избежать задевания мебели и потолочных светильников:

    Комната с мебелью и потолочными светильниками и значениями диапазона z
    Минимальное значение z равно 1, а максимальное значение z равно 2, чтобы избежать захвата мебели и потолочных светильников в комнате.

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

  • Используйте параметр Короткий допуск объектов, чтобы удалить короткие полилинейные объекты из данных. Объекты, длина которых меньше или равна указанному допуску, будут удалены, если они не находятся в пределах 0,05 метра (2 дюймов) от других объектов. Используйте нулевое значение, чтобы избежать удаления коротких объектов, что может быть полезно для визуализации положения стен в разреженных данных облака точек.

  • Необязательный параметр Выходной растр может предоставить полезный контекст при редактировании выходных полилиний. Этот параметр поддерживает форматы растровых файлов .tif и .png, растр базы геоданных или растр в виртуальной рабочей области.

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

Параметры

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

Входной файл LAS или набор данных, содержащий данные облака точек, из которых будут созданы полилинейные объекты.

LAS Dataset Layer
Выходные линейные объекты

Класс полилинейных объектов, который будет создан для хранения объектов, сгенерированных на основе данных LAS.

Если рабочая область не указана, будет использоваться временная рабочая область.

Feature Class
Система координат
(Дополнительный)

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

Spatial Reference
Выходное z-значение
(Дополнительный)

Z-значение, которое будет присвоено сгенерированным полилинейным объектам. По умолчанию - 0.

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

Linear Unit
Упростить линии
(Дополнительный)

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

  • Отмечено - линии будут упрощены. Это значение по умолчанию
  • Не отмечено – линии не будут упрощены.
Boolean
Короткий допуск объектов
(Дополнительный)

Допуск в метрах или международных футах, при котором будут удалены короткие объекты. По умолчанию 1 метр.

Используйте значение 0, чтобы обойти удаление коротких объектов.

Linear Unit
Диапазоны Z
(Дополнительный)

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

Если значение не указано, будет использоваться полный диапазон значений z, присутствующих во входных данных облака точек.

Value Table
Экстент
(Дополнительный)

Экстент данных, который будет оцениваться.

  • Текущий экстент отображения Вид карты — Экстент будет основан на активной карте или сцене.
  • Нарисовать экстент Закончить прямым углом - экстент будет основан прямоугольнике, нарисованном на карте или сцене.
  • Экстент слоя Слой — Экстент будет основан на активном слое карты. Выберите доступный слой или воспользуйтесь опцией Экстент данных во всех слоях. У каждого слоя карте есть следующие опции:

    • Все объекты Выбрать все - экстент всех объектов.
    • Выбранные объекты Область из выбранных объектов - экстент выбранных объектов.
    • Отображаемые объекты Extent Indicator - экстент отображаемых объектов.

  • Обзор Обзор - экстент будет основан на наборе данных.
  • Пересечение входных данных Пересечение - экстент будет основан на пересекающемся экстенте всех входных данных.
  • Объединение входных данных Объединение - экстент будет комбинацией экстентов всех входных данных.
  • Буфер обмена Вставить - экстент может быть скопирован в буфер обмена и из него.
    • Копировать экстент Копировать - копирует экстент и систему координат в буфер обмена.
    • Вставить экстент Вставить - вставляет экстент и систему координат из буфера обмена. Если буфер обмена не содержат систему координат, экстент будет использовать систему координат карты.
  • Сбросить экстент Сбросить - экстент будет сброшен до значения по умолчанию.

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

Extent
Выходной растр
(Дополнительный)

Выходной растр будет создан из данных входного облака точек. Поддерживаемые форматы включают растр базы геоданных, файлы .tif и .png.

Если значение не указано, выходной растр не будет сохранен и не будет удален после создания полилиний.

Raster Dataset

arcpy.indoors.GenerateFloorPlanFromPointCloud(in_point_cloud, out_line_features, {coordinate_system}, {output_z_value}, {simplify}, {short_feature_tolerance}, {z_ranges}, {extent}, {out_raster})
ИмяОписаниеТип данных
in_point_cloud

Входной файл LAS или набор данных, содержащий данные облака точек, из которых будут созданы полилинейные объекты.

LAS Dataset Layer
out_line_features

Класс полилинейных объектов, который будет создан для хранения объектов, сгенерированных на основе данных LAS.

Если рабочая область не указана, будет использоваться временная рабочая область.

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

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

Spatial Reference
output_z_value
(Дополнительный)

Z-значение, которое будет присвоено сгенерированным полилинейным объектам. По умолчанию - 0.

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

Linear Unit
simplify
(Дополнительный)

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

  • SIMPLIFYЛинии будут упрощены. Это значение по умолчанию
  • NO_SIMPLIFYЛинии не будут упрощены.
Boolean
short_feature_tolerance
(Дополнительный)

Допуск в метрах или международных футах, при котором будут удалены короткие объекты. По умолчанию 1 метр.

Используйте значение 0, чтобы обойти удаление коротких объектов.

Linear Unit
z_ranges
[z_ranges,...]
(Дополнительный)

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

Если значение не указано, будет использоваться полный диапазон значений z, присутствующих во входных данных облака точек.

Value Table
extent
(Дополнительный)

Экстент данных, который будет оцениваться.

  • MAXOF – Будет использоваться максимальный экстент всех входных данных.
  • MINOF – Будет использоваться минимальная область, которая является общей для всех входных данных.
  • DISPLAY — Экстент равен видимому отображению.
  • Имя слоя - будет использоваться тот же экстент, что и в указанном слое.
  • Объект Extent — будет использоваться экстент указанного объекта.
  • Строка координат, разделенных пробелами – будет использоваться экстент из заданной строки. Координаты должны быть выражены в таком порядке: x-min, y-min, x-max, y-max.
Extent
out_raster
(Дополнительный)

Выходной растр будет создан из данных входного облака точек. Поддерживаемые форматы включают растр базы геоданных, файлы .tif и .png.

Если значение не указано, выходной растр не будет сохранен и не будет удален после создания полилиний.

Raster Dataset

Пример кода

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

Пример скрипта окна Python для использования функции GenerateFloorPlanFromPointCloud в режиме прямого запуска.

import arcpy
arcpy.indoors.GenerateFloorPlanFromPointCloud(r"C:\Indoors\PointcloudData\Floor1scan.LAS",
                                              r"C:\Indoors\ExampleData.gdb\OutputPolylines",
                                              "", 
                                              "4.25 Meters", 
                                              "NO_SIMPLIFY", 
                                              "2.2 Meters", 
                                              "1 2", 
                                              "MAXOF", 
                                              r"C:\Indoors\ExampleData.gdb\OutputRaster"
                                              )
GenerateFloorPlanFromPointCloud, пример 2 (окно Python)

В следующем автономном скрипте показано использование функции GenerateFloorPlanFromPointCloud.

#Name: Indoors_GenerateFloorPlanFromPointCloud_example2.py
#Description: Generates polyline floor plan features from LAS point cloud data

import arcpy

# Check Out Extensions
arcpy.CheckOutExtension('Indoors')
arcpy.CheckOutExtension('3D')
arcpy.CheckOutExtension('Spatial')  # or 'ImageAnalyst'

# Set Local Variables
in_point_cloud = r"C:\data\Building L - All_Floors.las"
out_line_features = r"C:\data\FloorPlans.gdb\Building_L_East_Floor_2"
coordinate_system = 'PROJCS["NAD_1983_2011_StatePlane_California_VI_FIPS_0406",GEOGCS["GCS_NAD_1983_2011",DATUM["D_NAD_1983_2011",SPHEROID["GRS_1980",6378137.0,298.257222101]],' \
                            'PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],' \
                            'PARAMETER["False_Easting",2000000.0],PARAMETER["False_Northing",500000.0],PARAMETER["Central_Meridian",-116.25],' \
                            'PARAMETER["Standard_Parallel_1",32.78333333333333],PARAMETER["Standard_Parallel_2",33.88333333333333],PARAMETER["Latitude_Of_Origin",32.16666666666666],' \
                            'UNIT["Meter",1.0],AUTHORITY["EPSG",6425]]'
output_z_value = "4.25 Meters"
simplify = "SIMPLIFY"
short_feature_tolerance = "1.5 Meters"
z_ranges = "5.8 7.1" # above furniture and below ceiling fixtures
extent=arcpy.Extent(2074000, 56200, 2074150, 56250) # east section of building L
out_raster=r"C:\data\Building_L_East_Floor_2.png"


# Call the function
arcpy.gp.GenerateFloorPlanFromPointCloud(
    in_point_cloud,
    out_line_features,
    coordinate_system,
    output_z_value,
    simplify,
    short_feature_tolerance,
    z_ranges,
    extent,
    out_raster
)

# Check In Extensions
arcpy.CheckInExtension('Indoors')
arcpy.CheckInExtension('3D')
arcpy.CheckInExtension('Spatial')

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

  • Basic: Нет
  • Standard: Нет
  • Advanced: Обязательно 3D Analyst и ArcGIS Indoors Pro или ArcGIS Indoors Maps. Также требует Spatial Analyst или Image Analyst

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