Skip to content

11. Intersect

Goal: Use Intersect to find where two or more layers overlap and carry the attributes from all input layers into the output.


What intersect does

Layer A: parcels (10,000)         Layer B: floodplain (1)
                                  ┌────────┐
[ ▭ ▭ ▭ ▭ ▭ ▭ ▭ ▭ ]              │        │
[ ▭ ▭ ▭ ▭ ▭ ▭ ▭ ▭ ]      →        │        │     →    Only the parcels (or
[ ▭ ▭ ▭ ▭ ▭ ▭ ▭ ▭ ]              └────────┘          parts of parcels) inside
                                                      the floodplain, **with**
                                                      both parcel + flood attrs

Tool location

Geoprocessing → Intersect (Analysis Tools).

Parameters

Parameter Notes
Input Features Two or more layers
Output Feature Class Where to save
Join Attributes ALL (default), NO_FID, ONLY_FID
XY Tolerance Snapping
Output Type INPUT (geometry of the lowest dimension), LINE, POINT

Output geometry

The output gets the geometry of the lowest dimension input by default:

  • Polygon ∩ Polygon → polygon
  • Polygon ∩ Line → line
  • Line ∩ Line → point (or line, depending on overlap)

You can override with Output Type.

Clip vs Intersect — pick one

Question Tool
"I just want to crop to my study area" Clip
"I want to tag features with the polygon they fall in" Intersect (or Spatial Join)
"What % of each parcel is in the floodplain?" Intersect, then calculate area

Classic patterns

Floodplain analysis

  1. Intersect parcels with floodplain.
  2. Calculate area of each piece (shape.area).
  3. Compare to total parcel area → % of parcel in flood zone.

Land cover by zoning

  1. Intersect zoning polygons with land cover.
  2. Each output piece has both zone code and land cover class.
  3. Group by zone → see what percentage of "Residential" is forest.

Streets in floodplain

  1. Intersect streets (lines) with floodplain (polygons).
  2. Output is line segments only inside the floodplain.
  3. Sum length → total at-risk road miles.

Avoid attribute collisions

If both inputs have a NAME field, the second one will be renamed NAME_1 in the output. Check the field map before using the result.

Performance

Intersect is expensive for large layers. Speed it up by:

  1. Pre-filtering inputs (Select by Attributes / Definition Query).
  2. Clipping inputs to a coarse study area first.
  3. Indexing the inputs (Add Spatial Index).

Practice

Parcel risk score

  1. Add: parcels, FEMA flood zones (polygons).
  2. Project both.
  3. Intersect them.
  4. Calculate Geometry → area in square feet.
  5. Calculate field: flood_pct = (area_in_zone / parcel_total_area) * 100.
  6. Symbolize parcels by flood_pct.

→ Next: Dissolve.