The image below demonstrates how FME (Safe Software Inc,
http://www.safe.com/) and Google Earth can be used to visualise transit ridership data. The graph shows average bus volumes and stop activity (boardings and alightings) at each stop along a particular bus route (such graphs are typically referred to as “load profiles”). The attachment is underlying KMZ file.
By using a map to display the load profile, this method of representation is much easier to interpret than traditional methods. Geographic patterns, and the interaction between different routes becomes immediately evident. This increases accessibility of the information to the general public and facilitates analysis by transit planners.
In the past, load profiles have been created in spreadsheet software, with the x-axis representing stops along a route. These were useful, however, the geographical information was not easily interpreted, because it consisted of stop location names, in text, on the x-axis. This new method uses the map as the x-axis, which facilitates interpretation.
I created the load profile using FME. The profile is based on transit ridership data collected by TransLink, the public transit agency for Metro Vancouver in British Columbia. The raw data was collected via the agency’s Automatic Passenger Counter system. The general gist of the process that I used to create this load profile is as follows:
1) Using database software, create a table with the following fields.
o Stop Sequence
o Average Load
o Average Boardings
o Average Alightings
o Stop Latitude
o Stop Longitude
2) In FME, add this table as a source dataset and use a combination of transformers (PointReplacer, Sorter, PointConnector, etc) to create a graph. Order the points, and connect the dots. The tricky part is creating a stepwise graph. To do this, create a duplicate set of points (excluding the first stop) and assign a load value equal to the previous stop’s load. So now you have the original points (1A, 2A, 3A, etc.), and the duplicate set (2B, 3B, etc.). For example, point 3B will have the location of 3A and the volume of 2A. When you sequence the points, sort them first by stop location, and then by duplicate/original (i.e. 1A, 2B, 2A, 3B, 3A, etc.).
3) The stop activity bars (red and green bars indicating average boardings and alightings) were created by extruding buffered points, with elevation values equal to the average boardings/alightings per stop.
When dealing with data for several routes, it is useful to create an FME workspace that will simultaneously process the data for all routes. This requires that route, direction, (pattern, if applicable), time-of-day, and day-type fields be included in the original table. Use the kml.parent and kml.id attributes to create a logical hierarchy of folders to organise the many load profile outputs.
Graeme Brown