Generate Weighted Voronoi (Spatial Analyst Tools)
Summary
Creates spatial influence zones from point features by assigning locations to sites based on distance along or distance modified by the site-specific weights.
Use this tool to model capacity, attractiveness, or dominance, producing more realistic service areas, accessibility surfaces, and competitive regions.
Illustration

Usage
This tool is useful for modeling zones of influence where size matters. For example, it could be used to delineate retail trade areas (weighting stores by square footage) to see how large, big box stores influence the market of smaller nearby shops.
Input features define the origin locations from which Voronoi regions are generated. Each point represents a site that competes for spatial influence according to distance, and optionally, site-specific attributes. Their location, distribution, and attributes directly controls the size, shape, and meaning of the resulting Voronoi regions.
The Feature ID (
feature_idin Python) parameter uniquely identifies each input site and is propagated to all outputs. In raster outputs, the feature ID values encode site ownership at the cell level and allows results to be joined back to the input points. In polygon outputs, it indicates which site generated each Voronoi region.The Output Voronoi Raster (
out_voronoi_rasterin Python) parameter value is an allocation raster where each cell value corresponds to the feature ID of the most influential site. The output is recommended for raster-based workflows such as zonal statistics, cost surface integration, or map algebra. The number of cells within each zone is reported in theCountfield of the output attribute table.The Output Voronoi Polygons (
out_voronoi_polygonsin Python) parameter value represents discrete influence zones created from the Voronoi raster. Each polygon contains attributes describing the generating site, the Voronoi type used, and optional diagnostics such as area or centroid distance. This output is well-suited for overlay, summarization, and cartographic display.The Output Distance Raster (
out_distance_rasterin Python) parameter value optionally stores the minimized distance or calculated influence score used during allocation. It represents how far (or how costly) each location is from its assigned site. This is useful for accessibility indices-based workflows or gradient visualization.The Voronoi Type (
voronoi_typein Python) parameter determines how distance and weight are combined to determine influence. Each voronoi type represents a different interpretation of how a site competes for space.In the
Unweighted Voronoicalculation, influence is determined only based on distance. All sites are assumed to have equal capacity and importance, and each location is assigned to the nearest site based on the selected distance method. Resulting regions are bounded by straight-line bisectors and represent pure proximity. This option is most appropriate when no site attribute should bias the result or when establishing a baseline for comparison with weighted outputs.In
Additive Weighted Voronoicalculation, a site's weight is subtracted from its distance. Higher weight sites therefore behave as if they are closer to all locations, expanding their influence zones at the expense of lower-weight sites. This formulation is well suited for modeling capacity-driven influence.In
Multiplicative Weighted Voronoicalculation, distance is multiplied by the site's weight. In this case, higher weights increase the effective distance, often resulting in smaller influence zones. This formulation is useful when weights represent impedance or resistance, rather than capacity. Multiplicative weighting may produce nonconvex or fragmented regions.Power Weighted Voronoitype uses squared distance minus squared weight. This formulation produces linear boundaries similar to unweighted Voronoi but shifted according to weight magnitude. Power diagrams are numerically stable and computationally efficient, making them well suited for large datasets or repeated analyses. This type is often preferred when weights represent a radius-like influence or when consistent polygon topology is important.With the
Custom expressionoption, you can define how the influence is incorporated in the distance function. It is intended to offer controls over the distance function distance beyond standard weighted formulations. This option supports advanced modeling scenarios such as anisotropic distance, domain-specific penalties, or hybrid influence functions.To control the order of the nearest sites considered in calculations, use the Voronoi Order (
voronoi_orderin Python) parameter.By default, the tool uses order = 1, which produces standard Voronoi diagrams where each location is assigned to its single nearest (or most influential) site.
Setting the order to 2 considers the two nearest sites for each location, conceptually producing second order Voronoi regions that represent areas of shared influence between pairs of sites.
Maximum order supported is 3, where each location considers its three nearest sites, resulting in third order Voronoi regions that capture more complex interactions among triplets of sites.
The Voronoi Combination (
voronoi_combinationin Python) parameter determines whether lower order results are included alongside the specified order when generating Voronoi regions. When enabled, the output will report results for the specified order as well as all lower orders. This option affects only the reporting and aggregation of Voronoi orders and does not alter the influence functions or distance calculations.The Distance Unit (
distance_unitin Python) parameter stabilizes the calculation regardless of the projection used. By explicitly setting a known unit such as kilometers, the tool converts the map geometry into that unit before applying weights. This ensures that the custom expression (such as: distance * (weight + coefficient)) remains mathematically valid regardless of whether the map is in meters, feet, or decimal degrees.Use the Weight Field (
weight_fieldin Python) parameter to specify the site attribute that modifies spatial influence according to the selected Voronoi Type option. The tool applies the weight values differently based on the Voronoi Type, allowing you to model various real-world scenarios such as capacity, attractiveness, or resistance.The Coefficient (k) (
coef_fieldin Python) parameter operates as a scalar that can be used to control the strength or shape of influence in weighted Voronoi calculations. It can be applied to distance, weight, or other available functions and constants to control sensitivity and functional behavior.See Analysis environments and Spatial Analyst for additional details on the geoprocessing environments that apply to this tool.
References:
Boots, B. N. (1980). "Weighting thiessen polygons". Economic Geography, 56(3), 248-259.
Lee, D. T., & Drysdale, III, R. L. (1981). "Generalization of Voronoi diagrams in the plane". SIAM Journal on Computing, 10(1), 73-87.
Okabe, A., Boots, B., Sugihara, K., & Chiu, S. N. (2009). "Spatial tessellations: concepts and applications of Voronoi diagrams". Wiley
Parameters
| Label | Explanation | Data type |
|---|---|---|
|
Input Features |
Point features that represent the spatial sources of influence from which Voronoi regions will be calculated and distance calculations originate. |
Feature Layer |
|
Feature ID |
A unique identifier that preserves the one-to-one relationship between each input site and its corresponding Voronoi regions or raster allocations. |
Field |
|
Output Voronoi Raster |
The output raster dataset that will encode site allocation, where each cell value corresponds to the most influential site identifier. |
Raster Layer |
|
Output Voronoi Polygons |
The output polygon feature class representing discrete spatial influence zones associated with individual sites or site combinations. |
Feature Layer |
|
Output Distance Raster (Optional) |
The output raster dataset storing the minimized distance or calculated influence score used to assign each location to a site. |
Raster Layer |
|
Cell Size (Optional) |
The cell size for the output raster datasets. |
Double |
|
Voronoi Type (Optional) |
The mathematical form that will be used to evaluate spatial influence and assign locations to Voronoi regions based on distance alone or distance modified by site attributes. In each formula, d represents distance and w represents weight.
|
String |
|
Custom Expression (Optional) |
Define a mathematical expression that will specify how distance and site weights interact to determine spatial influence. This parameter is only applicable when the Voronoi Type parameter value is set to Custom. The influence of distance (d), site weight (w), and coefficient (k) can be modified to define how they interact to determine spatial influence and region boundaries. Only d, w, and k variables are available to use in custom expressions. Allowed operators: + , -, * , / , ^ , () Allowed functions: sqrt(), exp(), abs(), log() Available constants: pi, e |
String |
|
Voronoi Order (Optional) |
Defines which nearest sites will be considered. It does not merge output Voronoi regions from different orders. By default, the tool uses order = 1. For order = 1, each location is assigned to its single nearest (or most influential) site. This produces the standard (first-order) Voronoi diagram. For order = 2, each location considers its two nearest sites. Conceptually, this produces second order Voronoi regions. Maximum order supported is 3, where each location considers its three nearest sites. This produces third order Voronoi regions. |
Long |
|
Voronoi Combination (Optional) |
This option determines whether lower order results are included alongside the specified order. This parameter does not blend influence functions and does not change distance calculations. It controls reporting and aggregation of Voronoi orders. This only works when Voronoi order is 2 or 3.
|
Boolean |
|
Distance Units (Optional) |
The linear unit that wil be used to express distance values in calculations and output distance fields. The distance unit defines how distance values are scaled and reported. By default, Cells will be used.
|
String |
|
Distance Method (Optional) |
The method that will be used to calculate distance values.
|
String |
|
Weight Field (w) (Optional) |
The field that contains site-specific weights that modify spatial influence according to the selected Voronoi Type parameter value. |
Field |
|
Coefficient Field (k) (Optional) |
The field containing site-specific coefficients that scale the influence of weights in custom Voronoi expressions. |
Field |
Environments
Auto Commit, Current Workspace, Extent, Geographic Transformations, Output CONFIG Keyword, Output Coordinate System, Scratch Workspace, Cell Size, Cell Size Projection Method, Mask, Pyramid, Compression, Tile Size, Snap Raster, Parallel Processing Factor
Licensing information
- Basic: Requires Spatial Analyst
- Standard: Requires Spatial Analyst
- Advanced: Requires Spatial Analyst