Where and When Is King Street Congested? (Updated)

Updated July 31, 2013 at 2:45pm:

In response to comments I  have received, I have produced charts that show the average speed of operation on parts of the King route.  This is at a very fine detail by contrast to the “link time” charts covering route segments that I published in earlier articles.  The new material is added at the end of this article.

Original article from July 22, 2013:

The TTC’s Andy Byford has proposed that King Street be reserved for transit vehicles during the AM peak period as a means of improving service quality.  In previous articles I have examined service reliability and congestion, as well as the history of transit priority on King Street.

The big issue whenever “congestion” comes up for discussion is that any tactics adopted to improve transit service need to address what is really happening on the street, not an abstract idea that somewhere, sometime, it might be a good idea to have some sort of transit priority.  Previous analyses published here show the effects of congestion through charts of “link times” (the time taken by vehicles to travel of specific parts, or links, of a route), but these don’t pinpoint the exact locations or severity of delays.

This article introduces a new type of chart that is intended to make delay locations and times much more obvious as a starting point for discussions of where priority is needed.

Where Are Our Streetcars?

Regular readers of these analyses will be familiar with the time-distance charts of route operations.  In June, I published an analysis of one day’s operation on 501 Queen and this includes a time-distance chart of the service.  The underlying data for these charts starts out as GPS data from the TTC’s vehicle monitoring system (the same data that feed NextBus in real time).  The GPS co-ordinates are mapped to a “flattened” version of the route as if it were a piece of string pulled out straight.  In this scheme, one kilometre of travel is 100 units and so 1 unit is 10 metres.

Streetcars that are in motion cover more than 10 metres in the 20-second sampling interval, but if they are stationary, or moving slowly, they will show up at the same location many times.  Places where many streetcars tend to spend a lot of time will have more data samples pointing to them than parts of the route where streetcars speed by.

The GPS data provide a snapshot of the system every 20 seconds, and counting the number of observations of a streetcar at each location will show where vehicles spend their time.

Here are the data for Wednesday, May 1, 2013.


Each file contains 19 pages, one for each hour-long block starting at 6:00am and ending at midnight.

The scale across the bottom is in the internal units to which GPS locations have been converted with 0 being just north of Broadview Station and 1270 being just north of Dundas West Station.  Each 100-block marks off approximately 1km along the route.

Vertical shaded lines, set to the same scale as the x-axis, show the position of major cross streets.

The vertical scale is chosen so that the data at busy times fill the page.

If you step through the pages, you will see the congestion effects building up and receding through the day.

On the westbound charts, this becomes evident a few hours in.  For example, for the period 8-9am, backlogs of cars appear east of University, and the congestion at Spadina (which will be much worse later in the day) start to show up too.  The hour 9-10am shows even more congestion because parking is allowed, but service and traffic are still at peak levels.  As the day wears on, the congestion east of Spadina worsens, but other locations show up too notably east of The Queensway where the left turn queue slows streetcar operation.  Similar, but smaller, effects can be seen at Jameson from left turning traffic headed for the Gardiner Expressway.

By the PM peak, the hour 4-5pm shows the effect of long stop dwell times through downtown including the area east of the core where there is now considerable traffic from George Brown College.  The core is particularly congested in 6-7pm, but congestion starts to fall off elsewhere.  By 8pm, Spadina remains as the primary location for delay.

Eastbound patterns are, of course, different.  Spadina is not as much of a delay location because there is no competition from 510 cars turning at Charlotte Loop.  However, Bathurst shows up as a delay location because of construction blocking the curb lane one short block west of the intersection.

Both charts have no data after 11pm for a chunk of the route corresponding to a diversion via Spadina, Queen and Shaw for overhead work.

Other points that show up with high counts include

  • Broadview & Dundas West Stations (termini, layover points)
  • Both ways on Roncesvalles north of Queensway (busy stop plus crew changes)
  • Queen & Broadview Eastbound (same)

Close examination of field conditions at individual stops would reveal more details about operations there.  For example, Dundas & Broadview has a long east-west green time during peak periods and this can hold through service on the 504.

