CEE 8813 · GIS Lecture 4 · Buffer and spatial join

Buffer Lab

Which crashes are curve-related? The lab answers with a 150 ft buffer around every horizontal curve on the state routes of GDOT District 7, a Select By Location and a Spatial Join. Run the same three tools here on the lab's curves and a 480-crash subset of its crash file, then change the distance, the units and the end type, and see how much the answer moves.

District 7 · curves, buffers and crashes

Curve Buffer State route K A B O Outside the buffer In 2+ buffers

Drag to pan, scroll or pinch to zoom, click a crash or a curve to read its attributes. Severity: K fatal, A serious injury, B visible injury, O no visible injury.

The lab workflow in ArcGIS Pro

Buffer features–
Crashes selected–
On the curve's route–
Joined rows–

Step 2 · Buffer (Analysis Tools)

Input FeaturesD7_Curve_Inventory_GT
Output Feature Class
25 ft1,000 ft

Side TypeFull
End Type
Method
Dissolve Type

Side Type Full buffers both sides of each curve. Left and Right make one-sided buffers of lines, which the lab does not need.

How many crashes are “curve-related”?

Round ends Flat ends Same route ID only (current end type)

Counts use exact point-to-line distances in State Plane feet with the Planar method. Click or drag on the chart to set the buffer distance.

What you are seeing

Try this in class

  1. Leave the buffer at 150 ft, Round, and click through Steps 1 to 4. Write down how many crashes are selected and how many of them are on the same route as the curve.
  2. In Step 2, change the Linear Unit to Meters without touching the 150. How many crashes are selected now? Then choose Decimal Degrees and read the warning.
  3. Press Cluster on the map and flip End Type between Round and Flat. Which crashes drop out, and where are they relative to the ends of the curves?
  4. Drag across the chart from 25 ft to 1,000 ft. Where does the gap between all crashes and same-route crashes open up? Click a few of the crashes in the gap on the map and read their road names.
  5. In Step 4, find a shaded row. Compare Join one to one with Intersect, then Closest, then Join one to many. Which curve's radius does that crash get each time?
  6. Set Dissolve Type to Dissolve all and open Step 4. Why are the curve fields empty, and why did the Step 3 count not change?

How this page decides

Inside a buffer
A crash is inside a round-ended buffer when its straight-line distance to the curve's polyline, in State Plane feet, is no more than the buffer distance. That is the same test as asking whether ArcGIS Pro's round-ended buffer polygon contains the crash.
Flat ends
A flat-ended buffer is cut square at the curve's first and last vertex (its PC and PT). The joints in between stay round, as they do in ArcGIS Pro.
Same route
The crash's Inventory_ route ID and the curve's g_rcd agree in their first 10 characters: county, route type, route number and suffix. The last letter (I or D, the side of a divided road) is ignored. GDOT route IDs are county-based, so a road that crosses a county line changes its ID there; a crash coded to the Fulton piece of a road is not matched to a curve on its DeKalb piece.
First and closest
For a one-to-one join this page takes the first match as the lowest ObjectID among the buffers that contain the crash, which is what ArcGIS Pro's First merge rule gives in practice. Closest uses the curves themselves and their exact distance.

Back to Lecture 4: spatial selection, spatial join, buffer

Slides 7 to 11 and exercise 2 of the 2024 lab (slides 16 to 19) run these steps on the same files. The lab does them in ArcGIS Pro.

BufferSlide 7

Create a buffer on the curves to find curve-related crashes. A buffer is a polygon that holds everything within a set distance of a feature.

ArcGIS Pro: Analysis › Tools › Buffer. The tool makes new polygons; it does not select anything by itself.

150 ft, roundSlides 8–9 · lab slides 16–17

The exercise asks for a 150 ft round buffer on D7_Curve_Inventory_GT. Round ends keep a half circle past each end of the curve.

Check: the curve layer is in State Plane feet, so 150 US Survey Feet is 150 ft on the ground.

Select By LocationSlide 10 · lab slide 18

Select the crashes that intersect the buffer. Slide 3 uses the same tool to select the collisions in Fulton County.

ArcMap's dialog called this relationship “intersect the source layer feature”; ArcGIS Pro calls it Intersect.

Spatial JoinSlide 11 · lab slide 19

Join the curve attributes to each selected crash. In the six cases on slide 6 this is the simple join: which buffer is each crash inside, or which curve is closest to it and how far.

Spatial Join writes a new feature class with Join_Count, TARGET_FID and the curve fields, so the stored crash table never changes.

Pitfalls students hit

    A buffer decides by distance alone. Crashes carry a GDOT route ID and milepoint too, so the Linear Referencing Lab asks the same question a second way: same route, and a milepoint between the curve's start and end. Comparing the two answers is a good habit for any safety study.