Настройка Кодов классов LAS (LAS Class Codes) с помощью объектов (3D Analyst)
Резюме
Классифицирует точки данных, содержащиеся в LAS-файлах и связанные с набором данных LAS, с помощью точечных, линейных и полигональных объектов.
Использование
- Точки 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, будут в большинстве случаев определяться поставщиком данных и предоставляться через вспомогательную информацию. 
- Слой набора данных LAS можно использовать для фильтрации точек LAS по коду класса или возвращаемым значениям. Слой можно создать с помощью инструмента Создать слой набора данных LAS (Make LAS Dataset Layer) или загрузив набор данных LAS в ArcMap или ArcScene и указав нужные коды классов и возвращаемые значения в диалоговом окне свойств слоя. 
- Точки данных LAS, попадающие в двухмерную область буфера, заданного для входных объектов, будут классифицированы. 
- 
Чтобы классифицировать точки LAS как Шум (Noise), можно использовать точки, полученные в результате выполнения функции Определить местоположение выбросов (Locate Outliers). 
Синтаксис
| Параметр | Объяснение | Тип данных | 
| in_las_dataset | Входной набор данных LAS. | LAS Dataset Layer | 
| feature_class [[features, buffer_distance, new_class, synthetic, key_point, withheld],...] | Укажите один или более классов объектов, с помощью которых будут определяться значения кодов классов лидарных файлов, связанных с набором данных LAS. Для каждого объекта можно будет задать следующие опции: 
 | Value Table | 
| compute_stats (дополнительно) | Определяет, следует ли вычислять статистику для файлов LAS, на которые ссылается набор данных LAS. Наличие статистики позволяет использовать опции фильтрации и символов для слоя набора данных LAS, чтобы показывать только атрибутивные значения LAS, существующие в файлах LAS. 
 | Boolean | 
Пример кода
В следующем примере показано использование этого инструмента в окне 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")
В следующем примере показано использование этого инструмента в автономном скрипте 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)