Dice (Data Management)


Subdivides a feature into smaller features based on a specified vertex limit. This tool is intended as a way to subdivide extremely large features that cause issues with drawing, analysis, editing, and/or performance but are difficult to split up with standard editing and geoprocessing tools. This tool should not be used in any cases other than those where tools are failing to complete successfully due to the size of features.


  • The input can be a multipoint, line, or polygon feature layer or feature class.

  • No default vertex limit is provided. The number of vertices in a single feature that may cause issues due to being excessively large is dependent on your hardware configuration.

  • Features that do not exceed the vertex limit will be written to the output feature class as is.

  • Attribute values from the input feature classes will be carried across to the output feature class unless the input is a layer or layers created by the Make Feature Layer or Make Table View tool and the field's Use Ratio Policy is checked. If a feature in an overlay operation is split, the attributes of resulting features are a ratio of the original feature's value. The ratio is based on the ratio in which the original geometry is divided. If the geometry is divided equally, each new feature's attribute gets one-half of the value of the original object's attribute. Use Ratio Policy only applies to numeric field types. Geoprocessing tools do not honor geodatabase feature class or table field split policies.

  • The splitting of polygons may create new vertices.

  • Polygon components (think of this as the outer boundary of a part, and all the holes and other parts that it contains) will be grouped together in the output.

  • Lines are only diced at a vertex.

  • For line and polygon feature classes the number of vertices specified in the Vertex Limit parameter is not always the vertex count you get in the output after a feature has been diced.

  • This tool does not use the Output Coordinate System environment. This means there will be no projecting of features prior to processing. You always end up with the same coordinate system as the input. Any projecting should be done after the Dice tool has been run. This is done because projecting the problem feature may cause a system failure if it exceeds system resources.


arcpy.management.Dice(in_features, out_feature_class, vertex_limit)
ParameterExplanationData Type

The input feature class or feature layer. The geometry type must be multipoint, line, or polygon.

Feature Layer

The output feature class of diced features.

Feature Class

Features with geometries that exceed this vertex limit will be subdivided before being written to the output feature class.


Code sample

Dice example (Python window)

The following Python window script demonstrates how to use the Dice function in immediate mode.

import arcpy
from arcpy import env
env.workspace = "C:/data/gdb/thailand.gdb"
arcpy.Dice_management('thailandBoundary', 'thai_Dice_1mill', 1000000)
Dice example 2 (Stand-alone script)

The following stand-alone script is a simple example of how to apply the Dice function in scripting.

# Dice.py
# Description: Simple example showing use of Dice tool

# Import system modules
import arcpy
from arcpy import env
env.workspace = "C:/data/gdb/canada.gdb"

# Set variables
fcName = "coastline"
outFcName = "coastline_Dice_750k"
vertLimit = 750000

#Process: Use the Dice function
arcpy.Dice_management (fcName, outFcName, vertLimit)

Licensing information

  • Basic: No
  • Standard: No
  • Advanced: Yes

Related topics