Create Thiessen Polygons (Analysis)

Available with Advanced license.

Summary

Creates Thiessen polygons from point features.

Each Thiessen polygon contains only a single point input feature. Any location within a Thiessen polygon is closer to its associated point than to any other point input feature.

Illustration

Thiessen tool illustration

Usage

  • This tool is used to divide the area covered by the input point features into Thiessen or proximal zones. These zones represent full areas where any location within the zone is closer to its associated input point than to any other input point.

  • Dive-in:

    The theoretical background for creating Thiessen polygons is as follows:

    • Where S is a set of points in coordinate or Euclidean space (x,y), for any point p in that space, there is one point of S closest to p, except where point p is equidistant to two or more points of S.
    • A single proximal polygon (Voronoi cell) is defined by all points p closest to a single point in S, that is, the total area in which all points p are closer to a given point in S than to any other point in S.
  • Thiessen proximal polygons are constructed as follows:

    • All points are triangulated into a triangulated irregular network (TIN) that meets the Delaunay criterion.
    • The perpendicular bisectors for each triangle edge are generated, forming the edges of the Thiessen polygons. The location at which the bisectors intersect determine the locations of the Thiessen polygon vertices.
  • The outside boundary of the output Thiessen polygon feature class is the extent of the point input features plus an additional 10%. If the Extent environment is set to a specific extent window, this tool tool will use the environment setting to set its outside boundary.

  • Caution:

    This tool may produce unexpected results with data in a geographic coordinate system since the Delaunay triangulation method used by the tool works best with data in a projected coordinate system.

Parameters

LabelExplanationData Type
Input Features

The point input features from which Thiessen polygons will be generated.

Feature Layer
Output Feature Class

The output feature class containing the Thiessen polygons that are generated from the point input features.

Feature Class
Output Fields
(Optional)

Specifies which fields from the input features will be transferred to the output feature class.

  • Only Feature IDOnly the FID field from the input features will be transferred to the output feature class. This is the default.
  • All fieldsAll fields from the input features will be transferred to the output feature class.
String

arcpy.analysis.CreateThiessenPolygons(in_features, out_feature_class, {fields_to_copy})
NameExplanationData Type
in_features

The point input features from which Thiessen polygons will be generated.

Feature Layer
out_feature_class

The output feature class containing the Thiessen polygons that are generated from the point input features.

Feature Class
fields_to_copy
(Optional)

Specifies which fields from the input features will be transferred to the output feature class.

  • ONLY_FIDOnly the FID field from the input features will be transferred to the output feature class. This is the default.
  • ALLAll fields from the input features will be transferred to the output feature class.
String

Code sample

CreateThiessenPolygons example 1 (Python window)

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

import arcpy
arcpy.env.workspace = "C:/data/data.gdb"
arcpy.analysis.CreateThiessenPolygons("schools", "c:/output/output.gdb/thiessen1", "ALL")
CreateThiessenPolygons example 2 (Stand-alone script)

The following stand-alone script demonstrates how to use the CreateThiessenPolygons function.


# Name: CreateThiessenPolygons_Example2.py
# Description: Creates Thiessen polygons
 
# Import system modules
import arcpy
 
# Set environment settings
arcpy.env.workspace = "C:/data/data.gdb"
 
# Set local variables
inFeatures = "schools"
outFeatureClass = "c:/output/output.gdb/thiessen1"
outFields = "ALL"
 
# Run CreateThiessenPolygons
arcpy.analysis.CreateThiessenPolygons(inFeatures, outFeatureClass, outFields)

Licensing information

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

Related topics