Polygon Volume (3D Analyst)

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})
ParameterExplanationData 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.

  • ABOVEVolume and surface area are calculated above the reference plane height of the polygons.
  • BELOWVolume and surface area are calculated below the reference plane height of the polygons. This is the default.
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

NameExplanationData Type
output_feature_class

The output features that will be updated.

Feature Layer

Code sample

PolygonVolume example 1 (Python window)

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")
PolygonVolume example 2 (stand-alone script)

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)

Licensing information

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

Related topics