Лист 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 датума может быть выполнено только в том случае, если установлены вертикальные сетки преобразования датума.

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

Синтаксис

arcpy.3d.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

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