Category: People

Playing around with Chicago data: who’s running red lights?

Range Rover with Illinois license plate "0"

A Range Rover with Illinois license plate “0” is seen moving 40 MPH in a 30 MPH zone through a red light at Ashland and Cortland.

I’m just seeing who’s driving around Chicago one night, using the Tribune-published dataset of over 4.1 million tickets issued from red light cameras.

The City of Chicago has installed at least 340 red light cameras since the mid-2000s to reduce the number of people running red lights and crashing. They’re supposed to be installed at intersections where there’s a higher-than-average rate of right angle (“T-bone”) crashes, which are more injurious than other typical intersection crash types.

Assessing safety wasn’t the Tribune’s story angle, though. It was about showing spikes in the number of tickets issued, which I verified to some extent. The article called the tickets issued during these spikes “undeserved” and “unfair”. The data doesn’t have enough information to say whether or not that is the case; a video or extensive photo review is necessary to rule out rolling right turns while the light was red (a much less dangerous maneuver unless people are trying to cross the street).

The first query I ran assessed the number of people who get more than one ticket from a red light camera. Since I was tired my query was a little sloppy and it missed a lot of more useful order choices and didn’t select the right fields. I fell asleep and started again in the morning. This time, I got it right in just two tries – I needed to try again because I mistakenly put HAVING before the GROUP BY clause.

Here’s the first query, in its final form, to retrieve the number of tickets for each license plate in each state (I assumed there may be identical license plates among states).

select max(ticket_number), max(timestamp), license_plate, state, count(*) AS count FROM rlc_tickets group by license_plate, state HAVING count(*) > 1 order by count DESC NULLS LAST

It resulted in 851,538 rows, with each row representing a unique license plate-state combination and the number of red light violations that combination received. You can reasonably assert that cars don’t change license plates more than a couple times in a single person’s ownership, meaning you can also assert that each row represents one automobile.

851,538 vehicles, which make up 35.1% of all violators, have received 2,601,608, or 62.3%, of the 4,174,770 tickets. (There are 2,424,700 license plate-state combinations, using the query below.)

select count(ticket_number) from rlc_tickets group by license_plate, state

Here’re the top 10 vehicles that have received the most violations:

  1. SCHLARS, IL, 78
  2. 9720428, IL, 59
  3. 8919589, IL, 57
  4. A633520, IL, 52
  5. 3252TX, IL, 45
  6. A209445, IL, 44
  7. N339079, IL, 44
  8. X870991, IL, 41
  9. 239099, IL, 41
  10. 4552985, IL, 40

The next step would be to design a chart to show these vehicles’ activity over the months – did the vehicles’ drivers’ behavior change, decreasing the number of red light violations they received? Did the vehicle owner, perhaps a parent, tell their child to stop running red lights? Or has the vehicle owner appealed erroneously-issued tickets?

When I ran one of the first, mistaken, queries, I got results that put license plate “0” at the top of the list, with only nine tickets (license plates with two or more zeros were listed next).

I googled “license plate 0” and found a 2009 Tribune article which interviewed the Range Rover-driving owner of license plate “0” and the problems he encountered because of it. The City of Chicago parking meter enforcement staff were testing new equipment and used “0” as a test license plate not knowing such that license plate exists. Tom Feddor received real tickets, though.

I then looked up on PhotoNotice the license plate and ticket violation number to find, indeed, the license plate belonged to someone driving a Range Rover at Ashland Avenue and Cortland Street on July 17, 2008. An added bonus was Feddor’s speed in that Range Rover: the camera recorded the car going 40 MPH in a 30 MPH zone.

I was done browsing around for the biggest offenders so next I wondered how many tickets were issued to vehicles licensed in Arizona, where U-Haul registers all of its nationwide vehicles. Arizona plates came in 29th place for the greatest number of tickets.

select count(*) AS count, state from rlc_tickets group by state order by count DESC NULLS LAST

As you may have expected, four surrounding Midwest states, and Ohio, rounded up the top five states after Illinois – but this isn’t notable because most visitors come from there and they each only comprise less than 1.3% of the total tickets. The next state was Florida.

  • 3,986,739, IL
  • 51,104, WI
  • 40,737, MI
  • 27,539, IN
  • 8,550, OH
  • 7,684, MN
  • 7,139, FL

