feat(cameras): ODOT TripCheck parser -> cameras table #40

Merged
sirius merged 2 commits from osint-dashboard/t_93732570-osint-odot-tripcheck-cameras-cameras-tab into master 2026-08-31 22:14:54 -04:00
Owner

Summary

Adds parse_odot_json next to parse_caltrans_json for Oregon DOT TripCheck's public CCTV inventory (cctvinventory.js, Esri-style JSON).

What

  • Parse features[].attributes (cameraId, filename, latitude, longitude, route, title).
  • JPEG snapshot https://tripcheck.com/RoadCams/cams/{filename} as snapshot_url (never RTSP).
  • discovery_source=odot, Oregon bbox guard (lat 41.9–46.3, lon -124.6–-116.4), skip missing filename / non-finite coords.
  • Wire dispatch in scrape_source + default CAMERA_SOURCE_URLS entry. Hourly scrape via existing CAMERA_SCRAPE_INTERVAL.
  • Unit tests: valid row / missing filename / out-of-bbox / null-coord / malformed (no network).

Notes

  • Live probe: HTTP 200, 1149 features → 1132 in-bbox cameras (17 out-of-bbox dropped).
  • Optional 30-min in-process TTL memo skipped — no camera reaper exists, so a scrape miss leaves rows in place (stale last_seen only).
## Summary Adds `parse_odot_json` next to `parse_caltrans_json` for Oregon DOT TripCheck's public CCTV inventory (`cctvinventory.js`, Esri-style JSON). ## What - Parse `features[].attributes` (`cameraId`, `filename`, `latitude`, `longitude`, `route`, `title`). - JPEG snapshot `https://tripcheck.com/RoadCams/cams/{filename}` as `snapshot_url` (never RTSP). - `discovery_source=odot`, Oregon bbox guard (lat 41.9–46.3, lon -124.6–-116.4), skip missing filename / non-finite coords. - Wire dispatch in `scrape_source` + default `CAMERA_SOURCE_URLS` entry. Hourly scrape via existing `CAMERA_SCRAPE_INTERVAL`. - Unit tests: valid row / missing filename / out-of-bbox / null-coord / malformed (no network). ## Notes - Live probe: HTTP 200, 1149 features → 1132 in-bbox cameras (17 out-of-bbox dropped). - Optional 30-min in-process TTL memo skipped — no camera reaper exists, so a scrape miss leaves rows in place (stale `last_seen` only).
sirius added 1 commit 2026-08-31 21:37:09 -04:00
Add parse_odot_json (Esri-style cctvinventory.js) next to parse_caltrans_json:
JPEG snapshot_url, discovery_source=odot, Oregon bbox + filename guard,
no RTSP. Wire dispatch + default CAMERA_SOURCE_URLS entry. Unit tests.
sirius added 1 commit 2026-08-31 22:11:04 -04:00
Keep both ODOT TripCheck and already-merged MDOT MiDrive parsers
(disjoint camera sources on the same dispatch/config/tests files).
sirius merged commit 53edaa9433 into master 2026-08-31 22:14:54 -04:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: sirius/osint-dashboard#40
No description provided.