Skip to content

buddyp450/RedLightRunners

Repository files navigation

RedLightRunners

Interactive map of Greensboro, NC red light and stoplight citations with both a playable 10-day sliding window and a full-dataset Everything hotspot view.

What it does

  • Ingests starting_files/citations.csv
  • Normalizes the source rows, including known malformed column shifts
  • Resolves citation addresses to latitude/longitude with the Google geocoding service already used by the project
  • Generates data/citations.json for the frontend
  • Displays citations on a Google map with a slider + start button that advances a 10-day window through time
  • Offers an Everything view that turns those folded 100-foot hotspots into a zoom-responsive heatmap, and you can click hotspot areas to inspect nearby citation counts

Quick start

npm install
npm run generate-data
npm run dev

Open http://localhost:3000.

Available commands

Command Purpose
npm install Install dependencies
npm run generate-data One-time ingestion + geocoding from starting_files/citations.csv into data/citations.json
npm run dev Start the local Vite dev server
npm run build Create a production build
npm run preview Preview the production build

Data notes

  • starting_files/citations.csv is the authoritative source file.
  • starting_files/citations_clean.csv is intentionally ignored.
  • Citation records at the same address but different datetimes stay as separate map events.
  • Rows that cannot be geocoded remain in the generated dataset with unresolved status so they are visible instead of silently dropped.

Implementation notes

  • The data generator lives at scripts/generate-citations-data.mjs.
  • The generated frontend dataset lives at data/citations.json.
  • The map UI is driven by js/app.js and index.html.

About

Data pertaining to failures to stop at lights/stop-signs in Greensboro, NC 2014-2016

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors