Input data
For computing the travel time matrices, we used a set of openly available data sources.
The street network, used in the computation of the walking, cycling, and car travel times, as well as for access, egress, and transfer to, from, and between public transport legs, is based on OpenStreetMap (OSM) data (https://planet.osm.org/). OSM is the primary source of GIS data the Helsinki Region Transport Authority (HSL) uses24, and is actively maintained and updated by the City of Helsinki. OSM’s road network representation is considered on par with commercial products. To model the network at a precise date and time, we created a workflow that uses osmium25 to extract the OSM network at a defined point in time from a full history database.
As for the public transport schedule, we used the openly available data set that is provided by the Helsinki Region Transport Authority (HSL) in General Transit Feed Specification (GTFS) format, describing routes, stops, and schedules of the local regional public transport network. The routing engine used (see below) natively supports this standardised file format; transport authorities and public transport operators in many cities and regions around the world use this format. Similarly to the street network, we devised a workflow that finds and downloads the precise GTFS data set valid on the date chosen for analysis from Transitland (https://transit.land/), an online repository providing a history of GTFS schedule data sets for many operators worldwide.
As a reference grid, and as origin and destination locations for the travel time models, we used the 250 × 250-meter grid from the Monitoring System of Spatial Structure and Urban Form (Yhdyskuntarakenteen seurantajärjestelmä, YKR) established by the Finnish Environment Institute and Statistics Finland Syke (https://stat.fi/org/avoindata/paikkatietoaineistot.html#tilastoruudukko-250m). This data set, commonly known as the YKR grid, is available for the entire country, and is compatible with various statistical data provided by Statistics Finland. It thus enables the combination of the travel time results with other sociodemographic and environmental data16,17. We snapped the centroids of all grid cells to the walkable network, with a maximum snapping distance of half a diagonal of the grid cell. To account for the snapping, the time needed to walk its linear distance was added to the overall trip travel times. Unsnappable centroids, i.e., those further than 353.5 m from the walkable road network, were discarded from the computation.
To better model the local variation in cycling speeds, we obtained two data sets that we consider representative of different cyclists in the city of Helsinki: (1) an open data set (https://www.hsl.fi/en/hsl/open-data#journeys-made-by-city-bikes) of the local bicycle sharing system (BSS), and (2) data from Strava Metro (https://metro.strava.com/), a fitness application. The BSS data contains details on 3.1 million trips made between April and October 2019, including average speeds. Strava data was downloaded from the Strava Metro dashboard, where we selected monthly data for September 2022 for all ride activities (commute and leisure). We then summarised the data per OSM edge to obtain average speeds cycled. Strava Metro requires registration and approval, but is free of charge for research that benefits regional decision making.
Similarly, to account for the actually driven speed of cars, we obtained a sample of floating car data that recorded road links and the average speeds driven on them at different times of the day (TomTom TrafficStats, https://www.tomtom.com/products/traffic-stats/). We computed coefficients between prescribed speed limits and driven speeds per urban form type that then could be applied to all street segments in the study area. We followed the approach presented by Perola26. This is the only data set used in producing the travel time matrices that is not openly or freely available for research purposes.
Door-to-door approach
All travel times in our data set are based on trips that follow a door-to-door approach, i.e., they include the overall time required for a trip from an origin to a destination. For instance, for public transport, the times include walking to a stop and waiting in-between connections. For car routing, the travel times include the time needed to park and walk to and from the parking spot, and for cycling the time needed to unlock and lock the bicycle.
Diurnal variations
Driving times are highly sensitive to congestion levels that vary throughout the day. In a similar manner, but with reversed effects, public transport times are affected: during rush hours, shorter intervals provide faster connections (granted that the network is not overloaded). To account for these diurnal variations, we computed travel times separately for the morning rush hour (08:00–09:00), midday (12:00–13:00), and nighttime (01:00–02:00), for cars and public transport. Our computation considers the according schedules and the measured car speed coefficients for each of these times.
Routing with different travel modes (door to door)
For all routing, we used the r5py Python package20, which we developed specifically for the purpose of producing travel time matrices for Helsinki and other cities. The tool is modelled after r5r27; similarly to this R library, r5py provides a convenient Python interface to the R5 routing engine21,22,23 that is realised in Java.
With the exception of public transport routes, which are computed using a multi-criteria RAPTOR algorithm23,28 using GTFS schedule data, all routes are calculated using an A* algorithm29,30 on a street network derived from OSM. This is the default behaviour of the R5 routing engine.
Public transport
To find public transport routes, we searched for all connections between all origins and destinations, departing at every minute of a one-hour window, and recorded the first percentile travel time (the fastest connection in this time window). The algorithm followed a door-to-door approach, using walking as the mode for access, egress, and transfer between stops. The distances for access and egress are capped at 2,000 m, for transfer between stops at 1,000 m. The model was computed for different walking speeds to represent the different ability of different city residents.
Private car
Travel times for cars are sensitive to actually driven speeds, as opposed to speed limits, to account for congestions and road design. We calculated speed coefficients using floating car data for each road segment based on urban structure and prescribed speed limit. We replaced the turn penalties built into the R5 engine with edge traversal times calculated using these speed coefficients. Indeed, our model can more realistically represent typical driving speeds in different types of roads (e.g., residential streets, highways), as described in detail in the section on validation and evaluation, below.
As with the other travel modes, we followed the door-to-door approach for private car routing. For car travel, this included walking times to and from the car, and the time needed to search for a free parking spot, which varies greatly in different parts of the metropolitan area. We used the values identified in a survey31 of typical parking times in the Helsinki Metropolitan area, categorised by municipality and urban form.
Cycling
For cycling routes, we retained the logic implemented in the R5 engine that prefers cycling infrastructure over car lanes and adds penalties for stop signs and traffic lights. On top of that, we assigned cycling speeds to each street segment according to three different categories of cyclists: (1) to model ‘fast’ cyclists, we extracted average cycling speeds reported on the fitness tracker app Strava, (2) for ‘slow’ cyclists, we computed a network-wide average of cycling speeds reported in the Helsinki bike-sharing system and applied the per-edge corrections obtained from the Strava data set, and (3) for ‘average’ cyclists we used the mean values between the two. The network-average speeds were 19.89 km/h, 16.41 km/h, and 12.93 km/h for fast, average, and slow cyclists, respectively. Finally, we added a flat penalty for unlocking and locking a bicycle (30 seconds each32).
Walking
For computing walking routes, we retained the logic implemented in the R5 engine that adds penalties for road crossings, traffic lights, and busy roads. In the Helsinki region, OSM provides a comprehensive and detailed walking network, which also includes footpaths in parks and in other areas without motorised traffic. As with cycling, we computed travel times for ‘average’ and ‘slow’ walkers, separately, at 5.15 km/h and 3.43 km/h, respectively. These values are based on the walking speed measurements carried out by Willberg et al.19, who found these values to describe typical walking speeds of the adult population in summer conditions and of older people in winter conditions, respectively.
Discover more from PressNewsAgency
Subscribe to get the latest posts sent to your email.