Porto Taxi
Full name: Taxi Service Trajectory - Prediction Challenge, ECML PKDD 2015

An accurate dataset describing trajectories performed by all the 442 taxis running in the city of Porto, in Portugal. 

We have provided an accurate dataset describing a complete year (from 01/07/2013 to 30/06/2014) of the trajectories for all the 442 taxis running in the city of Porto, in Portugal (i.e. one CSV file named "train.csv"). These taxis operate through a taxi dispatch central, using mobile data terminals installed in the vehicles. We categorize each ride into three categories: A) taxi central based, B) stand-based or C) non-taxi central based. For the first, we provide an anonymized id, when such information is available from the telephone call. The last two categories refer to services that were demanded directly to the taxi drivers on a B) taxi stand or on a C) random street.

Each data sample corresponds to one completed trip. It contains a total of
9 (nine) features, described as follows:

    TRIP_ID: (String) It contains an unique identifier for each trip;

    CALL_TYPE: (char) It identifies the way used to demand this service. It may contain one of three possible values:
    ‘A’ if this trip was dispatched from the central;
    ‘B’ if this trip was demanded directly to a taxi driver on a specific stand;
    ‘C’ otherwise (i.e. a trip demanded on a random street).

    ORIGIN_CALL: (integer) It contains an unique identifier for each phone number which was used to demand, at least, one service. It identifies the trip’s customer if CALL_TYPE=’A’. Otherwise, it assumes a NULL value;

    ORIGIN_STAND: (integer): It contains an unique identifier for the taxi stand. It identifies the starting point of the trip if CALL_TYPE=’B’. Otherwise, it assumes a NULL value;

    TAXI_ID: (integer): It contains an unique identifier for the taxi driver that performed each trip;

    TIMESTAMP: (integer) Unix Timestamp (in seconds). It identifies the trip’s start;

    DAYTYPE: (char) It identifies the daytype of the trip’s start. It assumes one of three possible values:
    ‘B’ if this trip started on a holiday or any other special day (i.e. extending holidays, floating holidays, etc.);
    ‘C’ if the trip started on a day before a type-B day;
    ‘A’ otherwise (i.e. a normal day, workday or weekend).

    MISSING_DATA: (Boolean) It is FALSE when the GPS data stream is complete and TRUE whenever one (or more) locations are missing

    POLYLINE: (String): It contains a list of GPS coordinates (i.e. WGS84 format) mapped as a string. The beginning and the end of the string are identified with brackets (i.e. [ and ], respectively). Each pair of coordinates is also identified by the same brackets as [LONGITUDE, LATITUDE]. This list contains one pair of coordinates for each 15 seconds of trip. The last list item corresponds to the trip’s destination while the first one represents its start;

The total travel time of the trip (the prediction target of this competition) is defined as the (number of points-1) x 15 seconds. For example, a trip with 101 data points in POLYLINE has a length of (101-1) * 15 = 1500 seconds. Some trips have missing data points in POLYLINE, indicated by MISSING_DATA column, and it is part of the challenge how you utilize this knowledge.
Acknowledgements

Data from ECML/PKDD 15: Taxi Trip Time Prediction (II) Competition
Inspiration

Added this dataset because competition datasets do not appear in the dataset search and this dataset could help learn basic
methods in the area of geo-spatial analysis and trajectory handling