public-transport/gtfs-utils

optimise-services-and-exceptions: analyse distribution of service dates -> truncate/expand time span

Open

#41 opened on Feb 28, 2022

View on GitHub
 (1 comment) (0 reactions) (0 assignees)JavaScript (4 forks)github user discovery
enhancementhelp wanted

Repository metrics

Stars
 (46 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

As of gtfs-utils@5.1.0, optimise-services-and-exceptions.js implements a very rudimental optimisation strategy:

  • it calculates all service dates (both "regular" & exception_type=1-based) of a service, and then
  • checks if there are more "regular" than exception-based dates (in this case, it sets the respective daw of the week (DoW) flag to 1), or vice versa.

There is a lot of potential in changing the time span (start_date/end_date) of the service, so that the number of exceptions necessary to express it is minimised. To do this, we must consider the distribution of the service's dates, so that rare outliers – e.g. Christmas with a service that only runs during summer & on Christmas – are expressed as exceptions, whereas the majority of the dates is express using DoW flags.

Contributor guide