A lake page looks like one page. It is assembled by thirty-nine separate jobs that run in a fixed order, and each one needs the ones before it. This is what happens between a name in a federal database and a page you can plan a Saturday around.
First the water itself
We start from the National Hydrography Dataset — the federal register of every named water in the country. That gives us a name, a rough position and an identifier. Nothing else. At this stage the lake is a row, not a page.
Rivers and canals come from the same source but a different layer, because a river is a network of segments, not a single shape. Bays and lagoons come from a third.
Then the outline, and everything depends on it
The outline is the real shoreline polygon. It is the single most important step, because six later jobs are meaningless without it:
- Depth bands need a shoreline to close against. Without it the contours hang in open space and the lake stays marked "as is".
- Campground distance is measured to the bank. Without an outline it gets measured to the centre of the lake — which on a big lake is a lie by several miles.
- Ramps are matched to the water they actually serve using the outline. Without it a ramp stays on whichever lake an inspector typed into a form.
Every one of these failures is silent. Nothing crashes; the job simply does nothing, and the page looks like the source had no data. We learned each of them the hard way.
Depth
Depth comes from sounding surveys — boats that ran the lake recording how deep it was. One job handles all of it and picks the best available source, so a lake ends up with one set of depth bands rather than three that disagree.
From those bands we then calculate volume and mean depth. That calculation runs after the bands, not before — running it early does not fail, it just computes an average of nothing.
Access, camps and water tests
Ramps, piers and launches come from state wildlife agencies and the federal recreation database. Campgrounds come with their own coordinates and get their distance to the bank measured from the outline.
Water tests — temperature, clarity, oxygen — come from monitoring stations, thousands of samples for a lake like Okeechobee. We keep the date of every reading, because a clarity number without a date is not a fact.
Stocking records come from the state. For Florida they arrive as PDF tables; elsewhere as map layers. Either way they carry the count and the year.
Photos, names and the address
Photos are matched, shrunk, converted and renamed by content before they reach our CDN. Thumbnails are generated after that — running it first means there is nothing to shrink.
The nearest town is calculated so a distance means something to a driver. Only then can stocking records be reconciled, because state tables often identify a water by the town rather than by its federal identifier.
Last: the public address
The URL slug is generated at the very end, when everything else is in place. A water goes live only when an editor publishes it. Around five and a half thousand named waters exist in Florida alone, and most of them are a row in a federal register with nothing on them worth reading.
That is deliberate. A search result that opens an empty page costs you more than a search result that never existed.




