Bus passenger analytics data from a small city of Tampere pilot project. The
technology including the original backend system was by the Spanish company
Counterest. In the pilot, 3D character recognition
sensors were installed to one bus operating on a single line. The sensors were
used to count people entering and leaving the bus. This sensor data together
with location and bus route information was then used to create various
analytics in the system backend. These include line level statistics, stop level
statistics, statistics for travels between specific stops on a line and
statistics showing passenger amounts for each hour during different weekdays.
The data could be inspected with a web dashboard. The data was collected between
February and April 2019. During this period, there were some occasional technical
difficulties so not all possible data was collected. A subset of this data was
transferred into the Tampere University FIWARE platform and is the only part of
the data that is currently available. See the
CityIoT project for
general information about how the measurements are stored and can be used.
Data model
The data model is based on the official FIWARE UrbanMobility
data model, which in turn is based on the General Transit Feed Specification.
The General Transit Feed Specification (GTFS), also known as GTFS static or
static transit, defines a common format for public transportation schedules and
associated geographic information. GTFS "feeds" let public transit agencies
publish their transit data and developers write applications that consume that
data in an interoperable way.
However, this data model does not contain schedule information and thus is not fully compatible with the Urban Transport data model. Attributes for passenger amounts have been added and some mandatory attributes such as arrival and departure times are not used since that information is not available from the original data source.
The model consists of the following entity types:
- GtfsRoute: Represents a bus route or line that consists of trips.
- GtfsTrip: Concrete implementations of the route with for example two trips representing the route to both directions.
- GtfsShape: GtfsShapes describe the physical path that a vehicle takes. Shapes are associated with individual trips.
- GtfsStop: Represents a bus stop, i.e., a location where buses pick up and drop off passengers.
- GtfsStopTime: Represents the bus stopping on a stop as a part of a trip. In other words, these tell what stops a trip consists of.
See the attached documentation for detailed descriptions of the data model
including used attributes.
Notes about the data
The data is quite limited. It was collected only from one line (GtfsRoute) and
only from one vehicle on that route. There were also some technical difficulties
during the data collection period, so there is some missing data.
Accessing the data
The data is stored in the Tampere University CityIoT platform. The used FIWARE
service is public_transport and all entities there are under the service path
/Tampere/passenger_analytics.
Example requests
A few example curl commands for getting the data. Replace your_apikey
with an api key that has at least read access to public_transport service.
Get all GtfsTrip entities, i.e., information about the route for both directions from Orion:
curl -H 'Fiware-Service: public_transport' -H 'Fiware-ServicePath: /Tampere/passenger_analytics' -H 'apikey: your_apikey' "https://tlt-cityiot.rd.tuni.fi/orion/v2/entities?type=GtfsTrip"
Get daily passenger statistics for the trip from Pyynikintori to Rauhaniemi from Quantumleap for the 10 most recent days:
curl -H 'Fiware-Service: public_transport' -H 'Fiware-ServicePath: /Tampere/passenger_analytics' -H 'apikey: your_apikey' "https://tlt-cityiot.rd.tuni.fi/quantumleap/v2/entities/urn:ngsi-ld:GtfsTrip:1:2?lastN=10&attrs=dailyPassengers"