National map shows cyclist fatalities

The League of American Cyclists announced their “Every Bicyclist Counts” project, which will chronicle news and police reports of cyclists killed on America’s roadways.

every cyclist counts: bike fatalities USA map

The LAB’s Every Bicyclist Counts” website is a memorial and collection of news and information about cyclists killed since January 1, 2012. It’s an expansion to the national level of the effort Ted Rogers has put into tracking southern California fatalities over at Biking In LA.

Besides the narratives, the LAB websites also includes a national map of cycling fatalities.

This is as good a place as any to mention a little something I whipped up over the weekend: my real time map of California bike crashes. Right now, it shows bicycle crashes reported to the California Highway Patrol since Monday evening, when this project went live, with today’s crashes highlighted in yellow.

Every Bicyclist Counts: TL;DR Summary

Every Bicyclist Counts website and national map of cyclist fatalities in the United States.

My Work In Progress Realtime California Bicycle Crash Map (with an appeal to an artist for better icons).

Index of all bicycle crashes reported to CHP since 2010.

This is an expansion of my 3 year collection of CHP crash data, and it’s obviously still a work in progress. I can use better icons, for example. The UI is still a little wiggy: to zoom into a specific ‘incident,’ click on the X; double click if you’d like to see the complete details. To go back to the entire state map, you need to refresh the page or zoom out).

On my TODO list for this California crash map:

  • Better icons, and special icons to display hit & runs and fatalities. (Any artists in the house who’d like to help?)
  • Pop up text. Show incident reports as a popup box within the map. This is just a matter of coding up the CSS and DOM elements.
  • Date Matching. Most of the time, CHP dispatchers enter dates as numeric month, day and year such as “5/23/2012.” Sometimes, though, I see “May 23 2012” instead. Matching on the current date to highlight today’s bike crashes is imperfect as a result.
  • Geocode efficiency. Google Maps rate-limits geocode requests, which is how street addresses are translated into latitude / longitude required for mapping. Right now, I meter the requests out slowly using a timer function, which is why you’ll see the markers pop up one by one over a few seconds. The better solution to this is to cache the geocode responses on my server so I don’t need to repeat geocode for each map load.
  • Database query. Somebody I might get fancy and allow for queries based on county, dates, etc. I’ve built my crash database to allow for this, but the actual user query engine for this is at least a year away.

I also have issues with the actual data collection that I should fix. I’ve slowly been improving them over time, but these are still problems:

  • Motorcycle false positives. My code to grab CHP’s incident reports gets many false positives for motorcycle crashes too. Many (most? all?) motorcycle crashes will mention “biker” or “bike.” For example, “Motorcycle vs Honda. Biker injured. Ambulance required.” I’ve thought about just filtering out every report that mentions a motorcycle, but I have seen a couple of instances of bicycle vs motorcycle crashes. Should I allow the false positives to retain those rare bike vs motorcycle reports? Or should I filter them out and miss those occasional motorcycle vs bicycle crashes?
  • Bike lane false positives. The CHP incident reports come from dispatchers who use code words and jargon, but free text entry is also allowed so I’ll sometimes see reports like “Dead animal in bike lane” or “Chevy Tahoe vs Bike Lane sign.”
  • Geocoding. This is different from the geocoding efficiency item above. A responding police officer in Santa Barbara county knows that Sr217 E Sandpit Rd Ofr is by Goleta State Beach. Google Maps freaks out because it can’t find the address — the dispatcher misspelled “Sandsspit” Road. I think the CHP hired a lot of new dispatchers about six months ago, too, because that’s when I began seeing inconsistent capitalization and misspellings for commonly used abbreviations.

    The other geocoding issue I need to solve: multiple county coverage among CHP regional offices. The dispatches come from one of several CHP offices around the state, but a few offices cover multiple counties. The “Golden Gate Communication Center” covers the entire 9 County San Francisco Bay Area, so if all you have is a street address like “Fillmore Street and McAlester Street“, which County do you tell Google Maps to search in? My easy workaround for now: I punt and just use San Francisco. The real solution is to use Google Maps geocode API to make a more educated guess and search all counties until I find a reasonable hit.


  1. Thanks for the hat tip. I’m overjoyed that LAB has taken this task to a national level. 

    While I understand the concern by some bike advocates that this could scare off new riders, I think it’s vital that we remember the people who died simply because they chose to ride a bike. Nothing will ever change until we can put a face to these victims and call attention to the needless carnage on our streets.

    As for your real time map, I noticed it over the weekend and definitely appreciate the work. I would keep the motorcycle false positives; I’d rather get a few false reports than miss an actual collision between a motorcycle and a bicycle. Besides, I always breathe an inappropriate sigh of relief when I click on the link and see it wasn’t a bicyclist involved.

    On the other hand, I’d have no problem if you could filter out the bike lane false positives; I feel no need to know a stalled car is parked in a bikeway somewhere.

    If I haven’t said it before, thanks for your great work on this. You’ve made a real difference by providing near realtime access to CHP bike collision reports — some of which have told of deaths and serious injuries that were never reported anywhere else.

  2. I have heard the “don’t talk about it, you’ll scare people away!” line before and the facts are we don’t have the facts! If we don’t know where the most dangerous places are on the roadway, what will our advocates advocate for in city hall, the legislature, etc?!

    We can’t tell if air quality is getting better or worse if we don’t measure it. Ditto for bike crashes.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.