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 merge 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. - Centerpoint—Three-dimensional points will be generated that represent each object with a point that is created approximately in the middle of the object's convex hull.
- Bounding Circle—Two-dimensional polygons will be generated that represent each object with the minimum bounding circle that surrounds its points.
- 2D Bounding Box—Two-dimensional polygons will be generated that represent each object with the smallest oriented bounding box that contains its points.
- 2D Convex Hull—Two-dimensional polygons will be generated that represent each object with the convex hull that contains its points.
- 2D Concave Hull—Two-dimensional polygons will be generated that represent each object with a concave hull that encompasses its points.
- Bounding Sphere—Multipatch features will be generated that represent each object with a minimum bounding sphere that encompasses its points.
- 3D Bounding Box—Multipatch features will be generated that represent each object with the smallest oriented bounding box that contains its points.
- 3D Convex Hull—Multipatch features will be generated that represent each object with the convex hull that surrounds its points. This is the default.
| 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 |

## 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 small, invalid objects created from small clusters of points.

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

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

Additional attributes such as surface area, volume, and average slope, as well as other properties can be computed 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})

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 merge 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. - CENTERPOINT—Three-dimensional points will be generated that represent each object with a point that is created approximately in the middle of the object's convex hull.
- BOUNDING_CIRCLE—Two-dimensional polygons will be generated that represent each object with the minimum bounding circle that surrounds its points.
- BOUNDING_BOX_2D—Two-dimensional polygons will be generated that represent each object with the smallest oriented bounding box that contains its points.
- CONVEX_HULL_2D—Two-dimensional polygons will be generated that represent each object with the convex hull that contains its points.
- CONCAVE_HULL_2D—Two-dimensional polygons will be generated that represent each object with a concave hull that encompasses its points.
- BOUNDING_SPHERE—Multipatch features will be generated that represent each object with a minimum bounding sphere that encompasses its points.
- BOUNDING_BOX_3D—Multipatch features will be generated that represent each object with the smallest oriented bounding box that contains its points.
- CONVEX_HULL_3D—Multipatch features will be generated that represent each object with the convex hull that surrounds its points. This is the default.
| 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 |

### 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)
```

## Environments

## Licensing information

- Basic: Requires 3D Analyst
- Standard: Requires 3D Analyst
- Advanced: Requires 3D Analyst