Статистика набора данных LAS (Управление данными)
Резюме
Вычисляет и обновляет статистику для набора данных LAS, а также создает дополнительный отчет о статистике.
Использование
Статистика вычисляет средний интервал между точками каждого файла LAS с помощью биннинга, постепенно оценивая небольшие области файла, для получения данных оценки.
Статистика позволяет использовать параметры фильтрации для слоя набора данных LAS в целях автоматического отображения доступных кодов класса и значений отраженных сигналов, обнаруженных в файлах LAS, на которые этот слой ссылается. Параметры фильтрации можно задать посредством стандартного диалогового окна "Свойства слоя" (Layer Properties) в ArcMap и ArcScene.
-
В наборе данных LAS будут храниться следующие сведения о файлах LAS, отображаемые в диалоговом окне "Свойства набора данных LAS" (LAS Dataset Properties) в ArcCatalog:
- Интервал значений высот и интенсивности
- Количество точек данных на код класса и значение отраженного сигнала
- Наличие значений RGB
- Версия LAS и идентификатор формата точки
- Идентификатор проекта и источника файла
- Имя программы, используемой для создания файла LIDAR
В файле дополнительного статистического отчета представлен обзор свойств LAS всех файлов в наборе данных LAS или в каждом отдельном текстовом файле LAS, который можно импортировать в любое число приложений.
Синтаксис
Параметр | Объяснение | Тип данных |
in_las_dataset |
Входной набор данных LAS. | LAS Dataset Layer |
calculation_type | Указывает, будет ли вычислена статистика всех лидарных файлов или только файлов без статистики:
| Boolean |
out_file (дополнительно) |
Выходной текстовый файл, содержащий отчет о статистике набора данных LAS. | Text File |
summary_level (дополнительно) |
Укажите тип сводки в отчете.
| String |
delimiter (дополнительно) |
Разделитель поля, используемый в текстовом файле.
| String |
decimal_separator (дополнительно) | Десятичный символ, используемый в текстовом файле, чтобы отделить целую часть числа от дробной.
| String |
Пример кода
В следующем примере показано использование этого инструмента в окне Python:
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.LASDatasetStatistics_3d("test.lasd", "NO_FORCE", "LAS_FILE",
"DECIMAL_POINT", "SPACE", "LAS_summary.txt")
В следующем примере показано использование этого инструмента в автономном скрипте Python:
'''*********************************************************************
Name: Modify Files in LAS Dataset& Calculate Stats for LASD
Description: Adds files & surface constraints to a LAS dataset, then
calculates statistics and generates report.
*********************************************************************'''
# Import system modules
import arcpy
from arcpy import env
import exceptions, sys, traceback
try:
# Script variables
env.workspace = 'C:/data'
lasd = 'sample.lasd'
oldLas = ['2006', '2007/file2.las']
newLas = ['2007_updates_1', '2007_updates_2']
oldSurfaceConstraints = ['boundary.shp', 'streams.shp']
newSurfaceConstraints = [['sample.gdb/boundary', '<None>',
'Soft_Clip']
['sample.gdb/streams', 'Shape.Z',
'Hard_Line']]
arcpy.management.RemoveFilesFromLasDataset(lasd, oldLas,
oldSurfaceConstraints)
arcpy.management.AddFilesToLasDataset(lasd, newLas, 'RECURSION',
newSurfaceConstraints)
arcpy.management.LasDatasetStatistics(lasd, "UPDATED_FILES",
"lasd_stats.txt",
"LAS_FILE", "DECIMAL_POINT",
"SPACE", "LAS_summary.txt")
except arcpy.ExecuteError:
print arcpy.GetMessages()
except:
# Get the traceback object
tb = sys.exc_info()[2]
tbinfo = traceback.format_tb(tb)[0]
# Concatenate error information into message string
pymsg = "PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}"\
.format(tbinfo, str(sys.exc_info()[1]))
msgs = "ArcPy ERRORS:\n {0}\n".format(arcpy.GetMessages(2))
# Return python error messages for script tool or Python Window
arcpy.AddError(pymsg)
arcpy.AddError(msgs)