Skip to content

feat: sibling stops transfers - #75

Merged
aubryio merged 5 commits into
mainfrom
feat/sibling-transfers
Jul 25, 2026
Merged

feat: sibling stops transfers#75
aubryio merged 5 commits into
mainfrom
feat/sibling-transfers

Conversation

@aubryio

@aubryio aubryio commented Jul 25, 2026

Copy link
Copy Markdown
Owner

Fixes #59

I see value in distinguishing between generated "sibling stops" (stops that share the same parent) transfers and cross-stop transfers. In Switzerland, it's tricky to rely on the virtual transfers logic #73 as without more complex routing logic it would create transfers between the start and end stops of vertical elevators, steep funiculars, etc. as they have a very short (sometimes 0) travel distance.

Thus, I propose to:

  • Give an option to create all missing sibling stops transfers and always use the default transfer time for those as they are often very close to each other, most likely with staircases and complex pathways making the actual distance hardly relevant.
  • Use the optional "virtual" transfer logic on top, which would then focus on covering the remaining non-sibling stop to stop transfers.

@matthiasfeist don't hesitate to let me know if you see a use-case where this sibling stops transfers logic is an issue - we can alternatively make it optional too. EDIT: I made it optional via a profile config already.

I also added support for the "forbidden transfers" which gets applied to prevent explicitly forbidden transfers from being generated.

@aubryio
aubryio merged commit 22919e5 into main Jul 25, 2026
8 checks passed
@matthiasfeist

Copy link
Copy Markdown
Contributor

Nice one!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Missing transfers (not modeled in transfers.txt in swiss GTFS)

2 participants