Bad Marine LLC
BAD MARINE LLC
Crash Location Resolution
← Back
Technical Overview

How location resolution works

A working-level summary of the pipeline and how its accuracy has been measured — enough to evaluate the approach without a source-code walkthrough.

What it does

Given a crash coordinate (an officer-reported lat/long, confirmed or corrected by a reviewer) and a crash key, the service resolves it to the state's official location reference. It computes the exact same class of answer produced by the existing internal state process, but does so independently against Nebraska's public GIS data.

Resolution pipeline — three stages

The pipeline degrades gracefully: a failed individual data source is recorded as a diagnostic and the request completes without taking the whole resolution down. The two location-resolution stages run in order, falling back to the second only when the first doesn't apply.

1Reference-post LRS resolution

For state highways (I/US/N/S/L routes), the point is snapped to the nearest highway centerline, then Route ID and Reference Post / Log Mile are interpolated by bracketing between the two nearest physically-surveyed mile markers — not the route's own beginning/end points, which for some highways span 300+ miles with no calibration in between.

2MMUCC no-reference-post fallback

For local/municipal roads with no public reference post, the location is described using distance and direction from the nearest intersecting street, bridge, or landmark — the same approach behind NHTSA's national MMUCC standard for crash reporting, implemented on NDOT's own crash report form as Form 40, item 20: primary and cross street picked as the closest, then next-closest, named road to the point. A reference-post file for these same roads already exists internally — see "The opportunity" below.

3MIRE enrichment

Every one of the 20 MIRE data elements this service tracks gets pulled for each resolved crash — not just speed limit and traffic volume. Elements with no confirmed authoritative source report as unavailable with an honest reason, rather than a guess. See the full element list below.

Data source

All spatial data is sourced directly from Nebraska's public ArcGIS REST services (giscat.ne.gov) — the exact same authoritative layers the state's own tools are built on, including:

Zero third-party geocoding, zero scraped data. Queries are read-only and require no authentication.

Under the hood — the 30,000-foot view