The point at issue here is that service delay, manifested as cars being more likely to appear in some locations than others, is not confined to the core area, nor is it as bad as at other times of the day.  Conversely, there are some segments of the route where “delay” shows up as a narrow spike in the chart indicating a vehicle likely stopped at a traffic signal or carstop, but not otherwise slowed on the approach.  Proposals for transit priority need to address times and locations where they will have an effect on transit service.

For comparative purposes, here are charts of other data.


The charts for Thursday, May 2, 2013 are similar, but not identical to those for the preceding day.  Any evaluation of possible improvements must consider day-of-week as well as seasonal effects, not just one day’s data.

2013.05 Week_2_504_Westbound_Stats

The “Week 2” charts combine data from Monday, May 6 through Friday, May 10, 2013 into one chart (note that the scale is adjusted so that the data will fit).


These charts use data from the four Saturdays in May, 2013.  The pattern of delays is completely different on Saturday, although Spadina shows up as a particular nuisance.

Updated July 31, 2013

In response to comments I have received asking about graphs of average speed, I developed a variant on the “congestion” charts shown above based on speed rather than on vehicle location.  This is done on a fine-grained basis using the same data that generated the first set of charts.

The raw GPS data from TTC vehicles gives the location of each vehicle every 20 seconds, and so there are 180 samples per hour.  As explained elsewhere, for analysis purposes the GPS co-ordinates are “flattened” into a single dimension where the route is treated as if it were a straight line.  In this co-ordinate system 1 unit is approximately 10 metres.  From this, it follows that the change in position between observations can be converted to the speed of a vehicle.

  • If a vehicle travels 10 units in one interval, that is 100 metres.
  • There are 180 intervals per hour, and the vehicle will have moved at 18,000m or 18km/hr.

Each observation has a location, and if the speeds of all vehicles at that location (that is, within one unit of the flattened co-ordinates) are averaged, the result is the average speed of vehicles observed within that 10m section of the route for whatever period of time is sampled.  In this analysis, I have broken the data down by hour as with the congestion charts.

In practice, looking at a single day’s data produces a “thin” collection of data for each hour.  The reason is that with almost 1,300 locations on the King route (corresponding to a one-way trip of almost 13km), many locations do not have a car “in them” within one hour’s data.  (There are only 180 observations per hour, and with about 40 cars at peak, this yields 7,200 discrete vehicle-location values, less outside of the AM peak.  Half of these are not going in the direction of interest, and the remainder of the observations are clustered around stops and terminals.)

I  have produced charts for the week of May 6-10, 2013 and for all Saturdays.


These charts complement the information shown in the congestion charts in that where there is congestion (high numbers of observed vehicles) there will be low speed.  The difference, however, is that the congestion chart counts vehicles while the speed chart is independent of the number of vehicles observed and shows the general speed of operation over the route.

Stepping through one set of charts one can see the general drop in average speed through the middle of the day and pm peak with a rise again in the evening.  The pattern on Saturday is not the same as on weekdays.

(As mentioned with the congestion charts, there were diversions around overhead work west of Shaw for some of the days included and this leads to fewer observations on that section of the route for the weekday chart.)

Notable on the Saturday chart is the low operating speed bothways through the Entertainment District.  This effect is somewhat masked in the weekday chart because it does not occur early in the week.

