- Downloaded and processed 2023 crash data (Accidents, Drivers, Vehicles, Occupants, Pedestrians)
- Combined parquets now contain 2001-2023 (6M+ crashes)
- SQLite databases regenerated with 2023 data
cmymc.dbaggregation tables updated
- Migrated from DVC pipelines (
dvc.yaml) to DVX (decentralized.dvcfiles withmeta.computation) - 131 output files tracked with provenance
- CLI wrappers for notebook execution (
njsp update_cmymc,njsp harmonize_muni_codes, etc.)
- Migrated notebook execution to
juq(from localnj_crashes/utils/nb.py) - Removed stale
cmym.db, renamed tocmymc.dbfor consistency - Cleaned up DVX
.dvcfiles (removedenv -u PYTHONPATH, deprecatedcode_ref)
- Boot local dev server, confirm 2023 data appears in charts/tables
- Check county/muni aggregations include 2023
- Current: Next.js
- Target: Vite + React
- Benefits: Faster builds, simpler config, better for static site
- Serve individual crash details (currently only aggregations available)
- Endpoints:
GET /crash/:id- Full crash record with vehicles, occupants, pedestriansGET /crashes?lat=...&lon=...&radius=...- Geo queriesGET /crashes?sri=...&mp=...- Location-based queries
- Goal: Link NJSP fatal crashes to corresponding NJDOT records
- Approach:
- Match on date + location (lat/lon or SRI/milepost)
- Validate with victim counts, vehicle counts
- Create unified crash ID mapping table
- Outputs:
- Canonical endpoint for each crash (whether from NJSP or NJDOT)
- Merged view combining NJSP real-time updates with NJDOT detail
- Coverage analysis: which NJSP fatals have NJDOT matches?
- Investigate 2023 duplicate crash records (see
njdot/DUPLICATES.md) - Document municipality code edge cases
- Historical trend analysis (20+ years of data)
- Crash clustering / hotspot detection
- Integration with road geometry data
- Pedestrian/cyclist safety analysis
- Comparison with other states' data