Waze CCP Processor

Allows traffic teams and others within governments to store, analyze, visualize, and take action on Waze's CCP program data.

Code: github.com/LouisvilleMetro/WazeCCPProcessor

Collaborating Cities, States, Countries: Louisville, Denver, NYC, Joinville Brazil, (see all 60+ govs)

  • Sponsors: Amazon AWS, Slingshot

  • Promoters: Waze

  • Potential Future Collaborators: Microsoft Azure, Google Cloud

Project Road Map

Waze provides government partners access to anonymized data that can be used for traffic, public safety, emergency response, infrastructure, and air pollution use cases.

This road map shows what is needed to create a valuable end-to-end data processor and visualization solutions based on Louisville, KY’s existing use cases.

Everything is written in Terraform.io's infrastructure-as-code form for portability across cloud providers.

1) End-to-end data processor

https://github.com/LouisvilleMetro/WazeCCPProcessor/projects/1

  • Gets the raw Waze CCP JSON data feed into a relational database.

  • Base requirement for Waze data to be useful for governments.

Technical: Cloudwatch alarm triggers Lambda every 2 minutes to look at the Waze endpoint and saves data to S3. Lambda adds record to SQS Queue to process S3 files into Aurora Postgres DB. Alerts and queues for failures and SNS Topics used to allow real-time hooks. DB enriched with extra columns need for analysis.

2) API endpoints

https://github.com/LouisvilleMetro/WazeCCPProcessor/projects/3

  • Allows easy access to chunks of data from the DB

  • Proof of concept limited for use of Interactive Map

  • Good to get developer buy-in, service integrations

Technical: HTTP endpoint would return GeoJSON file from DB. Parameters include start date/time, end date/time, lat/lon bounding box, Waze categories (Jam types, Alert types, Irregularities). Can run through AWS API Gateway or other API service like Kong.

Examples:

List of reports

https://endpoint.com/api/waze/reports?startdate=2018-02-17&enddate=2018-02-19&starttime=1600&endtime=1800&minlat=37.9971&maxlat=38.38051&minlon=-85.948441&maxlon=-85.4051&jams=2,3,4&alerttypes=ACCIDENT_MAJOR,JAM_STAND_STILL_TRAFFIC,HAZARD_ON_SHOULDER_CAR_STOPPED&irregularity=0&roadtypes=3,5,8,9&streetname=&delay=&speed=&length=&format=json

Detailed data on a single report

https://endpoint.com/api/waze/reportdetail?reportid=FB6E701F-E8A6-3667-BC5A-434A593E5C76&format=json

Geodata (line or point) on a single report

https://endpoint.com/api/waze/segmentgeo?reportid=FB6E701F-E8A6-3667-BC5A-434A593E5C76&format=json

3) Interactive Map

https://github.com/LouisvilleMetro/WazeCCPProcessor/issues/21

  • Overlays current snapshot of alerts, jams, irregularities, with filters

  • Provides a date/time selector and slider to look back in time

  • Good to get leadership/mayoral buy-in, business intelligence cases

Technical: A open source mapping platform (OpenStreetMap base layer with Leaflet.js) that has selectors that can pass XHR data into the API query string and return a clickable GeoJSON overlay of current or past conditions, running serverless to spin up only on demand. Allow JSON data export from map view (eg, API call).

Like the Waze Live Map, but with a slider to go back in time, and a filter to show any combination of Alert types and Jam data.

4) Traffic Study Tool

https://github.com/LouisvilleMetro/WazeCCPProcessor/issues/22

  • Provides a traffic study replacement tool that allows comparison of a traffic area before and after a change (signal retiming, road diet, reconfiguration, traffic events)

  • Working tool showing how Waze data can replace studies that can cost $25K - 75K

  • Good to get traffic department, internal gov operations, data analytics buy-in

Technical: QuickSight could be used for this (we welcome other AWS tool recommendations, maybe using Metabase in the cloud). Louisville currently has a useful working version in Power BI that the traffic department uses that can be recreated in AWS. User selects area of geographic interest, times of day/week, date ranges, direction, and gets a before and after analysis to show effectiveness.

Last updated