transcript.md
↑ ContentsState Planner chat · https://stateplanner.com
- State: Ohio (OH)
- Started: October 30, 2026, 2:01 PM UTC
- Runtime: 33 sec
- Status: completed
Prompt
Ohio Mile Marker Map: Where Are the County Mileposts on Each State Route?
Model: Anthropic: Claude Opus 5.5 (anthropic/claude-opus-5.5, via openrouter)
Response
County mileposts on Ohio's state routes

The map shows the 18,826 county milepost markers on Ohio's Interstate, US and State Routes, from ODOT's oh_county_milepost layer in TIMS. A county milepost marks a location's mileage on a route within one county. The count starts again at each county line, so it is not the statewide route mileage. Click any marker to see its route, county, milepost number, ODOT district and NLF ID, which identifies the route segment.
Legend
- 🟢 Green: State Route (SR) mileposts, 13,453 markers on 509 route numbers in all 88 counties
- 🔵 Blue: US Route mileposts, 3,826 markers on 21 routes in 82 counties
- 🔴 Red: Interstate mileposts, 1,547 markers on 20 routes in 48 counties
- Grey outlines: county boundaries
What the map shows
- The markers are about one mile apart and line every state-system route, so together they trace Ohio's state highway network.
- The highest county mileposts are on routes that run a long way inside one county:
Highest county mileposts on the state system
| Route | County | Highest county milepost |
|---|---|---|
| SR 124 | Meigs | 66 |
| SR 7 | Washington | 54 |
| I-270 | Franklin | 54 |
| US 68 | Brown | 45 |
| I-275 | Hamilton | 41 |
| SR 163 | Ottawa | 41 |
- Cuyahoga has the most state-system mileposts (471, on 32 routes). Next come Ashtabula (356), Franklin (346), Trumbull (346), Wayne (316) and Stark (313).
Notes
- The table also holds about 53,000 mileposts on County Roads (CR) and Township Roads (TR). I left them off because you asked about state routes. I can add them, or filter the map to one route (for example US 52 across the southern counties) or one county or ODOT district.
- The table holds one perpetuation year, so this is a single snapshot. ODOT updates the layer once a year. For the statewide reference system, which doesn't reset at county lines, see
oh_state_milepost.
Exploratory Queries
Query 1 — Profile route codes, counties and milepost range.
SELECT route_code,
count(*) n,
count(DISTINCT rte_number) routes,
count(DISTINCT county) counties,
min(milepost),
max(milepost),
count(DISTINCT perp_year) yrs
FROM oh_county_milepost
GROUP BY 1
ORDER BY 2 DESC
| route_code | n | routes | counties | min | max | yrs |
|---|---|---|---|---|---|---|
| CR | 28028 | 691 | 88 | 1 | 35 | 1 |
| TR | 25124 | 1576 | 88 | 1 | 26 | 1 |
| SR | 13453 | 509 | 88 | 1 | 66 | 1 |
| US | 3826 | 21 | 82 | 1 | 45 | 1 |
| IR | 1547 | 20 | 48 | 1 | 54 | 1 |
Query 2 — Check route number format and longest state-route milepost runs per county.
SELECT route_code,
rte_number,
county,
count(*) n,
min(milepost) mn,
max(milepost) mx,
max(ST_NumGeometries(geom)) maxpts
FROM oh_county_milepost
WHERE route_code IN ('SR', 'US', 'IR')
GROUP BY 1,
2,
3
ORDER BY mx DESC
LIMIT 12
| route_code | rte_number | county | n | mn | mx | maxpts |
|---|---|---|---|---|---|---|
| SR | 124 | MEG | 63 | 1 | 66 | 1 |
| SR | 7 | WAS | 50 | 5 | 54 | 1 |
| IR | 270 | FRA | 54 | 1 | 54 | 1 |
| US | 68 | BRO | 34 | 12 | 45 | 1 |
| IR | 275 | HAM | 38 | 1 | 41 | 1 |
| SR | 163 | OTT | 40 | 1 | 41 | 1 |
| US | 52 | HAM | 15 | 20 | 40 | 1 |
| US | 52 | SCI | 42 | 1 | 39 | 1 |
| US | 50 | ATH | 37 | 1 | 39 | 1 |
| SR | 13 | PER | 39 | 1 | 39 | 1 |
| US | 62 | STA | 33 | 1 | 39 | 1 |
| SR | 147 | BEL | 36 | 1 | 37 | 1 |
Query 3 — Count state-system mileposts per county for the summary.
SELECT county,
count(*) n,
count(DISTINCT route_code || rte_number) routes
FROM oh_county_milepost
WHERE route_code IN ('SR', 'US', 'IR')
GROUP BY 1
ORDER BY 2 DESC
LIMIT 8
| county | n | routes |
|---|---|---|
| CUY | 471 | 32 |
| ATB | 356 | 17 |
| FRA | 346 | 21 |
| TRU | 346 | 20 |
| WOO | 316 | 21 |
| STA | 313 | 21 |
| COL | 296 | 21 |
| LOR | 294 | 20 |
Map Layer Queries
Counties
SELECT geom,
county AS "County"
FROM oh_county
Picture: maps/turn-1-county-mileposts-state-routes.png
County mileposts (state system) — colored by "System": State Route (SR) mileposts (#31a354), US Route mileposts (#3182bd), Interstate mileposts (#de2d26)
SELECT geom,
CASE route_code
WHEN 'IR' THEN 'Interstate'
WHEN 'US' THEN 'US Route'
ELSE 'State Route'
END AS "System",
route_code || ' ' || rte_number AS "Route",
county AS "County",
milepost AS "County milepost",
district AS "ODOT District",
nlf_id AS "NLF ID"
FROM oh_county_milepost
WHERE route_code IN ('SR', 'US', 'IR')
ORDER BY CASE route_code
WHEN 'SR' THEN 1
WHEN 'US' THEN 2
ELSE 3
END
Picture: maps/turn-1-county-mileposts-state-routes.png
Used Data Sets
oh_county— last synced 2026-09-27 · 88 rowsoh_county_milepost— last synced 2026-09-27 · 71,978 rows