Patch Analysis

Corridor Designer Tools · Evaluate Corridors · geoprocessing tool · by Jeff Jenness
Works at every ArcGIS Pro license level

Summary

Finds the route through a corridor polygon that minimizes the patch-to-patch gaps an animal must cross moving between termini, using patches of good habitat as stepping stones — and reports the critical gap, the largest expanse of unsuitable habitat the species must cross in one push, for every pair of termini. Presumably you know the largest gap the species can cross (from foraging movements or juvenile dispersal); this tool tells you the largest gap the corridor will make it cross. Distances are exact shortest paths inside the corridor polygon, reported as geodesic meters. A modernized port of the CorridorDesigner Evaluation Tools' Patch Analysis; no Spatial Analyst needed.

Learn more About Corridor Design covers why a corridor is evaluated on the longest gap between habitat patches rather than on its length. Metric 1 of the Corridor Evaluation Tutorial runs this tool on the black bear corridor and its alternative, with the tutorial data (41 MB) available to download so you can follow along.

Why the longest gap, not the total distance

The route is the path between termini through a minimum spanning tree of the patch network — a variation on Kruskal's algorithm (O'Rourke 1998). A minimum spanning tree minimizes the longest edge on the route, which is the biological question: the animal rests and refuels in the patches, so what limits it is the single worst crossing, not the total distance walked. If no patches are supplied (or none qualify), the tool simply reports the minimum distance between termini while staying inside the corridor.

Whenever a straight connector between two patches would leave the corridor, the tool computes the exact shortest path through a visibility graph of the corridor polygon: true straight-line hops around the corridor's own corners, with no raster approximation, and it runs in seconds even on a real corridor.

The output

A polyline feature class of the gap crossings, one row per segment, with From_Name and To_Name (the terminus or patch at each end), Length_m (geodesic meters), Rank (1 = the longest crossing), and which termini pairs each segment serves — every number in the messages report is also here in the attribute table, ready to summarize or map without re-reading the report. Restrict the stepping stones with the patch selection expression (for example, only population-sized patches from Create Habitat Patches: Class_Name = 'Population patch') — or leave it blank to use every patch feature; there is no need to build a selection that matches everything.

A tour of the dialog

The example is Metric 1 of the Corridor Evaluation Tutorial: the 2% black bear corridor, its termini, and its habitat patches.

The Corridor Designer Tools gallery open on the ribbon, with the Patch Analysis button, in the Evaluate Corridors row, outlined in blue
Where to find it: Patch Analysis is in the Evaluate Corridors row of the Corridor Designer Tools gallery, in the Corridor Designer Tools group of the Wildlife and Forestry tab.
The Patch Analysis geoprocessing pane: the 2 percent black bear corridor, the black bear termini, the Block name field, the black bear patches, and a three-clause query builder selecting Breeding patch, Population patch and Too small, output named Black_Bear_Route_through_Patches
The corridor polygon, the termini feature class with its block field, the patch feature class, and an optional query that limits which patches count as stepping stones. The three clauses here happen to select every patch class, which is what an empty expression does more simply.
A black bear corridor with a dark red route line running from inside a termini polygon within the Tumacacori wildland block, through the breeding and population patches, to the Santa Rita block
The minimax route through the stepping-stone patches. The western end terminates inside the termini polygon within the Tumacacori block — the route connects two real endpoints, not just corridor edges. The tutorial walks through the progress display and the full report as well.

ModelBuilder

A ModelBuilder diagram: Black Bear 2% Corridor, Black_Bear_HSI_Termini and Black_Bear_Patches feeding into Patch Analysis, producing Black_Bear_Route_through_Patches
Corridor, termini and patches in; the gap-crossing polylines out.

Parameters

LabelExplanationData type
Corridor polygonRequired · corridor The corridor being evaluated. Feature Layer
Termini polygonsRequired · termini The wildland blocks / corridor endpoints. Feature Layer
Terminus name fieldOptional · name_field Features sharing a value are treated as one terminus. Field
Habitat patch polygonsOptional · patches The stepping stones; omit to measure the bare terminus-to-terminus distance. Feature Layer
Patch selection expressionOptional · patch_where Restrict to patches that matter (e.g. only population-sized). SQL Expression
Output connector feature classRequired · out_fc The gap crossings, with endpoints, lengths, and ranks. Feature Class
Simplification toleranceOptional · simplify_tolerance Corridor boundary simplification in meters (blank = automatic; 0 = none). Double

Python

import arcpy
arcpy.ImportToolbox(r"C:\path\to\JennessEnterprisesTools.pyt")  # your install path
arcpy.jenness.PatchAnalysis(
    corridor=r"D:\corr.gdb\bear_2pct_corridor",
    termini=r"D:\corr.gdb\Wildland_Blocks",
    patches=r"D:\corr.gdb\blackbear_patches60",
    patch_where="Class >= 2",
    out_fc=r"D:\corr.gdb\bear_gap_crossings")

Recommended citation

Jenness, J., D. Majka and P. Beier. 2026. Patch Analysis. Wildlife and Forestry Tools add-in for ArcGIS Pro, v. 1.99 (September 2026). Jenness Enterprises. Available at: https://github.com/JeffJenness/Wildlife_Tools.

Credits and references

By Jeff Jenness, Jenness Enterprises (www.jennessent.com), ported from the CorridorDesigner Evaluation Tools by Jenness, Majka and Beier.

Licensing information

Works at every ArcGIS Pro license level (Basic, Standard, Advanced). No extension licenses are required.