What you can ask
- “What does Ohio EPA have for the area or asset I'm working on?”
- “Pull the most recent Ohio EPA records and put them in a table.”
- “What does Ohio EPA cover, and how fresh is the data?”
About this source
Ohio EPA. Spills + brownfields + NPDES + district lookup. - searchSpillsAndReleases (~16K, since May 2017) ⭐ filter county/product/district/year - searchBrownfields (~217 DERR TBA grants) ⭐ no county column — bbox/near only - searchNPDESPermits (~3.1K active individual permits) - getEPADistrict (point-in-polygon for OEPA's 5 districts) - getServiceInfo upstream quirks: Spills county + reportedproduct heavily space-padded; oepadist has 'NULL'/'CDO ' variants. NPDES permit_status only ever ACTIVE. All 3 native MapServers use lowercase `objectid` as OID. Brownfields layer has NO county column.
Connector ID oh-epa
Provenance
Freshness & coverage
› Methods (5)
Technical detail for developers: parameters, pagination, units, and freshness per method.
searchSpillsAndReleases
readOhio EPA spills + releases (~16K, since May 2017). Filter county/product/district/year/cityTown.
county + product + district are space-padded upstream — handler trims.
searchBrownfields
readDERR Targeted Brownfield Assessment grants (~217). NO county column — bbox/near only.
Filter project, applicant, fiscalYear, taRequested.
searchNPDESPermits
readActive individual NPDES permits (~3.1K). Filter county/facility/permitType/district.
permit_status always ACTIVE upstream.
getEPADistrict
readPoint-in-polygon: which OEPA district contains a lat/lon (Ohio EPA)?
Required paramslatlongetServiceInfo
readSchema + record counts for any of the 4 services (Ohio EPA). Pass `service` to scope.
