google / google/transit

Define "header.incrementality: DIFFERENTIAL" consumer/producer behavior

Open
#84 42 comments 0 reactions 0 assignees View on GitHub
GTFS Realtime
Dominant language
No language data
Stars
1.1k
Forks
225
Avg merge
7d 17h
Merged PRs (30d)
3

Description

GTFS-rt spec current says the following about [differential messages](https://github.com/google/transit/blob/master/gtfs-realtime/spec/en/reference.md#enum-incrementality):

>currently, this mode is unsupported and behavior is unspecified for feeds that use this mode. There are discussions on the GTFS Realtime mailing list around fully specifying the behavior of DIFFERENTIAL mode and the documentation will be updated when those discussions are finalized.

Based on a discussion starting in https://github.com/opentripplanner/OpenTripPlanner/pull/2516#issuecomment-350117175, differential feeds are being used in practice.

I've opened this issue to start to document behavior for deployed feeds using differential messages, with the goal of working towards a proposal/pull request to better define differential producer/consumer behavior in the GTFS-realtime spec.

In https://github.com/opentripplanner/OpenTripPlanner/pull/2516#issuecomment-350306537, @abyrd says:

>To summarize, our differential GTFS-RT uses trip-level granularity, and the effects of successive messages about the same trip do not accumulate.
>
>An update about a trip is always cleanly applied to the base trip from the original static feed, with no consideration for any previously received message. The differential effect comes from accumulating changes to different trips across the whole data set.

If anyone else is producing/consuming differential messages, please add comments here for any design documentation for expected consumer/producer behavior.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.