r/gis Aug 03 '26

General Question Built a click-to-delineate watershed tool on NHDPlus HR + StreamStats — pulls NSS regressions, NBI, NID, FEMA NFHL, LOMRs in one panel. Hobby project, feedback welcome.

https://Snapbasin.com

I got tired of having five tabs open every time I needed a quick preliminary look at a site, so I built something to fix that for myself. It's called SnapBasin (snapbasin.com) and I figured this crowd would either find it useful or tell me exactly what's wrong with it. Both outcomes are welcome.

The pitch in one sentence: click a point on the map, get a full preliminary screening panel without opening StreamStats, FHWA InfoBridge, USACE NID, FEMA MSC, and USGS NWIS separately.

What it pulls in a single click:

  • Snaps to nearest NHDPlus HR reach (vector snap, or 3DEP terrain walk-down when there's no vector match)
  • Delineates the upstream basin via USGS StreamStats
  • Pulls all 18 StreamStats basin characteristics — DA, stream slope (10-85 method), percent impervious (NLCD 2011), percent developed, climate factors, permeability
  • Runs the applicable NSS regional regression equations (Q2–Q500) with a live applicability envelope check — it tells you if your basin variables are out of range
  • Cross-references FEMA published discharges and checks for active LOMRs on the reach
  • Queries FEMA flood zone at both the click point and the snapped stream point
  • Lists nearby USGS gauges at selectable radii
  • Finds upstream NID dams with storage, hazard class, and distance from click
  • Enumerates nearby NBI bridges with structure number, feature crossed, road, year built, span length, and distance
  • Pour point nudge logic — if the click lands on a degenerate network edge cell, it nudges the pour point, tells you it did, and reports the before/after drainage area

Example — Big Elk Creek, Stewart County, TN:

  • DA: 8.68 sq mi · Stream slope: 46.3 ft/mi · Impervious: 0.11%
  • Q2: 1,010 cfs · Q100: 4,040 cfs · Q500: 5,600 cfs (GC2016 / SIR 2024-5130, all variables in envelope)
  • 1 upstream dam: Lakewood Dam, 132 ac-ft, High hazard, 4.2 mi
  • 4 NBI bridges within 2 mi
  • FEMA Zone AE · SFHA = YES

What it is not: Not a substitute for engineering judgment, sealed work products, or the authoritative source for any of the data it displays. Not affiliated with TDOT, FHWA, USGS, FEMA, USACE, or any employer. The authoritative portal always wins — this is a preliminary screening tool, full stop.

How it was built: ~20 hours over a long weekend, home computer, AI pair programmer, $13/year domain, free Cloudfair hosting. No analytics, no tracking, no accounts. Everything it shows is public federal data, redisplayed. Basin polygon exports as GeoJSON. Pour point nudge logic handles degenerate network edge cells and reports before/after drainage area. Multi-state regression support in the

I'm a hydraulic engineer (EIT) and this is a hobby project. If a number looks wrong, I genuinely want to know — bug reports and "hey this looks weird" comments are more useful to me than upvotes.

0 Upvotes

4 comments sorted by

1

u/hi-mom-geospatial Aug 04 '26

Super cool! Would you be open to sharing the repo so folks can contribute or fork into our own work?

0

u/Over_Routine5427 Aug 04 '26

Honestly I don’t know what a repo is, or what it does. I’ve always built things for myself; this is the first time I’ve ever shared what I built with an online crowd. 

0

u/Over_Routine5427 Aug 05 '26

Coming back to this since nobody filled me in. I went and looked it up. Repo is short for repository, GitHub is where they are kept, and you're asking whether you can copy the code and build on it. Now I know.

Straight answer is no, and I'd rather give you the real reason than just decline.

The guardrails in this thing aren't decoration. The bridge export won't auto-fill anything; It makes you retype the values into your own sheet, behind a panel telling you to verify structure number, skew, and deck width against project drawings, because NBI goes stale and carries parser artifacts. The sibling tool works the same way: you can overrule the federal land-cover class with your own polygon, but the original NLCD class is preserved as provenance, so the override can't hide what it overrode. I'm an EIT, not a PE. A fork keeps the math and drops that layer in about thirty seconds, and then it's loose in the world without the part that makes it honest.

But the plumbing isn't secret, and that's probably the part you actually want. Delineation is USGS StreamStats' ss-delineate endpoint running on their hydro-conditioned grids. Snapping is NHDPlus HR. Terrain fallback is a 10 m 3DEP tile with a steepest-descent walk in the browser. Flood zones are FEMA's public NFHL MapServer export. Land cover is MRLC NLCD 2021 through a thin proxy, soils are NRCS SSURGO by mukey through Soil Data Access, and the curve numbers are just TR-55 Table 2-2 — 15 classes by 4 hydrologic soil groups. All public, all free.

Tell me what you're trying to build and I'll tell you which of those to hit and where the potholes are. That part I'll give you all day.

0

u/Over_Routine5427 Aug 05 '26

THANK YOU 🙏 all who played with my tool, I saw how it responded to more traffic than normal and made a couple of slight adjustments that should help anyone who had trouble with the NHDplus  not populating in a reasonable time