Summary
Calculates the volume and surface area between a polygon of a constant height and a surface.
Usage
Calculations will only be made for the portions of the input polygons and the TIN or terrain dataset surface that overlap.
Each polygon boundary is first intersected with the interpolation zone of the surface. This identifies the area in common between the two. Then, volume and surface area are calculated for all triangles and portions thereof that fall within the intersected polygon.
The volume represents the region between the surface and the space above or below the polygon features based on the selection made in the Reference Plane parameter:
- Calculate above the plane—Volume is calculated between the plane and the underside of the surface.
- Calculate below the plane—Volume is calculated between the plane and the topside of the surface. The surface area for the same portion of the surface is also calculated.
Syntax
arcpy.3d.PolygonVolume(in_surface, in_feature_class, in_height_field, {reference_plane}, {out_volume_field}, {surface_area_field}, {pyramid_level_resolution})
Parameter | Explanation | Data Type |
in_surface | The TIN, terrain, or LAS dataset surface to process. | LAS Dataset Layer; Terrain Layer; TIN Layer |
in_feature_class | The polygon features that define the region being processed. | Feature Layer |
in_height_field | The field in the polygon's attribute table that defines the height of the reference plane used in determining volumetric calculations. | String |
reference_plane (Optional) | The direction from the reference plane that volume and surface area will be calculated.
| String |
out_volume_field (Optional) | Specifies the name of the field that will contain volumetric calculations. The default is Volume. | String |
surface_area_field (Optional) | Specifies the name of the field that will contain the surface area calculations. The default is SArea. | String |
pyramid_level_resolution (Optional) | The z-tolerance or window-size resolution of the terrain pyramid level that will be used by this tool. The default is 0, or full resolution. | Double |
Derived Output
Name | Explanation | Data Type |
output_feature_class | The output features that will be updated. | Feature Layer |
Code sample
The following sample demonstrates the use of this tool in the Python window.
arcpy.env.workspace = "C:/data"
arcpy.PolygonVolume_3d("sample.gdb/featuredataset/terrain", "cut_off_plane.shp",
in_height_field="Z", reference_plane="ABOVE",
pyramid_level_resolution="5")
The following sample demonstrates the use of this tool in a stand-alone Python script.
'''****************************************************************************
Name: PolygonVolume Example
Description: This script demonstrates how to use the
PolygonVolume tool.
****************************************************************************'''
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set Local Variables
inSurface = "sample.gdb/featuredataset/terrain"
inPoly = "floodplain_100.shp"
zField = "Height"
refPlane = "BELOW"
volFld = "Volume"
sAreaFld = "SArea"
#Execute PolygonVolume
arcpy.PolygonVolume_3d(inSurface, inPoly, zField, refPlane, volFld, sAreaFld)
Environments
Licensing information
- Basic: Requires 3D Analyst
- Standard: Requires 3D Analyst
- Advanced: Requires 3D Analyst