Краткая информация
Классифицирует точки LAS, которые пересекают входные объекты.
Использование
В качестве входных данных могут быть точки, линии и полигоны. Буферное расстояние может быть важным для точек и линий, т.к. менее вероятно, что заданная точка LAS попадет аккурат на линию или будет иметь ровно те же координаты, что и входная точка.
Также имейте в виду, что если у вас есть полигоны, которые ограничивают водные объекты, то точкам LAS, которые попадают внутрь этих полигонов, следует назначить значение кода 9, что обозначает воду.
-
Формат 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)
Синтаксис
SetLasClassCodesUsingFeatures_3d (in_las_dataset, feature_class, {compute_stats})
Параметр | Объяснение | Тип данных |
in_las_dataset | Обрабатываемый набор данных LAS. | LAS Dataset Layer |
feature_class [[features, buffer_distance, new_class, synthetic, key_point, withheld, overlap],...] | Введите каждый объект и связанные с ним опции, которые будут использоваться для определения операции классификации, как перечень списков (например, [['feature1', 6, 9, 'NO CHANGE', 'SET', 'CLEAR', 'NO CHANGE'], ['feature 2', 0, 6, 'NO CHANGE', 'NO CHANGE', 'NO CHANGE', 'NO CHANGE']]. Каждый объект содержит следующие опции:
| Value Table |
compute_stats (Дополнительный) | Определяет, следует ли вычислять статистику для файлов LAS, на которые ссылается набор данных LAS. Наличие статистики позволяет использовать опции фильтрации и символов для слоя набора данных LAS, чтобы показывать только атрибутивные значения LAS, существующие в файлах LAS.
| Boolean |
Пример кода
SetLasClassCodesUsingFeatures, пример 1 (окно Python)
В следующем примере показано использование этого инструмента в окне Python.
import arcpy
from arcpy import env
arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.SetLasClassCodesUsingFeatures_3d("test.lasd", [["lake.shp 0 9"],
["outliers.shp", 5, "NO_CHANGE",
"NO_CHANGE", "NO_CHANGE", "SET"]],
"COMPUTE_STATS")
SetLasClassCodesUsingFeatures, пример 2 (автономный скрипт)
В следующем примере показано использование этого инструмента в автономном скрипте Python.
'''**********************************************************************
Name: Assign Withheld Classification Flag to Outlier Points in LAS Files
Description: Uses Locate Outliers to identify points in LAS files that
should be assigned the 'withheld' classification flag.
Designed for use as a script tool.
**********************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
try:
arcpy.CheckOutExtension('3D')
# Set Local Variables
lasD = arcpy.GetParameterAsText(0)
outliers = 'in_memory/outliers'
# Execute LocateOutliers
arcpy.ddd.LocateOutliers(lasD, outliers, 'APPLY_HARD_LIMIT', -10,
350, 'APPLY_COMPARISON_FILTER', 1.2, 120,
0.8, 8000)
# Execute SetLasClassCodeUsingFeatures
arcpy.ddd.SetLasClassCodesUsingFeatures(lasd, [["outliers.shp", 5,
"NO_CHANGE", "NO_CHANGE",
"NO_CHANGE", "SET"]])
arcpy.CheckInExtension('3D')
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)
Параметры среды
Информация о лицензиях
- ArcGIS Desktop Basic: Требует 3D Analyst
- ArcGIS Desktop Standard: Требует 3D Analyst
- ArcGIS Desktop Advanced: Требует 3D Analyst