Summary
Creates multipatch features that represent the volume of space occupied by a set of 3D features.
Usage
The Sphere or Envelope methods (geometry_type="SPHERE" or geometry_type = "ENVELOPE" in Python) provide 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 methods, 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.
Syntax
MinimumBoundingVolume_3d (in_features, {z_value}, out_feature_class, {geometry_type}, {group}, {group_field}, {mbv_fields})
Parameter | 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 (Optional) | The source of Z values for the input data. | Field |
out_feature_class | The feature class that will be produced by this tool. | Feature Class |
geometry_type (Optional) | The method 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) | Determines whether to add the geometric attributes in the output multipatch feature class or to omit them.
| Boolean |
Code sample
MinimumBoundingVolume example 1 (Python window)
The following sample demonstrates the use of this tool in the Python window.
import arcpy
from arcpy import env
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')
MinimumBoundingVolume example 2 (stand-alone script)
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())
Environments
Licensing information
- ArcGIS Desktop Basic: Requires 3D Analyst
- ArcGIS Desktop Standard: Requires 3D Analyst
- ArcGIS Desktop Advanced: Requires 3D Analyst