Сводка
Идентифицирует точки LAS в пределах трехмерной близости от объектов с z-значениями, также имеет возможность переклассификации этих .
Использование
Инструмент записывает к входным объектам поле, содержащее число точек LAS, которые находятся в пределах указанного радиуса поиска. Число точек,которые могут быть сгенерированы инструментом, не имеет ограничений, поэтому стоит избегать слишком больших расстояний поиска.
-
Для слоя набора данных LAS может быть установлено ограничение количества отображаемых и обрабатываемых точек LAS, путем выбора любой комбинации кодов классификации, флагов классификации и возвращаемых значений в настройках фильтра слоя. Фильтры можно ввести в диалоговом окне Свойства слоя или с помощью инструмента Создать слой набора данных LAS.
При создании выходного точечного объекта с использованием простой точечной геометрии, поле с именем DIST3D и значением 3D-расстояния от точки до ближайшего входного объекта будет добавлено к выходным данным.
Синтаксис
arcpy.ddd.LocateLasPointsByProximity(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 в указанной близости от каждого объекта. По умолчанию поле называется COUNT. | String |
out_features (Дополнительный) | Точечные объекты, которые представляют собой точки LAS, находящиеся в указанной близости от входных объектов. | Feature Class |
geometry (Дополнительный) | Указывает геометрию выходных точечных объектов, которые представляют собой точки LAS, находящиеся в указанной близости от входных объектов.
| String |
class_code (Дополнительный) | Значение кода класса, которое используется для переклассификации точек, найденных в пределах радиуса поиска от входных объектов. | Long |
compute_stats (Дополнительный) | Определяет, следует ли вычислять статистику для файлов LAS, на которые ссылается набор данных LAS. Вычисление статистики определяет пространственный индекс для каждого файла LAS, что улучшает производительность анализа и отображения. Статистика также улучшает фильтрацию и символы, ограничивая отображение таких атрибутов LAS, как коды классификации и возвращаемая информация, значениями, которые присутствуют в файле 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.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