The OHV side of LBL

Turkey Bay

Turkey Bay sits on the eastern edge of Land Between the Lakes, in Trigg County, Kentucky. About 2,500 acres of federally-managed hardwood forest threaded with ATV trails, gravel forest-service roads, and the occasional cemetery road that’s been swallowed by canopy. It’s the only USFS-designated off-highway vehicle area in Kentucky, and one of a handful in the eastern half of the country. From the staging-area lot the spine ridge climbs west; the bay flattens east toward the Cumberland-impounded Lake Barkley.

Most maps of LBL stop at the through-road. This is what the trail network actually looks like.

Multi-directional hillshade of the Turkey Bay area in Land Between the Lakes, derived from 2-foot LiDAR. Forested ridgelines and stream valleys read clearly in shade.Trail network around Turkey Bay: USFS roads in pale gold, USFS trails in warm orange, OSM tracks and paths in lighter cream and warm yellow.↑ North→ Lake Barkley↓ Higgins Bay← LBL spine
~4 km square centered on the Turkey Bay staging area. Hillshade from 2-foot LiDAR; trails from the Forest Service road + trail layers and OSM. Hit Gravity Mode top-right and tap anywhere to make it rain there — drops trace the actual downhill path of water on this terrain, colored by which edge of the frame they exit. North up.
Forest-service roads (high comfort) USFS trails OSM tracks & paths Service / unclassified

The terrain underneath — same DEM, three readings

The hillshade above renders one interpretation of the underlying surface — a single synthetic light source plus shading. The same 60-cm bare-earth DEM admits other readings, and we keep them all baked at county scale as Cloudflare-served map tiles. Three are interesting at Turkey Bay:

Tensor style
Contours
Canopy
Animations
Cross-section

Laplacian of the surface — blue where the ground is locally convex (ridges, hilltops), gold where it's concave (valleys, hollows). Reads downhill orientation at a glance.

The county-wide tensor field is computed at z9–z15 and rendered into PMTiles raster archives. Each style is a different scalar reduction of the same five-band derivative stack (∂z/∂x, ∂z/∂y, and the three second-derivative components). Switching style doesn’t recompute anything — it just re-colors a field that was already on disk.

Toggle 10-ft contours for the underlying topo lines, then try one of the animations. Lake-rise sweeps a flood plane up from the 349-ft pool to the 644-ft ridge crests — useful for seeing which trails go under first if Lake Barkley ever backflowed into the AOI, and a fast read on which loops sit on high ground vs lake-flat. Sonar pulse is the same idea inverted: tap a trail intersection or a ridge nose and watch concentric contour rings ripple outward by elevation. Useful for “what’s the watershed reach of this spot?” reads on terrain you’re thinking about riding through.

Canopy clearance, by trail edge

Toggle Canopy in the panel and 319 trail edges across the AOI light up classified by their overhead clearance — pulled from a per-edge bake against the 0.6-m canopy-height model. Open reads >70% unobstructed sky on the trail line and a sub-2-m mean canopy: rideable for any vehicle including side-by-side trailers. Mixed is 30–70% open with 5–10-m mean canopy: UTV territory, side-by-side comfortable on most edges. Mature is <30% open, 15-m+ mean canopy: dirt-bike-only on the technical bits — closed forest, branches at face level on a stand-up rig.

The classified set is the wettest 10 named trails in the AOI (P6 pilot, ≈11% of edges). Coverage is biased toward the trails most likely to surprise you — exactly the ones an OHV planner cares about. The other 89% of edges aren’t mature-by-default; they’re unmeasured-by-default.

Cross-section, anywhere you want it

Toggle 📐 Draw line in the panel and click two points on the map. The chart that appears below the map is the elevation profile along that line, sampled 200 ways from a baked-out 1024 × 1024 grayscale raster of the AOI’s bare-earth elevation. Useful for “how steep is this trail descent really?” and for sizing up climbs you don’t want to surprise yourself with — the elevations and gain/drop come straight off the LiDAR DEM. Click anywhere again to redraw.

Named trails worth knowing

The eight longest named OHV trails inside the AOI, summarized from the bare-earth DEM and the P6 canopy pilot. Lengths are clipped to the 4-km square; gain/drop are computed per-segment and summed across the trail; max-grade ignores sub-5-meter segments to keep DEM-noise artifacts out.

