Изменить коды класса LAS (3D Analyst)

Сводка

Переназначает коды классификации и флаги файлов LAS.

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

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

  • Используйте данный инструмент для обновления классификации точек данных в файлах LAS, созданных перед внедрением стандартизированных кодов класса, согласно спецификациям LAS 1.1.

  • Формат LAS поддерживает классификацию точек на основе спецификаций, разработанных обществом American Society for Photogrammetry and Remote Sensing (ASPRS). На платформе ArcGIS применяется схема классификации, предназначенная для LAS-файлов версии 1.4:

    Значение классификации Тип классификации

    0

    Классификация не выполнялась

    1

    Не назначено

    2

    Земля

    3

    Низкая растительность

    4

    Средняя растительность

    5

    Высокая растительность

    6

    Здание

    7

    Низкий шум

    8

    Ключевые для модели / Зарезервировано

    9

    Вода

    10

    Железная дорога

    11

    Дорожное покрытие

    12

    Наложение / Зарезервировано

    13

    Проволочное ограждение

    14

    Провод

    15

    Опора ЛЭП

    16

    Изолятор

    17

    Мостовой настил

    18

    Высокий шум

    19 – 63

    Зарезервировано для Определения ASPRS (LAS от 1.1 до 1.3 поддерживают коды классов до 31)

    32 – 255

    Задается пользователем (поддерживается только в LAS 1.0 и в некоторых версиях 1.4)

Синтаксис

arcpy.3d.ChangeLasClassCodes(in_las_dataset, class_codes, {compute_stats}, {extent}, boundary, {process_entire_files})
ParameterОбъяснениеТип данных
in_las_dataset

Обрабатываемый набор данных LAS.

LAS Dataset Layer
class_codes
[[current_class, new_class],...]

Укажите каждую пару текущего и нового значения кода класса в виде строки, разделенной пробелами, или списка целых значений. Например, текущий код класса 5 может быть изменен на 2 путем указания "5 2" или [5, 2]. Несколько кодов класса могут быть введены в виде строки, разделенной точкой с запятой ("5 2; 8 3; 1 4"), перечня строк (например, [[5, 2], [8, 3], [1, 4]]).

Value Table
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

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

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

Обновленный набор данных LAS.

Слой набора данных LAS

Пример кода

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

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

arcpy.env.workspace = 'C:/data'
arcpy.ChangeLasClassCodes_3d('test.lasd', [[5, 2], [3, 1], [4, 6]],
                           'COMPUTE_STATS')
ChangeLasClassCodes пример 2 (автономный скрипт)

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

'''****************************************************************************
Name: Update LAS 1.0 Classification to ASPRS 1.1 Specs
Description: Updates classification of version 1.0 LAS files to conform to
             the standardized class codes introduced in the 1.1 specifications.
             The code is designed for use as a script tool.
****************************************************************************'''
# Import system modules
import arcpy

# Set Local Variables
inLas = arcpy.GetParameterAsText(0)
recursion = arcpy.GetParameterAsText(1)
lasd = arcpy.GetParameterAsText(2)
reclassList = arcpy.GetParameterAsText(3) #List of values '<oldCode> <newCode>'
calcStats = arcpy.GetParameter(4)

# Execute CreateLasDataset
arcpy.management.CreateLasDataset(inLas, lasd, recursion)
# Execute ChangeLasClassCodes
arcpy.ddd.ChangeLasClassCodes(lasd, reclassList, calcStats)

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

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

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