12 thoughts on “Where and When Is King Street Congested? (Updated)

  1. If the entire King Street is 2+ vehicles for a (designated period) ie: 7 AM to 9:30 AM and a couple of less important TTC stops are eliminated during rush hour (stops identical to Queen Street) would be the best solution, with the inclusion as Steve points out no parking 9 am to 10 am. This is EASY TO ENFORCE FOR POLICE, and does not make transit selfishly have roads all to themselves. Your thoughts Steve?

    Not all King Street in both directions, but rather a zone of about 1 to 2 kilometers each side of Yonge Street for the 2+ feature.

    Steve: The whole point is that the am peak isn’t the problem. There are a few locations where there are very busy stops, but you’re not going to save much by eliminating the minor ones.

    As for car pool lanes, it’s generally not the cars that are the problem, but the vehicles blocking the curb lanes when they shouldn’t be. Pooling doesn’t buy us anything and will almost certainly not be respected anyhow.


  2. Interesting and largely mirrors my own subjective experiences as a daily 504 rider.

    What is most perplexing to me is why left turns are permitted on King St eastbound at Spadina and University right at the strike of 9:00 am, as if rush hour traffic suddenly disappears at this magical hour.

    The result is that the dozens of streetcars working their way through the downtown corridor are reduced to an even more painful crawl behind every motorist that decides to turn left onto these major arterials.

    Couple this with the TTC’s reduced service frequency that also comes into effect at 9:00, so that you have more people loading/unloading (esp. at St. Andrew Stn), and the result is an even bigger mess.

    It is *woefully* inefficient. Woefully.

    (I won’t even get into the perfect storm presently happening during afternoon rush hour westbound at King and Spadina, where you now have the both the 501 Queen and 510 Spadina cars attempting to turn right to head north on Spadina, in addition to the regular 504 and 508 traffic. I’ve taken to walking out of the downtown core to avoid that mess. King St looks like a maintenance yard some days, there’s so many streetcars backed up.)


  3. 504 Rider raises a more general problem in Toronto. The traffic regulations and ‘rush hour service’ hours have not changed much to match the new norm of much longer rush hours, and, in fact, much more traffic in general. In the 1960s it is probably true that rush hour was between 8-9 am and 4-6 pm but not today. The City and TTC need to look at this issue with 2013 eyes and adjust parking rules, no stopping and no turn rules and hours of peak service.


  4. I live at King & Spadina and I’ve seen the intersection and the area at all hours of the day. It’s almost always a mess other than the wee hours of the morning. It’s really ugly now with Queen’s Quay closed and the Queen streetcar redirection.

    Once the Queen St construction is done and Queen’s Quay is back up, there should be no streetcars using the Charlotte loop other than for emergency purposes. That loop really screws up traffic flow for all vehicles and it’s dangerous for pedestrians. There should be no parking or standing on King St 24×7. Tow immediately. I call bullshit on the businesses crying about lost revenue with no street parking.

    No street parking on Spadina (east side) north of King. That causes backups that spill into the intersection. The parking also messes up those that simply want to make a right turn at Oxley and Richmond which wouldn’t mess with the other two lanes of traffic (which parking now does.)

    Once we see how that goes then lets talk about making the streetcar tracks lane no car during rush hour.


  5. Maybe a cheaper, faster way of congestion relief is to provide a useful bike lane parallel to travel demand? Currently the streetcar tracks dictate lane position, and function like road hogs, hazardous ones too, given how the tracks can throw some cyclists. If we had a single, smooth, safer, longer route from say Parkdale to the core, how much demand could be shifted away from both cars and transit? Would the price of a single streetcar equal that of a bikeway including some land purchase? as at times the side streets are quite disconnected.

    Bikes can be very competitive with transit in many places, and the “service” is not improving, nor will it with the new streetcars that are longer and come less often thx Mr. Giambrone et al.


  6. Do you think the TTC will ever look at removing the Charlotte loop? I understand short turning cars but that area so congested now compared to 10 or even 5 years ago and as you can see it slows everything to a crawl.

    Steve: The loop should be retained for turnbacks, but the real fight is to get them to run most or all service down to Queen’s Quay. There are severe crowding problems with people travelling east to Union in the AM peak, but the TTC doesn’t seem to think this is a problem. A related issue will be retiming of the signals at Spadina, Lake Shore and Queens Quay to give better priority to transit. If all of the 510s go to Queens Quay, there won’t be enough green time for them.


  7. According to the folks in Service Planning, once the 510 starts using the new streetcars, every other car will be a through car to Union Station (as opposed to every third car going to Union and 2/3 of service turning back at King, as it is currently done – or was done before all of the construction south of King began). Combined with fewer cars on both the 504 and 510 during rush hours, this should improve traffic at King & Spadina.


  8. Excellent work and graphically poignant.

    It would be interesting to try to overlay on the chart a second chart corresponding to a given suggestion such as Mr Byford’s transit only King street. A Saturday chart might approximate this suggestion, which if overlaid would identify idle time, perhaps in red on a combined chart. Then the red idle time could be costed, identifying savings if the plan were to be implemented. Sometimes dollars speak louder than complaints.

    As for streetcar costs, Steve, you may know published figures, but my ‘guess’ for all in cost (depreciation, maintenance, power, operator, insurance) for the new $5m car is over $200.00 per hour.

    Steve: I would have to dig into my archives to look at costs from a few years ago and pro-rate them forward allowing for supposed better vehicle reliability. One point, though, is that depreciation is not included in operating costs. I would not want to think what a typical trip on the subway would “cost” if we included the capital component with both depreciation and debt service costs. The City of Toronto is still paying off the debt on the Sheppard Subway, and half of what remains is financing costs, not initial construction.


  9. Using NextBus data people have created visualization of vehicle speeds for Boston and San Francisco. The source code is available so it could be easily adopted to Toronto as a whole or generated for selected periods and routes.

    I was planning on doing it myself, but I haven’t got around to it.

    Maybe your arguments would be more compelling to the powers that be if your charts looked prettier.

    Steve: There is a lot more going on in my charts than just the speed of the vehicles. Some of the powers that be are very interested, but some others prefer to perpetuate the idea that transit vehicles running in mixed traffic will always provide irregular service even if that “traffic” consists of little more than the occasional pigeon walking across the road.

    I had a quick look at the code, and what it is doing is producing a map using 24 hours’ worth of data of the speed at each point (defined as the current latitude and longitude of a vehicle, and its speed calculated from the change in position and time to the next observation). For good analysis, this needs to be narrowed down to specific time periods and a finer view of locations.

    The data I have presented as a congestion chart could be viewed in another way to calculate a speed chart along the route on the following basis: if you are at point x “now” and at “y” in 20 seconds’ time, then the speed is (y-x) scaled to km/hour. Note that I have already flattened the geography of a route to eliminate the changes in direction, and the values of x and y have only one dimension, not two as in GPS co-ordinates.

    The sample code is only interested in individual delta values, not in specific routes, and so it takes every vehicle for every time value. The speed is calculated by looking at the diagonal of a triangle with the latitude and longitude delta values as the north-south and east-west sides. This has to be scaled for whatever city you are in because the distance implied by a change in longitude is different depending on your latitude.


  10. I was on King a few days back and I would imagine due to the shutdown there were something like 8-10 vehicles in a row. Crawling forward and I was wondering how this situation will be handled with the new vehicles, 10 vehicles will take up most of the drivable space from Yonge to Spadina and there is nowhere for them to wait to get a better spacing once service resumes. Clearing intersections becomes a challenge and parked cars near intersections could cause passing issues. I guess usually they could use Spadina and do loops around the core until things clear, but clearly they had no alternatives this time.

    Steve: Too many jobs are scheduled all together in part because work is being crowded in advance of the Pan Am Games.


  11. Why was the Charlotte loop ever put in? I’ve always though the TTC was wasting its money on that when they have a perfectly good loop at Queen’s Quay.

    Steve: The TTC didn’t want to send all of the service down to Queens Quay. That forest of condos did not exist when the Spadina line was planned. Also, Charlotte Street was a quiet little side-street, and King-Spadina was not a permanent condo construction site.

    The big fight locally is to get all of the service routed to Queens Quay, but that will trigger problems with intersection capacity thanks to the very long green times for Lake Shore Blvd.


  12. Once the 510 Spadina runs with the new low-floor cars, I believe the plan is to only short-turn half of the service at King (as opposed to two-thirds, as it is done now). Headways south of King will likely increase slightly, but capacity will be improved significantly compared to today, due to the much larger cars. So folks in the condo developments south of the rail corridor should get a visibly improved service.

    To improve capacity even further will likely require an add-on order to the current 204 vehicles, which I would be very surprised to see proceed under the current administration. On the bright side, Bombardier would likely not object until at least 2016-2017, so there is still time.


Comments are closed.