从点云中提取对象 (3D Analyst)

摘要

将分类的点云中的不同对象提取为点、面或多面体要素。

插图

从点云中提取对象工具图示

使用情况

  • 此工具使用聚类距离来确定属于同一对象的点。 如果多个类别代码可能表示相同的对象,请分配一个共用群组 ID,在聚类操作期间将类别代码链接起来。 例如,一个大树可能具有分配了值为 3、4 或 5 的类别代码的点。 可以为这三个类别代码分配一个共用群组 ID,以确保正确识别该树。

  • 提取对象提供了可量化的数据集,可用于创建可在地图或场景中可视化的资产清单。 该工具生成的 3D 形状有助于进行可见性或阴影影响评估。 简化几何表示也可以为在庞大的点云中可视化对象提供有用的制图抽象。

  • 使用最小点数参数来消除由少量点组成的小型无效对象。

  • 输出要素将具有以下属性:

    • ObjectCode - 用于标识对象类型的类别代码或群组 ID
    • COUNT - 与对象相关联的点的数量

    以下属性仅适用于面几何类型:

    • MIN_Z - 属于对象的点的最低 Z 值
    • MAX_Z - 属于对象的点的最高 Z 值

    可以使用添加 Z 信息工具计算表面积、体积、平均坡度等其他属性。

参数

标注说明数据类型
输入点云

将用于检测对象的分类 LAS 数据集、点云场景图层包或点云 I3S 服务。

LAS Dataset Layer; Scene Layer; File
要提取的类代码

要处理以识别对象的类代码。 可以将共用群组 ID 分配给多个类代码,以将其合并为同一对象。

Value Table
聚类距离

将用于识别属于同一对象的点的三维距离。

Linear Unit
输出对象要素

根据输出几何类型参数值,要素几何可能是点、面或多面体。

Feature Class
输出几何类型
(可选)

指定将为每个对象创建的几何类型。 指定的类型将确定对象是表示为点、面还是多面体要素。

  • 中心点将生成代表每个对象的三维点,该点大致位于对象凸包的中间位置。
  • 边界圆将生成代表每个对象的二维面,该面是围绕其点所包围的最小边界圆。
  • 2D 边界框将生成代表每个对象的二维面,该面是包含其点的最小定向边界框。
  • 2D 凸包将生成代表每个对象的二维面,该面是包含其点的凸包。
  • 2D 凹多边形将生成代表每个对象的二维面,该面是包围其点的凹多边形。
  • 边界球将生成代表每个对象的多面体要素,该多面体是包围其点的最小边界球。
  • 3D 边界框将生成代表每个对象的多面体要素,该多面体是包含其点的最小定向边界框。
  • 3D 凸包将生成代表每个对象的多面体要素,该多面体是包围其点的凸包。 这是默认设置。
String
最小点数
(可选)

对象生成输出所需的最小点数。 默认值为 10。

Long

arcpy.ddd.ExtractObjectsFromPointCloud(in_point_cloud, class_codes_to_extract, clustering_distance, out_features, {geometry_type}, {min_points})
名称说明数据类型
in_point_cloud

将用于检测对象的分类 LAS 数据集、点云场景图层包或点云 I3S 服务。

LAS Dataset Layer; Scene Layer; File
class_codes_to_extract
[class_codes_to_extract,...]

要处理以识别对象的类代码。 可以将共用群组 ID 分配给多个类代码,以将其合并为同一对象。

Value Table
clustering_distance

将用于识别属于同一对象的点的三维距离。

Linear Unit
out_features

根据 geometry_type 参数值,要素几何可能是点、面或多面体。

Feature Class
geometry_type
(可选)

指定将为每个对象创建的几何类型。 指定的类型将确定对象是表示为点、面还是多面体要素。

  • CENTERPOINT将生成代表每个对象的三维点,该点大致位于对象凸包的中间位置。
  • BOUNDING_CIRCLE将生成代表每个对象的二维面,该面是围绕其点所包围的最小边界圆。
  • BOUNDING_BOX_2D将生成代表每个对象的二维面,该面是包含其点的最小定向边界框。
  • CONVEX_HULL_2D将生成代表每个对象的二维面,该面是包含其点的凸包。
  • CONCAVE_HULL_2D将生成代表每个对象的二维面,该面是包围其点的凹多边形。
  • BOUNDING_SPHERE将生成代表每个对象的多面体要素,该多面体是包围其点的最小边界球。
  • BOUNDING_BOX_3D将生成代表每个对象的多面体要素,该多面体是包含其点的最小定向边界框。
  • CONVEX_HULL_3D将生成代表每个对象的多面体要素,该多面体是包围其点的凸包。 这是默认设置。
String
min_points
(可选)

对象生成输出所需的最小点数。 默认值为 10。

Long

代码示例

ExtractObjectsFromPointCloud 示例 1(Python 窗口)

下面的示例演示了如何在 Python 窗口中使用此工具。

import arcpy
arcpy.env.workspace = r"C:/GIS_Data"
arcpy.ddd.ExtractObjectsFromPointCloud("Terrestrial_Scan.lasd", [(4, 5), (5, 5)],
                                       "60 Centimeters", "Trees.shp", 
                                       "CONCAVE_HULL_2D", 50)

许可信息

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