Identify Termini Polygons

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

Summary

Finds the corridor termini within each Wildland Block: the concentrations of a quality surface — a species habitat-suitability surface, a Land Facet Density raster, or a diversity surface — that the least-cost corridors will run between. A corridor does not run from the edge of one block to the edge of the other; it runs between the concentrations of good ground inside the blocks, and if a block held no meaningful concentration there would be nothing to connect. Cells above a threshold are aggregated into regions (edge or corner contact counts as connected), and each block keeps the regions at least a given percentage (default 50%) of the size of its own largest region. A modernized, generalized port of the Land Facet Corridor Designer's tool of the same name; no Spatial Analyst needed.

Learn more About Corridor Design covers what makes a meaningful start and end point for a corridor and why the corridor needs room to run; About Land Facet Corridors covers the same question for facets. Step 7 of the Corridor Design Tutorial and Step 4 of the Land Facet Tutorial both run this tool, with the tutorial data (41 MB) available to download so you can follow along.

The analysis surface

This tool serves both corridor workflows. Its traditional use — the one CorridorDesigner was built for — is a habitat suitability surface, where the median rule below finds the best half of each block's own ground. The Land Facet chain uses the same mechanism two ways: fed a multi-band Land Facet Density raster, the tool reads the band-to-facet mapping from the raster's own records, analyzes every facet in one run, and labels each terminus with its facet; fed a diversity surface (from Diversity Indices), it produces the termini for the facet-interspersion corridor. Any single-band raster where high means good works the same way.

Whatever the input, the output is the same thing: one polygon feature class of termini. Run on a suitability or diversity surface, that feature class holds one set of termini, normally one polygon per Wildland Block, all under a single category. Run on a multi-band land facet density raster, the single feature class holds the termini for every band, a set of polygons per facet, each stamped with its facet's name in the Category field. Eighteen facets give one feature class holding eighteen sets of termini, not eighteen feature classes, and Least-Cost Corridor reads them all from this single feature class.

The three threshold rules

Fixed value keeps cells strictly above the density threshold you give — the manual recommends 0 for density surfaces, meaning any cell with any density at all is eligible. Median within each Wildland Block implements the manual's diversity rule exactly: each block's threshold is the median of its own cells, computed per block automatically — the published “highest half of each block” rule. Treat entire block polygons as termini skips thresholding altogether — each Wildland Block becomes its own terminus, a good default when no patch information is available. The threshold each region had to beat is written to its Threshold field. When entire blocks are used as termini no threshold is applied, and the field holds −9999 to say so.

The output schema

One polygon feature class with Category, CategoryID, and Block fields — blocks are numbered 1, 2, 3… in the order the features appear in the block layer (not by ObjectID). This is the required input of the Least-Cost Corridor tool, which builds its block-pair picker from exactly these fields. Any number of Wildland Block features is allowed.

A tour of the dialog

The tool serves both workflows, and the two dialogs below show the difference. On the left, the Corridor Design Tutorial runs it on a single-band habitat suitability model with a fixed threshold of 60, and gets one terminus per block. On the right, the Land Facet Tutorial runs it on the 18-band density raster with the threshold at zero, meaning any density at all, and gets termini for every facet in one pass.

The Corridor Designer Tools gallery open on the ribbon, with the Identify Termini Polygons button, in the Build and Modify Corridors row, outlined in blue
Where to find it: Identify Termini Polygons is in the Build and Modify Corridors row of the Corridor Designer Tools gallery, in the Corridor Designer Tools group of the Wildlife and Forestry tab.
Two Identify Termini Polygons geoprocessing panes side by side. Left, a species run: the black bear habitat suitability index as the analysis surface, Wildland Blocks, output Black_Bear_HSI_Termini, threshold rule Fixed value, threshold value 60, relative size threshold 50 percent. Right, a land facet run: analysis surface Land_Facet_Cluster_Density, Wildland Blocks, output Land_Facet_Cluster_Density_Termini, threshold rule Fixed value, threshold value 0, relative size threshold 50 percent, and a Categories or bands to analyze list left empty
Left, a species run: one habitat model, a fixed threshold of 60, one terminus per block. Right, a land facet run: the multi-band density raster, threshold zero, every band. The only difference in the dialog is the extra Categories / bands to analyze list that appears for a multi-band input; the tool reads the facet labels from the raster's record, so the output is already categorized.
Termini polygons for all eighteen facets over a hillshade, one color per facet, filling much of both wildland blocks: the Tumacacori block dominated by steep-slope and flat-gentle-slope termini in purple and orange, the Santa Rita block by canyon-bottom, steep-slope and ridgetop termini in blues, red and green, with the block outlines in yellow
The land facet result: 101 termini polygons for 18 facets, colored by facet. Many facets have several concentrations in a block that pass the 50% size test, and the polygons of different facets overlap freely, so the map is crowded; Least-Cost Corridor merges each facet's termini within a block, so the number of polygons does not matter.

