Классифицировать здания в LAS (3D Analyst)

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

Классифицирует крыши и стены зданий в данных LAS.

Иллюстрация

Иллюстрация инструмента Классифицировать здания в LAS

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

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

  • Для классификации точек крыш зданий в данных LAS должны быть указаны в точки, соответствующие уровню земной поверхности. Если ваши точки поверхности Земли не были классифицированы, можно использовать инструмент Классифицировать поверхность Земли LAS. Точки земли должны иметь значение кода класса 2. Если точки земли должны имеют другой код класса, не 2, с помощью инструмента Изменить коды классов LAS вы можете переназначить коды классов правильным образом.

  • Точки LAS со значениями кодов классов 0, 1 и 6 будут оцениваться, чтобы определить, подходят ли они под характеристики крыш зданий. Точкам, классифицированным как здания, не отвечающим этим критериям, будет назначено значение кода класса 1, если не указана возможность повторного использования существующих точек классификации зданий.

  • Параметр Метод не используется при задании опции Это фотограмметрические данные.

Параметры

ПодписьОписаниеТип данных
Входной набор данных LAS

Классифицируемый набор данных LAS.

LAS Dataset Layer
Минимальная высота крыши здания
(Дополнительный)

Высота от поверхности земли, которая задает нижнюю точку, от которой будут определены точки крыш зданий.

Linear Unit
Минимальная площадь

Минимальная площадь крыши здания.

Areal Unit
Вычислить статистику
(Дополнительный)

Определяет, будет ли вычисляться статистика для файлов .las, на которые ссылается набор данных LAS. Вычисление статистики определяет пространственный индекс для каждого файла .las, что улучшает производительность анализа и отображения. Статистика также улучшает фильтрацию и символы, ограничивая отображение таких атрибутов LAS, как коды классификации и возвращаемая информация, значениями, которые присутствуют в файле .las.

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

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

  • По умолчанию – экстент основывается на максимальном экстенте всех задействованных слоев. Это значение по умолчанию.
  • Объединение входных данных – экстент будет основан на максимальном экстенте всех входных сцен.
  • Пересечение входных данных – экстент будет основан на минимальной области, являющейся общей для всех входных сцен.
  • Экстент текущего отображения – экстент будет равен видимому отображению. Опция недоступна, если нет активной карты.
  • Как указано ниже – экстент будет основан на указанных минимальном и максимальном значениях экстента.
  • Найти—экстент будет основан на существующем наборе данных.
Extent
Обработка границ

Полигональный объект, определяющий область интереса, которая будет обрабатываться.

Feature Layer
Обрабатывать все файлы LAS, пересекающие экстент
(Дополнительный)

Указывает, как область интереса будет использоваться для определения того, как будут обработаны файлы .las. Область интереса определяется значениями параметра Экстентом обработки, Граница обработки или сочетанием того и другого.

  • Не отмечено – будут обработаны только те точки LAS, что пересекают область интереса. Это значение по умолчанию
  • Отмечено – если какая-либо часть файла .las пересекает область интереса, будут обработаны все точки файла .las, включая те, что находятся вне области интереса.
Boolean
Средний интервал между точками

Средний интервал между точками LAS. Этот параметр больше не используется.

Linear Unit
Повторное использование существующих классифицированных точек зданий
(Дополнительный)

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

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

Определяет, были ли получены точки в файле .las при помощи методики фотограмметрии.

  • Не отмечено – точки в файле .las были получены в результате лидарной съемки, а не фотограмметрического метода получения облаков точек. Это значение по умолчанию
  • Отмечено – точки в файле .las были получены при помощи фотограмметрического метода получения облаков точек из перекрывающихся снимков.
Boolean
Метод классификации
(Дополнительный)

Задает метод классификации, который будет использован.

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

Указывает, следует ли классифицировать точки выше плоскостей, соответствующих крышам.

  • Не отмечено – точки, выявленные над плоскостями, не будут классифицированы. Это значение по умолчанию
  • Отмечено – точки, выявленные над плоскостями, будут классифицированы.
