Label | Explanation | Data Type |
Input Features
| The LAS dataset or 3D features whose minimum bounding volume will be evaluated. | LAS Dataset Layer; Feature Layer |
Z Value
| The source of z-values for the input data. | Field |
Output Feature Class | The feature class that will be produced. | Feature Class |
Output Feature Class Type
(Optional) | Specifies the method that will be used to determine the geometry of the minimum bounding volume.
| String |
Group Options
(Optional) | Specifies how the input features will be grouped; each group will be enclosed with one output multipatch.
| String |
Group Field(s) (Optional) | The field or fields in the input features that will be used to group features when List is specified as Group Option. At least one group field is required for the List option. All features that have the same value in the specified field or fields will be treated as a group. | Field |
Add geometry characteristics as attributes to output
(Optional) | Specifies whether each feature will be attributed with the volume and surface area of the minimum bounding volume.
| Boolean |
Summary
Creates multipatch features that represent the volume of space occupied by a set of 3D features.
Illustration
Usage
The Sphere or Envelope method (geometry_type="SPHERE" or geometry_type = "ENVELOPE" in Python) provides a quick representation of the volume of space occupied by a set of 3D features.
The Convex hull option (geometry_type="CONVEX_HULL" in Python) provides greater detail than the Sphere or Envelope method but will not capture local depressions in the input features.
The Concave hull option (geometry_type="CONCAVE_HULL" in Python) provides the greatest amount of detail about the shape of the bounding volume but is computationally heavy and should not be used with large collections of input data.
When the resulting minimum bounding volume represents groups of input features, the fields used to separate the input will be added to the resulting multipatch. If the geometry characteristics are included in the minimum bounding volume, the following fields will be added to the output features:
- MBV_Area—The total surface area of the minimum bounding volume
- MBV_Volume—The total volume of the space contained by the multipatch feature
Parameters
arcpy.ddd.MinimumBoundingVolume(in_features, z_value, out_feature_class, {geometry_type}, {group}, {group_field}, {mbv_fields})
Name | Explanation | Data Type |
in_features | The LAS dataset or 3D features whose minimum bounding volume will be evaluated. | LAS Dataset Layer; Feature Layer |
z_value | The source of z-values for the input data. | Field |
out_feature_class | The feature class that will be produced. | Feature Class |
geometry_type (Optional) | Specifies the method that will be used to determine the geometry of the minimum bounding volume.
| String |
group (Optional) | Specifies how the input features will be grouped; each group will be enclosed with one output multipatch.
| String |
group_field [group_field,...] (Optional) | The field or fields in the input features that will be used to group features when LIST is specified as group_option. At least one group field is required for the LIST option. All features that have the same value in the specified field or fields will be treated as a group. | Field |
mbv_fields (Optional) | Specifies whether geometric attributes will be added to the output multipatch feature class.
| Boolean |
Code sample
The following sample demonstrates the use of this tool in the Python window.
arcpy.env.workspace = 'C:/data'
arcpy.ddd.MinimumBoundingVolume('tree_canopy.shp', 'Shape.Z',
'canopy_volume.shp', 'CONCAVE_HULL',
group='List', group_field='Season'
mbv_fields='MBV_FIELDS')
The following sample demonstrates the use of this tool in a stand-alone Python script.
'''****************************************************************************
Name: Detect Periods of Activity
Description:
****************************************************************************'''
# Import system modules
import arcpy
import tempfile
import math
in_features = arcpy.GetParameterAsText(0)
out_volume = arcpy.GetParameterAsText(1)
grouping_field = arcpy.GetParameterAsText(2)
try:
arcpy.MinimumBoundingVolume_3d(in_features, 'Shape.Z', out_volume,
'CONCAVE_HULL','LIST', group_field)
except arcpy.ExecuteError:
print(arcpy.GetMessages())