The third threshold rule, the median within each Wildland Block, is for surfaces where no fixed number makes a sensible cut. Some surfaces have no natural zero at all: a corridor built on elevation, say, or on curvature, where a cell is only high or low relative to its neighbors and any fixed threshold would be arbitrary. There the median is the natural rule: a cell qualifies if it is above the median of its own block, so each block yields its upper half, and the size test then keeps the largest regions of that. We have not yet worked an example on that kind of data. The example below is the one the Land Facet manual prescribes the median rule for, the facet diversity surface of the interspersion corridor. Diversity does have a natural zero, a cell surrounded entirely by one facet, and the zeros show in the map as holes; the median is used here not for want of a zero but because the manual's rule is each block's more-diverse half, whatever its values happen to be.

The diversity termini over the Shannon diversity surface: one large brown terminus polygon filling most of the Tumacacori block and another filling the southern half of the Santa Rita block, each riddled with small holes where diversity falls below the block median, with the wildland blocks outlined in yellow
The median rule on the facet diversity surface: one terminus per block, each block's above-median ground, with holes where a single facet dominates.

The tool holds the whole raster in memory at once, so the memory it needs grows with the number of cells. On most rasters that is no concern. On a very large one the tool may need more memory than your computer has free, and then one of two things happens: Windows starts using the disk as overflow memory and the tool slows to a crawl, or the tool stops with an out-of-memory error. There is no fixed limit; it depends on how much memory your computer has free. If a raster is too large, clip it to the area you need first.

ModelBuilder

A ModelBuilder diagram: Land_Facet_Cluster_Density and Wildland Blocks feeding Identify Termini Polygons, producing Land_Facet_Cluster_Density_Termini
The analysis surface and the blocks in; the termini out, ready for Least-Cost Corridor. A species run looks the same with the habitat model in place of the density raster.

Parameters

LabelExplanationData type
Analysis surfaceRequired · in_raster Density, diversity, or habitat-suitability raster; multi-band density rasters process every facet in one run. Raster Layer
Wildland Block polygonsRequired · blocks Each feature is one block, numbered in feature order. Feature Layer
Output termini feature classRequired · out_fc Termini polygons with Category / CategoryID / Block / Threshold fields. Feature Class
Threshold ruleRequired · threshold_mode Fixed value, per-block median, or entire blocks as termini. String
Threshold valueOptional · threshold_value For the fixed rule: keep cells above this. Double
Relative size thresholdOptional · relative_size_pct Keep regions at least this % of each block's largest region (default 50). Double
Categories / bands to analyzeOptional · facets Restrict a multi-band run to chosen facets (default all). String

Python

import arcpy
arcpy.ImportToolbox(r"C:\path\to\JennessEnterprisesTools.pyt")  # your install path
arcpy.jenness.IdentifyTerminiPolygons(
    in_raster=r"D:\corr.gdb\Facet_Density",
    blocks="Wildland_Blocks",
    out_fc=r"D:\corr.gdb\Facet_Termini",
    threshold_mode="Fixed value",
    threshold_value=0,
    relative_size_pct=50)

Recommended citation

Jenness, J., B. Brost and P. Beier. 2026. Identify Termini Polygons. 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 Land Facet Corridor Designer by Jenness, Brost and Beier.

Licensing information

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