Расположить точки LAS по близости (3D Analyst)

Сводка

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

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

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

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

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

Синтаксис

arcpy.3d.LocateLasPointsByProximity(in_las_dataset, in_features, search_radius, count_field, {out_features}, {geometry}, {class_code}, {compute_stats})
ParameterОбъяснениеТип данных
in_las_dataset

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

LAS Dataset Layer
in_features

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

Feature Layer
search_radius

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

Поддерживаются следующие единицы измерения:

  • UNKNOWNНеизвестно
  • INCHESДюймы
  • FEETФуты
  • YARDSЯрды
  • MILESМили
  • CENTIMETERSСантиметры
  • DECIMETERSДециметры
  • METERSМетры
  • KILOMETERSКилометры
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

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

NameОбъяснениеТип данных
out_las_dataset

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

Слой набора данных LAS
derived_features

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

Векторный слой

Пример кода

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

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

import arcpy
from arcpy import env

arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.LocateLasPointsByProximity_3d('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())

Информация о лицензиях

  • Basic: Требуется 3D Analyst
  • Standard: Требуется 3D Analyst
  • Advanced: Требуется 3D Analyst

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