Добавить файлы в набор данных LAS (Add Files To LAS Dataset) (Управление данными)
Краткая информация
Добавление в набор данных LAS ссылок на один или несколько файлов LAS и объекты, ограничивающие поверхности.
Использование
Набор данных LAS разработан для использования с данными воздушной лазерной съемки в форматах *.las или *.zlas . Поддерживаемые версии файлов LAS, которыми являются 1.0, 1.1, 1.2 и 1.3, а также файлы *.zlas, представляющие собой сжатые файлы *.las, можно создать с помощью утилиты, которая доступна здесь.
Можно создавать и управлять набором данных LAS с помощью окна ArcCatalog для улучшения интерактивного опыта. Дополнительные сведения см. в разделе Создание набора данных LAS (Creating a LAS dataset).
Объекты поверхностных ограничений можно использовать для установки значений высоты, полученных на основе объектов и представляющих поверхностные характеристики в наборе данных LAS.
Каждый LAS-файл обычно содержит в своем заголовке сведения о пространственной привязке, считываемые набором данных LAS. Если эта информация отсутствует или записана неверно, пространственную привязку файла LAS можно исправить, создав вспомогательный файл *.prj с таким же названием, в той же папке, что и файл LAS, который будет содержать строковое представление системы координат файла LAS, подобно файлу *.prj для шейп-файла.
Точки LAS могут быть разделены на несколько категорий, описывающих материал, полученный с лидара, например, земная поверхность, здание или вода. Американское общество фотограмметрии и дистанционного зондирования (American Society for Photogrammetry and Remote Sensing, ASPRS) утвердило следующие коды классов для версий файлов LAS 1.1, 1.2 и 1.3:
Значение классификации
Тип классификации
0
Классификация не выполнялась
1
Не присвоено
2
Земля
3
Низкорослая растительность
4
Растительность средней высоты
5
Высокая растительность
6
Создание
7
Шум
8
Ключ модели
9
Вода
10
Зарезервировано ASPRS
11
Зарезервировано ASPRS
12
Наложение
13–31
Зарезервировано ASPRS
Примечание:Хотя спецификации LAS 1.0 содержат коды классов в диапазоне от 0 до 255, они не имеют стандартизованной схемы классификации. Любые коды классификации, используемые в файлах версии 1.0, будут в большинстве случаев определяться поставщиком данных и предоставляться через вспомогательную информацию.
Синтаксис
Параметр | Объяснение | Тип данных |
in_las_dataset |
Входной набор данных LAS. | LAS Dataset Layer |
in_files [in_files,...] (дополнительно) |
Входные файлы могут ссылаться на любую комбинацию файлов LAS и папок с данными LAS. | Folder; File |
folder_recursion (дополнительно) |
Определяет, добавляются ли лазерные данные в поддиректориях входной папки в набор данных LAS.
| Boolean |
in_surface_constraints [[in_feature_class, height_field, SF_type],...] (дополнительно) | Классы объектов, на который ссылается набор данных LAS. Для каждого объекта необходимо определить следующие свойства: in_feature_class – класс объектов, на который ссылается набор данных LAS. height_field – поле, задающее источник значений высот для объектов. В таблице атрибутов объекта можно использовать любое числовое поле. Если объект поддерживает z-значения, геометрию объектов можно прочитать, выбрав опцию Shape.Z. Если высота не требуется, укажите ключевое слово <None>, чтобы создать объекты без Z значений, высота которых будет интерполирована на основе поверхности. SF_type – тип объекта поверхности, который определяет, каким образом геометрия участвует в процессе триангуляции поверхности. Опции с резким или нерезким обозначением указывают, представляют ли ребра объектов резкие перегибы уклонов или плавные изменения уклона.
| Value Table |
Пример кода
В следующем примере показано использование этого инструмента в окне Python:
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.AddFilesToLasDataset_management("test.lasd",
["LA_N", "LA_S/LA_5S4E.las"],
"RECURSION",
["boundary.shp <None> Soft_Clip",
"breakline.shp Shape.Z Hard_Line"])
В следующем примере показано использование этого инструмента в автономном скрипте 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)