Boolean
Максимальная высота над крышей
(Дополнительный)

Максимальная высота точек над крышей зданий, которые будут классифицированы значением, заданным в параметре Код класса Над крышей.

Linear Unit
Код класса Над крышей
(Дополнительный)

Код класса, который будет присвоен точкам выше крыш.

Long
Классификация точек ниже крыш
(Дополнительный)

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

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

Код класса, который будет присвоен точкам, расположенным между крышей и землей

Long
Обновить пирамидные слои
(Дополнительный)

Определяет, будут ли пирамидные слои для набора данных LAS обновлены после изменения кодов классов.

  • Отмечено - пирамидные слои для набора данных LAS будут обновлены. Это значение по умолчанию
  • Не отмечено - пирамидные слои для набора данных LAS не будут обновлены.
Boolean

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

ПодписьОписаниеТип данных
Полученный набор данных LAS

Набор данных LAS, который классифицируется на нахождение крыш зданий.

LAS Dataset Layer

arcpy.ddd.ClassifyLasBuilding(in_las_dataset, {min_height}, min_area, {compute_stats}, {extent}, boundary, {process_entire_files}, point_spacing, {reuse_building}, {photogrammetric_data}, {method}, {classify_above_roof}, {above_roof_height}, {above_roof_code}, {classify_below_roof}, {below_roof_code}, {update_pyramid})
ИмяОписаниеТип данных
in_las_dataset

Классифицируемый набор данных LAS.

LAS Dataset Layer
min_height
(Дополнительный)

Высота от поверхности земли, которая задает нижнюю точку, от которой будут определены точки крыш зданий.

Linear Unit
min_area

Минимальная площадь крыши здания.

Areal Unit
compute_stats
(Дополнительный)

Определяет, будет ли вычисляться статистика для файлов .las, на которые ссылается набор данных LAS. Вычисление статистики определяет пространственный индекс для каждого файла .las, что улучшает производительность анализа и отображения. Статистика также улучшает фильтрацию и символы, ограничивая отображение таких атрибутов LAS, как коды классификации и возвращаемая информация, значениями, которые присутствуют в файле .las.

  • COMPUTE_STATSСтатистика будет рассчитана. Это значение по умолчанию
  • NO_COMPUTE_STATSСтатистика не будет рассчитана.
Boolean
extent
(Дополнительный)

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

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

Полигональный объект, определяющий область интереса, которая будет обрабатываться.

Feature Layer
process_entire_files
(Дополнительный)

Указывает, как применяется экстент обработки.

  • PROCESS_EXTENTБудут обработаны только те точки LAS, что пересекают область интереса. Это значение по умолчанию
  • PROCESS_ENTIRE_FILESЕсли какая-либо часть файла .las пересекает область интереса, будут обработаны все точки файла .las, включая те, что находятся вне области интереса.
Boolean
point_spacing

Средний интервал между точками LAS. Этот параметр больше не используется.

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

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

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

  • RECLASSIFY_BUILDINGСуществующие классифицированные точки зданий будут переоцениваться в соответствии с критериями обнаружения плоскости, а точкам, которые не соответствуют заданной площади и высоте, будет присвоено значение 1. Это значение по умолчанию
  • REUSE_BUILDINGСуществующие классифицированные точки зданий будут применяться для обнаружения плоскости, но не будут переклассифицированы в случае, если они не соответствуют критериям, указанным при выполнении инструмента. Используйте эту опцию, если существующая классификация необходима.
Boolean
photogrammetric_data
(Дополнительный)

Определяет, были ли получены точки в файле .las при помощи методики фотограмметрии.

Определяет, были ли получены точки в файле .las при помощи методики фотограмметрии.

  • NOT_PHOTOGRAMMETRIC_DATAТочки в файле .las были получены в результате лидарной съемки, а не фотограмметрического метода получения облаков точек. Это значение по умолчанию
  • PHOTOGRAMMETRIC_DATAТочки в файле .las были получены в результате фотограмметрического метода получения облаков точек из перекрывающихся снимков.
