Найти точки LAS по близости (3D Analyst)

Краткая информация

Идентифицирует точки LAS в пределах трехмерной близости от объектов с z-значениями, также имеет возможность переклассификации этих .

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

  • Инструмент записывает к входным объектам поле, содержащее число точек LAS, которые находятся в пределах указанного радиуса поиска. Число точек,которые могут быть сгенерированы инструментом, не имеет ограничений, поэтому стоит избегать слишком больших расстояний поиска.

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

  • При создании выходного точечного объекта с использованием простой точечной геометрии, поле с именем DIST3D и значением 3D-расстояния от точки до ближайшего входного объекта будет добавлено к выходным данным.

Параметры

ПодписьОписаниеТип данных
Входной набор данных LAS

Набор данных LAS, который будет обработан.

LAS Dataset Layer
Входные 3D объекты

3D точечные, линейные, полигональные объекты или объекты мультипатч, которые используются для идентификации точек LAS.

Feature Layer
Радиус поиска

Расстояние вокруг входных объектов, которое будет оцениваться на наличие точек LAS; может быть предоставлено, как линейное расстояние или извлечено из числового поля в таблице атрибутов входного объекта. Если радиус поиска извлекается из поля или указано линейное расстояние, единицы измерения которых заданы как Неизвестно, будут использованы линейные единицы измерения XY пространственной привязки входных объектов.

Linear Unit; Field
Поле количества

Имя поля, которое будет добавлено к входной таблице атрибутов и заполнено числом точек LAS в указанной близости от каждого объекта. По умолчанию поле называется COUNT.

String
Выходной класс пространственных объектов
(Дополнительный)

Точечные объекты, которые представляют собой точки LAS, находящиеся в указанной близости от входных объектов.

Feature Class
Тип выходной геометрии
(Дополнительный)

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

  • МультиточкаМультиточечные объекты, имеющие по несколько точек в каждой строке.
  • ТочкаОдноточечные объекты, имеющие одну строку для каждой найденной точки LAS.
String
Новый код класса
(Дополнительный)

Значение кода класса, которое используется для переклассификации точек, найденных в пределах радиуса поиска от входных объектов.

Long
Вычислить статистику
(Дополнительный)

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

  • Отмечено – статистика будет рассчитана. Это значение по умолчанию
  • Не отмечено – статистика не будет рассчитана.
Boolean
Обновить пирамидные слои
(Дополнительный)

Определяет, будут ли пирамидные слои для набора данных LAS обновлены после изменения кодов классов.

  • Отмечено - пирамидные слои для набора данных LAS будут обновлены. Это значение по умолчанию
  • Не отмечено - пирамидные слои для набора данных LAS не будут обновлены.
Boolean

Производные выходные данные

ПодписьОписаниеТип данных
Обновленный входной набор данных LAS

Обновленный набор данных LAS.

LAS Dataset Layer
Обновленные входные 3D-объекты

Обновленные входные 3D-объекты.

Feature Layer

arcpy.ddd.LocateLasPointsByProximity(in_las_dataset, in_features, search_radius, count_field, {out_features}, {geometry}, {class_code}, {compute_stats}, {update_pyramid})
ИмяОписаниеТип данных
in_las_dataset

Набор данных LAS, который будет обработан.

LAS Dataset Layer
in_features

3D точечные, линейные, полигональные объекты или объекты мультипатч, которые используются для идентификации точек LAS.

Feature Layer
search_radius

Расстояние вокруг входных объектов, которое будет оцениваться на наличие точек LAS; может быть предоставлено, как линейное расстояние или извлечено из числового поля в таблице атрибутов входного объекта. Если радиус поиска извлекается из поля или указано линейное расстояние, единицы измерения которых заданы как Неизвестно, будут использованы линейные единицы измерения XY пространственной привязки входных объектов.

Linear Unit; Field
count_field

Имя поля, которое будет добавлено к входной таблице атрибутов и заполнено числом точек LAS в указанной близости от каждого объекта. По умолчанию поле называется COUNT.

String
out_features
(Дополнительный)

Точечные объекты, которые представляют собой точки LAS, находящиеся в указанной близости от входных объектов.

Feature Class
geometry
(Дополнительный)

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

  • MULTIPOINTМультиточечные объекты, имеющие по несколько точек в каждой строке.
  • POINTОдноточечные объекты, имеющие одну строку для каждой найденной точки LAS.
String
class_code
(Дополнительный)

Значение кода класса, которое используется для переклассификации точек, найденных в пределах радиуса поиска от входных объектов.

Long
compute_stats
(Дополнительный)

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

  • COMPUTE_STATSСтатистика будет рассчитана. Это значение по умолчанию
  • NO_COMPUTE_STATSСтатистика не будет рассчитана.
Boolean
update_pyramid
(Дополнительный)

Определяет, будут ли пирамидные слои для набора данных LAS обновлены после изменения кодов классов.

  • UPDATE_PYRAMIDПирамидные слои для набора данных LAS будут обновлены. Это значение по умолчанию
  • NO_UPDATE_PYRAMIDПирамидные слои для набора данных LAS не будут обновлены.
Boolean

Производные выходные данные

ИмяОписаниеТип данных
out_las_dataset

Обновленный набор данных LAS.

LAS Dataset Layer
derived_features

Обновленные входные 3D-объекты.

Feature Layer

Пример кода

LocateLasPointsByProximity, пример 1 (окно Python)

В следующем примере показано использование этого инструмента в окне Python.

import arcpy
from arcpy import env

arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.ddd.LocateLasPointsByProximity('lidar.lasd', 'powerlines.shp', 
                                     search_radius="10 Feet", 
                                     count_field="Near_Pts",
                                     out_features="located_pts.shp")
LocateLasPointsByProximity, пример 2 (автономный скрипт)

В следующем примере показано использование этого инструмента как автономного скрипта Python.

'''****************************************************************************
Name: Classify Noise Points
Description: Updates classification of version 1.0 LAS files to conform to
             the standardized class codes introduced in the 1.1 specifications.
             The code is designed for use as a script tool.
****************************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback

# Set Local Variables
inLas = arcpy.GetParameterAsText(0)
recursion = arcpy.GetParameterAsText(1)
lasd = arcpy.GetParameterAsText(2)
reclassList = arcpy.GetParameterAsText(3) #List of values '<oldCode> <newCode>'
calcStats = arcpy.GetParameter(4)

try:
    # Execute CreateLasDataset
    arcpy.management.CreateLasDataset(inLas, lasd, folder_recursion=recursion)
    # Execute Locate Outliers
    outlier_pts = 'in_memory/outliers'
    arcpy.ddd.LocateOutliers(lasd, out_feature_class=outlier_pts, 
                            apply_hard_limit='Apply_Hard_Limit', 
                            absolute_z_min=-15, absolute_z_max=680, 
                            apply_comparison_filter='Apply_Comparison_Filter',
                            z_tolerance=0, slope_tolerance=150, 
                            exceed_tolerance_ratio=0.5, outlier_cap=3000)
    # Execute ChangeLasClassCodes
    arcpy.ddd.LocateLasPointsByProximity(lasd, in_features=outlier_pts, 
                                         search_radius='0.5 Centimeters', 
                                         class_code=18)
    # Report messages
    arcpy.GetMessages(0)

except arcpy.ExecuteError:
    print(arcpy.GetMessages())

Связанные разделы