MAIN TRAIL, PTS. 1-9
5.42 mi · 92 edges
elevation
364638 ft
gain / drop
+623 / −602 ft
max grade
31.0%
canopy class
17 / 92 edges
open 47% · mixed 35% · mature 18%
MAIN TRAIL FROM PT. F TO SILO
3.75 mi · 53 edges
elevation
381639 ft
gain / drop
+626 / −518 ft
max grade
38.5%
canopy class
unsampled
3201
1.55 mi · 13 edges
elevation
358502 ft
gain / drop
+582 / −465 ft
max grade
53.5%
canopy class
unsampled
MAIN TRAIL FROM POINT 3 TO 4
1.53 mi · 21 edges
elevation
359506 ft
gain / drop
+349 / −385 ft
max grade
32.6%
canopy class
unsampled
5201
1.11 mi · 22 edges
elevation
371618 ft
gain / drop
+289 / −41 ft
max grade
23.9%
canopy class
unsampled
TURKEY CREEK ROAD
1.04 mi · 3 edges
elevation
363406 ft
gain / drop
+21 / −64 ft
max grade
20.7%
canopy class
2 / 3 edges
open 50% · mixed 50% · mature 0%
3301
1.00 mi · 20 edges
elevation
363530 ft
gain / drop
+274 / −187 ft
max grade
39.4%
canopy class
unsampled
7201
0.93 mi · 20 edges
elevation
357458 ft
gain / drop
+246 / −294 ft
max grade
39.3%
canopy class
unsampled

A note on water: the AOI itself is a drained upland between two big lakes. NHD has zero stream-crossings inside the canonical 4-km square; the nearest are 1–2 km west on Woodlands Trace, where the LBL spine actually carries surface water. So rather than render meaningless empty-AOI markers, we left water-crossings out of this map. They’ll surface on the next federal-trail page that has them in-frame.

Side views from above — state-flown obliques, Feb 2024

KyFromAbove flew the entire commonwealth in 2024 with a four-camera oblique rig (forward / backward / left / right at ~45° pitch). Inside Turkey Bay we sampled the trail network and pulled one frame per cardinal at every 50-metre point along every trail edge — 14,280 selections total, drawing on 495 unique frames covering 96.8% of the network. A representative dozen, one per flight line:

Each thumbnail opens its full frame in a new tab. The full set (958 frames, 521 MB) plus the per-edge sample manifest is on Cloudflare R2 at derived/obliques/trail/; the on-trail sampling and per-edge index are what the Tracks app surfaces.

By the numbers — within 4 km of staging

~330 miTotal trail length
2,794Trail segments
644 ftHighest point in frame
349 ftLake-pool elevation

The route classes break down roughly: 83 mi of OpenStreetMap-tagged tracks (the informal-but-mapped network), 77 mi of class-3 USFS trails (groomed singletrack and old logging cuts), 58 mi of class-5 forest-service roads (Woodlands Trace and the main connectors — two-wheel-drive friendly), 36 mi of class-4 USFS trails (the more technical stuff), and a long tail of access spurs, paths, and cycleways down to a mile or less.

A few trails worth knowing by name

Woodlands Trace is the spine — a 43-mile paved scenic road running the length of LBL; you cross it more often than you ride it. Central Hardwoods Scenic Trail follows an old rail bed for 11 miles of crushed stone — popular with cyclists and gentle to ride. The North-South Trail is the through-hike: a 65-mile footpath end-to-end, of which several named segments cross the Turkey Bay AOI. The named OHV trails inside Turkey Bay itself follow a letter system — PT 1, PT F and friends — each routing a loop with its own difficulty character; the access roads (PT 1 Trail Access Road, PT F Camping Area Access) connect the loops to the staging lot. Then there are the inherited names: Matt Dillon, Billy the Kid, Dynamite House Road — old enough that nobody’s sure when the names attached.

What the gravity mode is showing

Tap anywhere on the map and a small swarm of raindrops spawns at your tap point. Each one walks the steepest-descent path of the underlying 2-foot DEM — a real downhill walk on this exact terrain — and draws a glowing line as it goes. The color is decided at spawn time by which edge of the frame the drop will eventually exit: warm gold north toward the Lake Barkley shore, amber east into Lake Barkley itself, lavender south into the Crooked Creek and Lick Creek systems, slate west toward the LBL spine and eventually Kentucky Lake.

The point isn’t topology this time — at this scale Turkey Bay’s terrain is straightforward, every drainage finding one of the two flanking lakes via local creeks. The point is being able to see the drainage. Pick a ridge, watch the rain split. Pick a creek line, watch it concentrate. This is the same kind of map a Forest Service hydrologist has had on paper for decades; doing it as a one-tap interactive on a real OHV area is just slightly more fun.

How the map was made

The hillshade is multi-directional shading of a 2-foot LiDAR-derived DEM clipped to the AOI and reprojected to web mercator. The trail network is the union of two public sources — Forest Service road and trail layers, and OSM’s community-maintained tracks and paths — both clipped to the same AOI and rendered as a single SVG overlay color-coded by source and class. The flow field underneath the gravity mode is the gradient of the DEM after a light depression-breach pass (so streamlines reach water and don’t dead-end in micro-pits from LiDAR speckle), normalized to a unit vector per pixel and encoded as a 768×768 RGBA PNG for runtime sampling. The tap-time color comes from a 192×192 destination-basin mask precomputed by integrating ~37k streamlines forward and recording each exit edge.

Same engine as the apex page just up the lake shoreline, retargeted to a different patch of the same peninsula.

← over to the LBL apex (the topographic curiosity at the north end of the peninsula)
← back to the catalog of monkey saddles

If this kind of thinking is useful for the work you’re doing, let me know →

— end —