Краткая информация
Идентифицирует точки лидара в пределах трехмерной близости от объектов с z-значениями, также предоставляет возможность переклассификации точек и их экспорта в выходной класс объектов.
Использование
Инструмент записывает к входным объектам поле, содержащее число точек LAS, которые находятся в пределах указанного радиуса поиска.
-
Если набор данных LAS указан в качестве входных данных, будут обработаны все точки данных в LAS-файлах, на которые он ссылается. Выбрать поднабор данных лидара также можно по кодам классификации, флагам классификации и возвращаемым значениям, применив фильтры точек LAS на слое набора данных LAS. Фильтры можно ввести в диалоговом окне свойств слоя или с помощью инструмента Создать слой набора данных LAS.
Воспользуйтесь этим инструментом для определения потенциальных препятствий в пределах заданной близости от интересующего объекта, например, для определения наступления растительности вблизи линий электропередач.
Синтаксис
LocateLasPointsByProximity_3d (in_las_dataset, in_features, search_radius, count_field, {out_features}, {geometry}, {class_code}, {compute_stats})
Параметр | Объяснение | Тип данных |
in_las_dataset | Обрабатываемый набор данных LAS. | LAS Dataset Layer |
in_features | 3D точечные, линейные или полигональные объекты, которые используются для идентификации точек LAS. | Feature Layer |
search_radius | Размер пространства вокруг входных объектов, которое будет оцениваться на наличие точек LAS; может быть предоставлено, как линейное расстояние или извлечено из числового поля в таблице атрибутов входного объекта. Если радиус поиска извлекается из поля или указано линейное расстояние, единицы измерения которых заданы как Неизвестно, будут использованы линейные единицы измерения XY пространственной привязки входных объектов. Поддерживаются следующие единицы измерения:
| Linear Unit; Field |
count_field | В таблицу атрибутов входных объектов будет добавлено имя поля, содержащего число точек. Значения поля будут содержать общее число точек LAS, находящихся в указанной близости от входного объекта. | String |
out_features (Дополнительный) | Выходные точечные объекты, которые представляют собой точки LAS, находящихся в указанной близости от входных объектов. | Feature Class |
geometry (Дополнительный) | Геометрия выходных точечных объектов, которые представляют собой точки LAS, находящихся в указанной близости от входных объектов.
| String |
class_code (Дополнительный) | Значение кода класса, которое используется для переклассификации точек, найденных в пределах радиуса поиска от входных объектов. | Long |
compute_stats (Дополнительный) | Определяет, следует ли вычислять статистику для файлов LAS, на которые ссылается набор данных LAS. Наличие статистики позволяет использовать опции фильтрации и символов для слоя набора данных LAS, чтобы показывать только атрибутивные значения LAS, существующие в файлах LAS.
| Boolean |
Пример кода
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())
Параметры среды
- Текущая рабочая область (Current Workspace)
- Экстент (Extent)
- Выходная система координат (Output Coordinate System)
- Географические преобразования (Geographic Transformations)
- Разрешение XY (XY Resolution)
- Допуск XY (XY Tolerance)
- Разрешение Z (Z Resolution)
- Допуск Z (Z Tolerance)
- Выходной XY домен (Output XY Domain)
- Выходной домен Z (Output Z Domain)
- Автоподтверждение (Auto Commit)
Информация о лицензиях
- ArcGIS Desktop Basic: Требует 3D Analyst
- ArcGIS Desktop Standard: Требует 3D Analyst
- ArcGIS Desktop Advanced: Требует 3D Analyst