Лист LAS (3D Analyst)

Сводка

Создает набор неперекрывающихся LAS-файлов, горизонтальные экстенты которых разделены регулярной сеткой.

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

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

  • Разделение больших LAS-файлов, размер которых превышает 500 МБ, улучшит производительность любых операций, основанных на чтении данных в пространственных кластерах, таких как операции анализа, которые требуют создания поверхности, или операций визуализации данных. Со схемой разбиения на листы по умолчанию получаются квадратные листы с шириной и высотой, определенными ограничением целевого размера до 250 Мб. Точки из нескольких файлов LAS, попадающие в область одного листа, будут объединены в выходном файле.

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

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

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

  • Листы LAS можно задать одним из следующих способов:

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

Синтаксис

TileLas(in_las_dataset, target_folder, {base_name}, {out_las_dataset}, {compute_stats}, {las_version}, {point_format}, {compression}, {las_options}, {tile_feature}, {naming_method}, {file_size}, {tile_width}, {tile_height}, {tile_origin})
ParameterОбъяснениеТип данных
in_las_dataset

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

LAS Dataset Layer
target_folder

Папка, куда будут записаны файлы листов LAS.

Folder
base_name
(Дополнительный)

Слово, с которого будет начинаться имя каждого выходного файла..

String
out_las_dataset
(Дополнительный)

Новый набор данных LAS, который ссылается на файлы листов LAS, созданные этим инструментом. Этот пункт является необязательным.

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

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

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

Указывает версию файла LAS для каждого выходного файла. Значение по умолчанию равно 1.4.

  • 1.0Эта версия поддерживала 256 уникальных кодов классов, но в ней не было готовой схемы классификации.
  • 1.1В этой версии были представлены преопределенная схема классификации, форматы записей точек 0 и 1 и переключатель синтетической классификации для точек, полученных из источников, отличных от сенсора лидар.
  • 1.2Эта версия получила поддержку GPS-времени и записей RGB в записях точек 2 и 3.
  • 1.3В этой версии добавилась поддержка записей точек 4 и 5 для волновых данных. Однако волновая информация не читается в ArcGIS.
  • 1.4В этой версии появились форматы записи точек с 6 до 10 включительно с новыми определениями классов, 256 уникальных кодов классов и флаг классификации "Наложение".
String
point_format
(Дополнительный)

Формат записи точек в выходных файлах LAS. Доступные опции зависят от версии файла LAS, указанной в параметре point_format.

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

Указывает, будет ли выходной файл LAS в сжатом формате или в обычном формате LAS.

  • NO_COMPRESSIONВыходной файл будет в обычном формате LAS (*.las). Используется по умолчанию.
  • ZLASВыходные файлы LAS будут сжаты в формат ZLAS.
String
las_options
[las_options,...]
(Дополнительный)

Список дополнительных изменений в выходных файлах LAS.

  • REARRANGE_POINTSПорядок точек LAS в соответствии с их пространственной кластеризацией.
  • REMOVE_VLRУдаляет записи переменной длины, которые добавлены после заголовка, и записи точек каждого файла.
  • REMOVE_EXTRA_BYTESУдаляет дополнительные байты, которые могут быть у каждой точки во входном файле LAS.
String
tile_feature
(Дополнительный)

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

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

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

  • XY_COORDSПрисоединение X и Y координат центральной точки к каждому листу. Используется по умолчанию.
  • ROW_COLUMNНазначение имени листа на основании строки и столбца, к которым он принадлежит в общей схеме разбиения на листы. Строки идут сверху вниз, тогда как столбцы – слева направо.
  • ORDINALНазначение имени листа на основе его порядка создания, где 1 – это первый лист, 2 – второй и т. д.
String
file_size
(Дополнительный)

Это значение, выраженное в мегабайтах, представляет верхнее предельное значение размера несжатого файла выходного листа LAS с единым распределением точек по всему экстенту. ПО умолчанию установлено как 250, это значение используется для вычисляемой ширины и высоты. Этот параметр игнорируется, если в параметрах tile_feature или tile_width и tile_height заданы значения.

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

Ширина каждого листа. Если для ширины и высоты заданы значения, параметр file_size будет игнорироваться. Если в параметре tile_feature указаны входные объекты, ширина листа будет получена из ширины первого объекта, и этот параметр будет игнорироваться.

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

Высота каждого листа. Если для ширины и высоты заданы значения, параметр file_size будет игнорироваться. Если в параметре tile_feature указаны входные объекты, высота листа будет получена из высоты первого объекта, и этот параметр будет игнорироваться.

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

Координаты начальной точки сетки листов. Значение по умолчанию получается из левого нижнего угла входного набора данных LAS. Если в параметре tile_feature указаны входные объекты, начало отсчета будет унаследовано от левого нижнего угла первого объекта, и этот параметр будет игнорироваться.

Point

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

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

Папка, в которую будут записаны выходные файлы LAS.

Папка

Пример кода

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

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

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

arcpy.ddd.TileLas('Denver_2', basename='2014_', out_las_dataset='Denver_2014.lasd', 
                  las_version='1.4', point_format=6, compression='ZLAS Compression', 
                  las_options=['Rearrange points'], naming_method='ROW_COLUMN', file_size=300)
TileLas, пример 2 (автономный скрипт)

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

'''****************************************************************************
       Name: Tile LAS File
Description: Creates tiled LAS files form an untiled collection.
****************************************************************************'''
# 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())

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

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

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