What’s next: I’m working on finding a correlation between the number of reported crashes, and type, at intersections with red light cameras and the number of tickets they issued. I started doing that before running the numbers behind this blog post but it got complicated and it takes a long time to geospatially compare over 500,000 crash reports with over 4.1 million red light tickets.

What else do you want to know?

I will delete all comments that don’t discuss the content of this post, including comments that call red light cameras, or this program, a “money grab”.

Why architects should learn OpenStreetMap

I’m teaching OpenStreetMap 101 at the first MaptimeCHI.

Architects will learn that OpenStreetMap can be used as a data source when developing projects and as a basis for designing custom maps in project publications (website, anthology, monograph, client presentations).

This meeting is about getting an introduction to OpenStreetMap and learning to make your first edit in the “Wikipedia of maps”.

Thursday, July 17th, from 6-8 PM
Thoughtworks office
200 E Randolph St

RSVP on EventBrite.

Here are two examples of how architects could use OpenStreetMap data.

Example 1 of how to use OpenStreetMap. Instead of publishing a screenshot of Google Maps in your documents or website, create a custom design map like this without having to spend so much time tweaking it in Illustrator. This map was created by Stamen Design using TileMill.

Example 1 of how to use OpenStreetMap. Instead of publishing a screenshot of Google Maps in your documents or website, create a custom design map like this without having to spend so much time tweaking it in Illustrator. This map was created by Stamen Design using TileMill.

And the second.

Willow Creek Church on OpenStreetMap: After

Here’s one example where OpenStreetMap could be useful. Let’s say you’re working on a site plan for Willow Creek Church in South Barrington and you need a general layout of the parking lot. 1. You can get it from OpenStreetMap because it’s already there. 2. You can draw it in OpenStreetMap yourself (to benefit all other OSM users) and then extract it as a shapefile.

Maptime is time for mapmaking and it’s taking the country by storm.

One day left to enter the Divvy Data Challenge

Divvy dock post-polar vortex

Divvy bikes have been covered in snow frequently this winter. Photo by Jennifer Davis.

As self-proclaimed Divvy Data Brigade Captain* in Chicago’s #opendata and #opengov community I must tell you that all Divvy Data Challenge submissions are due tomorrow, Tuesday, March 11. Divvy posted:

Help us illustrate the answers to questions such as: Where are riders going? When are they going there? How far do they ride? What are top stations? What interesting usage patterns emerge? What can the data reveal about how Chicago gets around on Divvy?

We’re interested in infographics, maps, images, animations, or websites that can help answer questions and reveal patterns in Divvy usage. We’re looking for entries to tell us something new about these trips and show us what they look like.

I’ve seen a handful of the entries so far, including some to which I’ve contributed, and I’m impressed. When the deadline passes I’ll feature my favorites.

Want to play with the data? You should start with these resources, in order:

  1. Divvy Data Challenge – rules and data download
  2. divvy-munging – download an enhanced version of Divvy’s data, with input from several #ChiHackNight hackers
  3. Bike Sharing Data Hackpad – this is where I’m consolidating all of the links to projects, visualizations, analysis, data, and blog posts.
  4. Divvy Data Google Group – a discussion group with over 25 members
  5. #DivvyData – chat on Twitter

It’s not too late to get started now on a project about the bikes themselves. Nick Bennet has crunched the numbers on the bikes’ activity and posted them to the Divvy Data Google Group. Want to use his data and initial analysis? He said “run with it”.

Share your work ahead of time and leave a comment with a link to your project.

* This title is a play on Christopher Whitaker’s position as Code For America Brigade Captain and all around awesome-doer of keeping track of everything that’s going on in these communities and publishing event write-ups on Smart Chicago Collaborative.

Let’s get rid of beg buttons

As much as you may believe, because you encounter them so rarely, Chicago indeed has several types of “beg buttons”. This is a mechanism wherein a person walking along a street must apply to cross another street. You are begging for permission. They are not popular, many are not even hooked up anymore, and they don’t call the pedestrian signal any sooner (their purpose is to make the green traffic signal long enough for a person to cross).

