Imagine: you’re getting ready to visit a conference in a new city, and looking to book a hotel. You have some early morning sessions, so you’d like to be within a 10 or 15 minute walk of the venue so you can jump out of bed and be there in a snap. The hotel right next to the venue has jacked up its prices. What cheaper hotels are available a bit further out that will still let you get to the conference venue quickly?
It’s a simple geographic question: “Where can I travel considering my current travel conditions?” We don’t think of it as often as its sibling, “How do I get there?”, but the answer is no less critical to decisions we make every day: Deciding where to walk to lunch during a reasonable break time, if we can go out of our way on our evening commute to pick up or drop off some dry cleaning and still be home in time for our favorite TV show, and so on. Most travel decisions we make are constrained by factors like travel time; the accessible road and street network from our current location; and the modes of transit available to us, whether that’s walking, biking, public transit, driving, or some combination. However, while there are plenty of services designed to answer “How do I get there?” and give us turn-by-turn directions – Google Maps, GPS in our phones and cars, even our own internal “mental maps” – there’s a surprising lack of resources to help you discover where you can go while taking into account the travel constraints you may have. A new open source project developed and just released by Azavea developers Rob Emanuele and Josh Marcus, GeoTrellis Transit, helps to close that gap.
The “Where can I travel?” question can actually be answered by a tool in the spatial analysis arsenal called a “travelshed.” Borrowing from the concept of a watershed, a travelshed can be thought of as the geographic area that a person can travel to in a given amount of time, with a given transportation mode. When public transit schedules are involved, we may also need to consider the time of day.
Calculating travelsheds is a computationally-intensive endeavor that involves traversing many edges and nodes in a network of streets and transit routes. While there are desktop tools like Esri’s ArcGIS that can calculate travelsheds (Esri calls them Service Areas, part of the Network Analyst extension), this sort of advanced spatial analysis technique has struggled to make its way into browser-based web applications. That’s why we developed GeoTrellis Transit, which leverages our open source GeoTrellis library for high-performance geoprocessing as well as lessons we learned from a similar web application we developed a few years ago called CommonSpace.us. With the help of the William Penn Foundation and TechImpact, and in anticipation of the recent Apps for Philly Transit hackathon, we have also set up a hosted REST API version of GeoTrellis Transit for the greater Philadelphia area as well as two demo applications that you can play with.
GeoTrellis Transit works by building a street network from OpenStreetMap data or use GTFS data for public transit schedules. For the Philadelphia version, this currently covers SEPTA regional rail, as well as buses and subway/trolley.
GeoTrellis Transit also includes two other useful functions. With the “reachable” function, you can send it a starting location, maximum trip time, and a list of possible destination points, and GeoTrellis Transit will determine which points are reachable in that amount of time. The “scenic route” function can take a starting location and an ending location, and return a map describing the intermediate locations you could still pass by on your way to your destination, without being late!
We were excited to see GeoTrellis Transit used in two projects that came out of the recent Apps for Philly Transit civic hackathon: Enter Return, which helps find public-transit accessible resources for reentering prisoners, and Public School Accessibility, which looks at the transit accessibility of Philadelphia schools after the recent closures.