Boolean
method
(Дополнительный)

Задает метод классификации, который будет использован.

  • AGGRESSIVEБудут выявлены точки, соответствующие характеристикам плоской крыши с относительно высоким допуском выбросов. Если точки не очень хорошо откалиброваны, желательно использовать этот метод.
  • STANDARDБудут выявлены точки, соответствующие характеристикам плоской крыши с относительно умеренным допуском для нерегулярных точек. Используется по умолчанию
  • CONSERVATIVEБудут выявлены точки, соответствующие характеристикам плоской крыши с относительно низким допуском для нерегулярных точек. Используйте этот метод, если точки находятся почти на одной плоскости с объектами, которые не являются зданиями.
String
classify_above_roof
(Дополнительный)

Указывает, следует ли классифицировать точки выше плоскостей, соответствующих крышам.

  • NO_CLASSIFY_ABOVE_ROOFТочки, выявленные над плоскостями, не будут классифицированы. Используется по умолчанию
  • CLASSIFY_ABOVE_ROOFТочки, выявленные над плоскостями, будут классифицированы.
Boolean
above_roof_height
(Дополнительный)

Максимальная высота точек над крышей зданий, которые будут классифицированы значением, заданным в параметре Код класса Над крышей.

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

Код класса, который будет присвоен точкам выше крыш.

Long
classify_below_roof
(Дополнительный)

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

  • NO_CLASSIFY_BELOW_ROOFТочки, расположенные между крышей и землей, не будут классифицированы. Это значение по умолчанию
  • CLASSIFY_BELOW_ROOFТочки, расположенные между крышей и землей, будут классифицированы.
Boolean
below_roof_code
(Дополнительный)

Код класса, который будет присвоен точкам, расположенным между крышей и землей

Long
update_pyramid
(Дополнительный)

Определяет, будут ли пирамидные слои для набора данных LAS обновлены после изменения кодов классов.

  • UPDATE_PYRAMIDПирамидные слои для набора данных LAS будут обновлены. Это значение по умолчанию
  • NO_UPDATE_PYRAMIDПирамидные слои для набора данных LAS не будут обновлены.
Boolean

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

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

Набор данных LAS, который классифицируется на нахождение крыш зданий.

LAS Dataset Layer

Пример кода

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

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

arcpy.env.workspace = 'C:/data'

arcpy.ClassifyLasBuilding_3d('Highland.lasd', minHeight='9 feet', 
                             minArea='30 Square Feet', compute_stats=True)
ClassifyLasBuilding, пример 2 (автономный скрипт)

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

'''****************************************************************************
       Name: Tile & Classify LAS Files
Description: Creates & classifies tiled LAS files.
****************************************************************************'''
# Import system modules
import arcpy
import tempfile
import math

in_las = arcpy.GetParameterAsText(1) # The LAS files that need to be tiled
out_folder = arcpy.GetParameterAsText(2) # folder for LAS files
basename = arcpy.GetParameterAsText(3) # basename for output files
out_lasd = arcpy.GetParameterAsText(4) # output LAS dataset


try:
    # Create temp LAS dataset to reference LAS files that will be tiled
    temp_lasd = arcpy.CreateUniqueName('temp.lasd', tempfile.gettempdir())
    arcpy.management.CreateLasDataset(in_las, temp_lasd)
    arcpy.ddd.TileLas(temp_lasd, out_folder, basename, out_lasd, las_version=1.4, 
                      point_format=7, file_size=300)
    arcpy.management.Delete(temp_lasd)
    arcpy.ddd.ClassifyLasGround(out_lasd, method='AGGRESSIVE')
    arcpy.ddd.ClassifyLasBuilding(out_lasd, min_height='3 Meters', min_area='4 Meters')
    arcpy.ddd.ClassifyLasByHeight(out_lasd, height_classification=[(3, 6), (4,20), (5,70)],
                                  noise='All Noise', compute_stats='COMPUTE_STATS')

except arcpy.ExecuteError:
    print(arcpy.GetMessages())

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