Jan Gehl et. al. succinctly demonstrate in Cities for People the opposing methods of telling a person when they can cross the street (meaning cross traffic has been halted).

The 2013 Chicago Complete Streets Design Guidelines and 2012 Pedestrian Plan reorients the city to prefer facilitating and encouraging transportation by foot over all other modes of travel.

The Pedestrian Plan says that beg buttons should have an LED light that indicates to the pusher that the button has been pushed. (The Pedestrian Plan also calls “traffic signals” a high cost pedestrian safety tool, alongside the high cost of “pedestrian hybrid beacons” and the medium cost of “rectangular rapid flash beacons”. Slow traffic, on the other hand, doesn’t have an operating cost, but it definitely has a “we’re getting there cost”.)

The Plan also says to get rid of them “except for locations where they are necessary to bring up a WALK phases for pedestrians” and without saying what makes it necessary to bring up a WALK phase (versus always having a WALK phase for that direction of traffic) and if that “necessary” is aligned with the Complete Streets Design Guidelines’ paradigm shift. Systematically removing inoperable ones is a separate, medium term milestone (alongside developing a location database).

The CSDG thankfully considers many other realities in Chicago that go against the new transportation paradigm that puts the pedestrian first. For example, it calls for the systematic removal of all slip lanes – none of which I’ve heard or seen removed in the year since CDOT created the guidelines.

Untitled

I want the city to systematically remove all beg buttons. If the green signal is too short for a person to cross the street, then it’s probably too short for a bicyclist to cross in the green signal (yes, this exists in Chicago). It also means the street is too wide to foster it being a place over being a pipe for cars. And if it’s not a place, what is it and why are people walking there? What personal needs – like a job, food, and socializing – are not being fulfilled where they live that people have to cross this road to meet those needs?

Updated March 10 at 12:56 to clarify what the Pedestrian Plan says about beg buttons.

Divvy activity in Wicker Park-Bucktown

Divvy Bikes Outside Smoke Daddy

The Divvy bike-share station outside Smoke Daddy on Division Street at Wood Street is the fourth most popular in the Wicker Park & Bucktown neighborhoods. Photo by Daniel Rangel.

This is an analysis of the station use for Divvy bike-share stations in the Wicker Park and Bucktown neighborhoods (they blend together and it’s hard to know if the club or bar you’re going to is one neighborhood or the other).

Numbers represent a discrete trip, from one station to another (or the same station if the trip was greater than 3 minutes, to eliminate “hiccups” where the bike left the dock but didn’t actually go anywhere). Customer means someone who used a 24-hour pass and subscribers are annual members. Gender is self-reported on a member’s DivvyBikes.com user profile.

17 stations listed.

[table id=10 /]

This map of Wicker Park Divvy stations shows a residential service gap among the Damen/Cortland, Ashland/Armitage ( Metra) and North/Wood stations.

This map of Wicker Park Divvy stations shows a residential service gap among the Damen/Cortland, Ashland/Armitage (
Metra) and North/Wood stations.

Based on the popularity of the Ashland/Armitage station, which is right outside the Clybourn Metra station – a very popular train stop – I think there might be a residential service gap near Saint Mary of the Angels School. I recommend a Divvy station at Walsh Park this year because the Bloomingdale Trail will open and terminate there.

Notes

Not all of these stations were online when Divvy launched on June 28, 2013, but I haven’t yet looked into the history to see when each went online. Therefore direct comparisons are not appropriate until you have a trips per day number. Then, seasonality (very cold weather) has its own effect. At the very least, all stations were online by October 29th, with the final addition of the Lincoln Ave & Fullerton Ave (at Halsted) station.

Can someone use “R” to make a time series chart on the entire trips dataset so we can find the best cutoff time to eliminate “hiccups”?

Query used: SELECT count(`trip_id`), usertype, gender FROM `divvy_trips_distances` WHERE (start_station = ‘Claremont Ave & Hirsch St’ or end_station = ‘Claremont Ave & Hirsch St’) AND seconds > 180 GROUP BY `usertype`, gender