Label | Explanation | Data Type |
Input Point Cloud
| The classified LAS dataset, point cloud scene layer package, or point cloud I3S service that will be used to detect objects. | LAS Dataset Layer; Scene Layer; File |
Class Codes To Extract
| The class codes that will be processed to identify objects. A common group ID can be assigned to group multiple class codes into the same object. | Value Table |
Clustering Distance
| The three-dimensional distance that will be used to identify the points that belong to the same object. | Linear Unit |
Output Object Features
| The output objects whose feature geometry may be point, polygon, or multipatch based on the Output Geometry Type parameter value. | Feature Class |
Output Geometry Type (Optional) | Specifies the type of geometry that will be created for each object. The specified type will determine whether the objects will be represented as points, polygons, or multipatch features.
| String |
Minimum Number of Points
(Optional) | The minimum number of points that an object must have for it to generate an output. The default value is 10. | Long |
Vertical Clustering Scale Factor
| The scale factor that will be applied to the z-values, which will impact how the clustering distance is applied along the z-axis and how points are clustered into objects. The default value is 1 with valid values ranging from 0.0 to 10.0. A scale factor of 0 will result in two-dimensional clustering; a scale factor that is smaller than 1 but larger than 0 will result in a larger z-range for each object. Likewise, a vertical scale factor that is greater than 1 will result in points along the z-axis being clustered over a shorter distance. The vertical scale factor only applies to how the points are clustered. The geometry of the points will not be modified and the z-units will not be altered. | Double |
Calculate a unique alpha radius for each object
(Optional) | Specifies whether the alpha radius will be calculated for each object or if the same alpha radius will be applied to all objects. This parameter is only available when the Output Geometry Type parameter is set to 2D Concave Hull or 3D Concave Hull.
| Boolean |
Alpha Radius
(Optional) | The alpha radius that will be used to define the alpha shape when constructing the object features. This parameter applies when the Calculate a unique alpha radius for each object parameter is unchecked and the Output Geometry Type parameter is set to 2D Concave Hull or 3D Concave Hull. A larger alpha radius will create a more unified object feature with simpler boundaries until the point of reaching the convex hull, while smaller values will encompass the object's points with greater detail while also increasing the likelihood of producing disconnected parts. When no alpha radius is defined, the value is derived from the Clustering Distance and Vertical Clustering Scale Factor parameters. See the Usage section in the tool help for more information about how the default alpha radius is derived. | Linear Unit |
Summary
Extracts distinct objects from a classified point cloud into point, polygon, or multipatch features.
Illustration
Usage
This tool uses a clustering distance to establish which points belong to the same object. If multiple class codes can potentially represent the same object, assign a common group ID that will link the class codes during the clustering operation. For example, a large tree may have points assigned with class codes of 3, 4, or 5. The three class codes can be assigned a common group ID to ensure that the tree is properly identified.
Extracting objects offers a quantifiable dataset that can be used to create an asset inventory that can be visualized in a map or scene. 3D shapes produced by this tool can aid in making visibility or shadow impact assessments. Simplified geometric representations can also provide a useful cartographic abstraction for visualizing objects in bulkier point clouds.
Use the Minimum Number of Points parameter to eliminate objects that are defined by a small number of points, which may not yield meaningful outputs.
When using the 2D Concave Hull or 3D Concave Hull option for the Output Geometry Type parameter, an alpha radius for defining the output geometry can either be computed for each object or the same alpha radius can be used on all objects. Computing an alpha radius for each object can be beneficial when extracting multiple objects with highly differing characteristics. When applying the same alpha radius to all objects, specify the desired radius using the Alpha Radius parameter. If no value is provided, the radius used for the 2D Concave Hull option will be the same as the Clustering Distance parameter value. When using the 3D Concave Hull option, the radius will be derived by dividing the Clustering Distance parameter value by the Vertical Clustering Scale Factor parameter value, as long as the scale factor is greater than 0. When the scale factor is 0, the convex hull will be created.
The output features will have the following attributes:
- ObjectCode—The class code or group ID used to identify the object type.
- COUNT—The number of points that are associated with the object.
- ALPHA—The alpha radius used to construct the output shape. This field is only added when the Output Geometry Type parameter is set to 2D Concave Hull or 3D Concave Hull.
The following attributes are only added for polygon geometry types:
- MIN_Z—The lowest z-value of the points that belong to an object
- MAX_Z—The highest z-value of the points that belong to an object
Attributes such as surface area and volume can be computed for multipatch outputs using the Add Z Information tool.
Parameters
arcpy.ddd.ExtractObjectsFromPointCloud(in_point_cloud, class_codes_to_extract, clustering_distance, out_features, {geometry_type}, {min_points}, vertical_scale_factor, {alpha_calculation}, {alpha_radius})
Name | Explanation | Data Type |
in_point_cloud | The classified LAS dataset, point cloud scene layer package, or point cloud I3S service that will be used to detect objects. | LAS Dataset Layer; Scene Layer; File |
class_codes_to_extract [class_codes_to_extract,...] | The class codes that will be processed to identify objects. A common group ID can be assigned to group multiple class codes into the same object. | Value Table |
clustering_distance | The three-dimensional distance that will be used to identify the points that belong to the same object. | Linear Unit |
out_features | The output objects whose feature geometry may be point, polygon, or multipatch based on the geometry_type parameter value. | Feature Class |
geometry_type (Optional) | Specifies the type of geometry that will be created for each object. The specified type will determine whether the objects will be represented as points, polygons, or multipatch features.
| String |
min_points (Optional) | The minimum number of points that an object must have for it to generate an output. The default value is 10. | Long |
vertical_scale_factor | The scale factor that will be applied to the z-values, which will impact how the clustering distance is applied along the z-axis and how points are clustered into objects. The default value is 1 with valid values ranging from 0.0 to 10.0. A scale factor of 0 will result in two-dimensional clustering; a scale factor that is smaller than 1 but larger than 0 will result in a larger z-range for each object. Likewise, a vertical scale factor that is greater than 1 will result in points along the z-axis being clustered over a shorter distance. The vertical scale factor only applies to how the points are clustered. The geometry of the points will not be modified and the z-units will not be altered. | Double |
alpha_calculation (Optional) | Specifies whether the alpha radius will be calculated for each object or if the same alpha radius will be applied to all objects. This parameter is only enabled when the geometry_type parameter is set to CONCAVE_HULL_2D or CONCAVE_HULL_3D.
| Boolean |
alpha_radius (Optional) | The alpha radius that will be used to define the alpha shape when constructing the object features. This parameter applies when the alpha_calculation parameter is set to ALL_OBJECTS and the geometry_type parameter is set to CONCAVE_HULL_2D or CONCAVE_HULL_3D. A larger alpha radius will create a more unified object feature with simpler boundaries until the point of reaching the convex hull, while smaller values will encompass the object's points with greater detail while also increasing the likelihood of producing disconnected parts. When no alpha radius is defined, the value is derived from the clustering_distance and vertical_clustering_scale_factor parameters. See the Usage section in the tool help for more information about how the default alpha radius is derived. | Linear Unit |
Code sample
The following sample demonstrates the use of this tool in the Python window.
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)