Сводка
Классифицирует точки LAS, которые перекрывают двумерный экстент входных объектов.
Использование
Подлежат повторной классификации все точки LAS, частично перекрывающие двумерный экстент входных точек, линий и полигонов, а также любых буферов, которые могут быть применены. Если для повторной классификации точек LAS потребуется трех-мерное расстояние от 3D-объектов, попробуйте использовать инструмент Найти местонахождение точек LAS по близости.
-
Буферное расстояние может быть важным для точек и линий, т.к. менее вероятно, что заданная точка LAS попадет аккурат на линию или будет иметь ровно те же координаты, что и входная точка. Для буфера применяются единицы расстояния в зависимости от линейных единиц пространственной привязки набора данных LAS.
Если точки слоя набора данных LAS были отфильтрованы, то будут переклассифицированы только отфильтрованные точки, которые перекрывают входные объекты. Слой набора данных LAS может фильтроваться с помощью любой комбинации кодов классификации, флагов классификации и возвращаемых значений через диалоговое окно Свойства слоя или инструмент Создать слой набора данных LAS.
-
Формат 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)
Синтаксис
arcpy.ddd.SetLasClassCodesUsingFeatures(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 |
Производные выходные данные
Имя | Объяснение | Тип данных |
derived_las_dataset | Обновленный набор данных LAS. | Слой набора данных LAS |
Пример кода
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)
Параметры среды
Информация о лицензиях
- Basic: Требуется 3D Analyst
- Standard: Требуется 3D Analyst
- Advanced: Требуется 3D Analyst