Настройка Кодов классов LAS (LAS Class Codes) с помощью объектов (3D Analyst)

Уровень лицензии:BasicStandardAdvanced

Резюме

Классифицирует точки данных, содержащиеся в LAS-файлах и связанные с набором данных LAS, с помощью точечных, линейных и полигональных объектов.

Использование

Синтаксис

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],...]

Укажите один или более классов объектов, с помощью которых будут определяться значения кодов классов лидарных файлов, связанных с набором данных LAS. Для каждого объекта можно будет задать следующие опции:

  • Объекты (features) – Векторный слой или полный путь ко входному классу объектов.
  • Буферное расстояние (buffer_distance) – допуск выборки, используемый для определения лидарных точек, которые будут изменены входными объектами.
  • Новый класс (new_class) – код класса, присваиваемый файлам лидара, пересекающимся с объектами и с соответствующим буферным расстоянием.
  • Синтетический (synthetic) – определяет наличие или отсутствие у точки атрибута Синтетический (Synthetic), указывающего на создание точки не из файла лидара, а другим способом (например, оцифровка из стереофотограмметрической модели).
  • Ключевая точка (key_point) – определяет наличие или отсутствие у точки данных атрибута Ключевая точка (Key Point). Ключевая точка модели обычно рассматривается как точка якоря, которую нельзя удалить ни одним алгоритмом прореживания.
  • Удержанный (withheld) – определяет наличие или отсутствие у точки данных атрибута Удержанный (Withheld), который обычно указывает на ошибочность данных.
Value Table
compute_stats
(дополнительно)

Определяет, следует ли вычислять статистику для файлов LAS, на которые ссылается набор данных LAS. Наличие статистики позволяет использовать опции фильтрации и символов для слоя набора данных LAS, чтобы показывать только атрибутивные значения LAS, существующие в файлах LAS.

  • COMPUTE_STATSСтатистика будет рассчитана.
  • NO_COMPUTE_STATSСтатистика не будет рассчитана. Это значение используется по умолчанию.
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 for Desktop Basic: Требует 3D Analyst
ArcGIS for Desktop Standard: Требует 3D Analyst
ArcGIS for Desktop Advanced: Требует 3D Analyst
9/10/2013