ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS for Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

按邻域查找 LAS 点

  • 描述
  • 使用
  • 语法
  • 代码示例
  • 环境
  • 许可信息

描述

用于标识已启用 z 值要素的三维邻域内的 LAS 点,并提供重新分类这些点的选项。

使用

  • 此工具使用包含指定搜索半径内的 LAS 点计数的字段更新输入要素。此工具可以生成的点数没有限制,因此请考虑避免使用极大的搜索距离。

  • 您可通过在图层过滤器设置中选择分类代码、分类标记和返回值的任意组合来使 LAS 数据集图层对所显示和处理的 LAS 点进行限制。过滤器的定义可通过图层属性对话或创建 LAS 数据集图层工具实现。

  • 使用单点几何生成输出点要素时,将向该输出中添加名为 DIST3D 的字段(该输出将包含从点到最近输入要素的 3D 距离)。

语法

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

将使用其邻域识别 LAS 点的 3D 点、线、面或多面体要素。

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

派生输出

名称说明数据类型
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())

环境

  • 当前工作空间
  • 范围
  • 输出坐标系
  • 地理变换
  • XY 分辨率
  • XY 容差
  • Z 分辨率
  • Z 容差
  • 输出 XY 值域
  • 输出 Z 值域
  • 自动提交

许可信息

  • Basic: 需要 3D Analyst
  • Standard: 需要 3D Analyst
  • Advanced: 需要 3D Analyst

相关主题

  • 数据管理工具集概述
  • 有关表面的基础知识
  • 表面格式

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS 平台

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • Esri 博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2019 Esri. | 隐私政策 | 法律声明