Built on .NET 10 (C# 13), using a clean three-layer architecture:

That strict separation is what lets the same resolution logic run as a live REST endpoint, a batch job, or be embedded directly into another system later, without rewriting the core.

The core of the location math is a proper linear referencing system (LRS) — the same underlying approach professional transportation GIS software uses internally: every highway is modeled as a continuous line, and a crash point is mathematically projected onto that line to find both the nearest point on the roadway and the precise distance traveled along it from a known survey point. Crucially, all of that projection and distance math runs in NAD83 Nebraska State Plane feet — a flat, foot-based coordinate system — rather than raw latitude/longitude degrees, which distort real-world distance depending on where you are on the globe. Computing in feet from the start avoids that distortion instead of correcting for it after the fact.

Every accuracy figure on this page comes from a live, repeatable comparison against the state's own already-finalized crash data — not a one-time spot check. The same validation can be re-run at any time to reconfirm current accuracy.

Bridge crashes — knowing over from under

At a stacked interchange, a crash near a bridge could be on the elevated road or on the road passing underneath it — a genuinely ambiguous case nationally, not unique to Nebraska. Today, resolving that ambiguity requires a person to look at the crash diagram, decide which physical road is actually correct, and manually place the pin — noting the result as free text in the narrative.

This pipeline determines Over vs. Under automatically wherever a resolved crash falls near a bridge, formatted the same way the state's own crash reporting expects it ({ROAD} BRIDGE OVER {crossed feature} or {ROAD} UNDER {carried feature}) — no manual pin-nudging required.

RelationSampleDetectedCorrect, once detected
Overpass (crash on the bridge)8565%94.5%
Underpass (crash underneath)1567%100%*
Combined10065%95.4%

* 10 of 10 detected underpass crashes were correct — a real result, but a small base to generalize from yet.

Read this the same honest way as the numbers above: detection and direction are two different questions, reported separately rather than blended. Once a crash is recognized as bridge-related, Over vs. Under is correct essentially every time — that logic is strong. Recognizing it as bridge-related at all is the harder, still-improving part, currently at 65% statewide from a 100-crash sample. The honest combined number is 62%. Remaining misses are a mix of a few known, honestly-reported edge cases (some bridges are recorded under a compound name a single resolved route doesn't cleanly match) and cases still being investigated, not guesses presented as fact. The exact matching approach behind this determination is proprietary — happy to walk through it directly on request.

The MIRE element set — every crash gets all of it

This is the component that turns a location answer into a usable safety-analysis dataset. Every resolved crash carries all 18 of the roadway-segment elements the federal government requires for non-local paved roads (23 CFR § 924.17), plus 2 more beyond that minimum — 20 in total, not a subset picked for convenience. Four elements currently have no confirmed authoritative source available and are reported as unavailable rather than guessed at. Everything else is populated for every crash, every time.

ElementStatus
Segment IdentifierAvailable
Route NumberAvailable
Route / Street NameAvailable
Federal Aid / Route TypeAvailable
Rural / Urban DesignationAvailable
Surface TypeUnavailable — no confirmed source
Begin Point DescriptorAvailable
End Point DescriptorAvailable
Segment Length (miles)Available
Direction of InventoryAvailable
Functional ClassUnavailable — no confirmed source*
Median TypeUnavailable — no confirmed source
Access ControlAvailable
One-Way / Two-Way OperationsAvailable
Number of Through LanesUnavailable — no confirmed source
AADT (Annual Average Daily Traffic)Available
AADT YearAvailable
Governmental OwnershipAvailable
Speed Limit (mph)Available
DOT District NumberAvailable

* Checked directly: the one candidate field on the public street layer mixes several unrelated systems in the same column (jurisdictional terms, surface-type terms, and unexplained numeric codes alongside genuine classification terms), with a single ambiguous value accounting for three-quarters of all populated rows statewide — not reliable enough to classify roads from. As with the county-road naming gap below, the real fix here is the state's own internal classification method, if shared (see "The opportunity" below).

All 20 elements are included as columns in the downloadable results file for every batch, alongside the location answer itself.

Worth calling out — Governmental Ownership: no public source layer has a dedicated ownership field (one candidate field on the public street layer is populated on 0 of roughly 300,000 statewide records). The real answer comes from data already being pulled for other elements on this list: a route's own highway-type prefix implies ownership. US and Interstate routes are federally numbered → Federal; Nebraska's own state highway/spur/link routes → State; off the state system entirely, the same municipal-boundary check used for Rural/Urban above tells you City/Municipal vs. Local.

How accuracy was measured

Every result is checked against the state's own 2023 statewide crash dataset — specifically the SPOT_MAPPED_LOCATIONS fields, representing the official, final location recorded for each crash. The service's output is compared directly against that ground truth.

Roadway typeResolvedAccuracy signal
State highway (LRS)97%100% route match · median position error 0.001 mi (~5 ft)
City / Municipal100%78% location-type match · 63% primary road · 66% cross street
Town / Village100%84% location-type match · 73% primary road · 67% cross street
County100%82% location-type match · 52% primary road · 28% cross street

Sample: ~300 crashes per bucket, stratified statewide, fixed random seed for reproducibility. Full methodology and per-corridor detail available on request.

Read the gradient honestly: accuracy is strongest in Omaha/Lincoln (the two largest, most GIS-complete cities), moderate elsewhere in town/city Nebraska, and weakest on rural county roads — where the state's own internal road naming (a mile-grid system, e.g. "ROAD 60") and the public street-centerline layer ("South 60th Road") sometimes name the same physical road two different ways. That's a road-naming gap, separate from position accuracy — and position accuracy is exactly what the internal reference-post file described below would fix.

The opportunity: statewide reference-post-grade accuracy

A comprehensive county and local-road reference-post file already exists within the state — it's just internal-facing today, not published to any public GIS layer. If access is granted, this pipeline would be expected to resolve nearly every roadway in the state — aside from a small set of edge cases (alleys, ramps, weigh scales, and similar) that even state staff currently resolve by hand — at an accuracy level expected to approach what's already demonstrated on state highways above.

That access would be expected to turn today's best-effort local/county resolution (Stage 2 of the pipeline) into precision approaching the ~5 ft-class results already achieved on Interstates and US/State routes — statewide, not just on the state highway system. That expectation would need to be validated against real local-road data before being treated as confirmed, the same way every other accuracy figure on this page already has been. Furthermore, if the state shares its own calculation logic for deriving the remaining MIRE elements, that logic can be incorporated directly into the Crash Location Resolution API.

LLC