Skip to content

Missing functionality to define "conceptual grouping of stops/stations" in existing GTFS #438

@tzujenchanmbd

Description

@tzujenchanmbd

Context

Recently, community members from Asia, Europe, and North America have pointed out the current GTFS missing functionality of defining conceptual grouping of stations/stops (or lacking "another-level" of hierarchy of stations/stops (Station cluster))

Here are some relevant discussion records recently:

Members from the Association for Open Data of Public Transportation [ODPT, JP] and the Japan Bus Information Association have also brought up this issue to us.

Issue

According to the current specification, location_type=1 is "station" (a physical structure or area that contains one or more platforms). This hierarchy doesn't provide functionality for defining station/stop grouping that riders conceptually think of it.

Based on the information we've gathered, having a new mechanism could be beneficial for the following use cases:

  1. Directing via station entrance or directing via street networks
    For example, There are a train station and multiple adjacent bus stations on a public street, and they can share the same or similar station names. According to the current description of location_type=1, it seems these adjacent bus stops should not be included within the hierarchy of this train station (parent_station). When these bus stops are independent, consumers can correctly direct riders using the street network, rather than mistakenly guiding riders to use entrances(and pathways). However, this approach may have some drawbacks, such as:
  • Confusion in search results when bus stops share the same name as the train station.
  • Unable to set service alerts for the entire conceptual group.

    On the other hand, some producers may include these bus stops within the hierarchy of the train station. However, doing so will lead consumers to give riders incorrect directions (using entrances and pathways).

    The current GTFS lacks a mechanism to define this conceptual grouping while also able to distinguish whether riders need to pass through an entrance. This could potentially be achieved by adding a field or introducing a higher-level hierarchy (station cluster).
  1. Searching and visualization
    Considering another example: there are multiple adjacent heavy rail stations with their own physical structure and entrances. They serve different routes/agencies and have the same station names. The current GTFS cannot define this station "cluster" that have a higher-level conceptual grouping. When riders search for this station name, consumers may provide them with an incorrect station, causing confusion.

    In this particular example, a higher-level of hierarchy (station cluster) seems necessary if we want to group these stations together, since each of them also serves as a parent station for their own entrances and stops(platforms).

  2. Service alerts
    Producers can directly set service alerts for the entire conceptual group, such as the entire train/subway station complex or multiple adjacent bus stops with identical station names.

  3. Effective Fare Leg
    When the fares v2 working group discussed rules for treating two or more legs as a single leg for fare calculation purposes, we considered how to formulate station-related semantics, how to include stop pairs, and different modes. A functionality of defining conceptual grouping might help to formulate fare_leg_join_rules.

Please share any examples for the above use cases, any other relevant use cases, which use cases are more critical for your region, or any other thoughts here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Change type: FunctionalRefers to modifications that significantly affect specification functionalities.Discussion PeriodThe community engages in conversations to help refine and develop the proposal.GTFS ScheduleIssues and Pull Requests that focus on GTFS ScheduleSupport: Needs Feedback

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions