Skip to content

Conversation

@DomeQdev
Copy link

@DomeQdev DomeQdev commented Aug 9, 2025

This PR improves the fallback mechanism for pedestrian routing when a path cannot be found, particularly between different levels (e.g., underground to surface).

Currently, a failed routing attempt results in a "dummy leg" based on a straight-line distance, which is unrealistic and misleading for the user.

Fixes #966

@felixguendling
Copy link
Member

Any concrete example where this helps?

As with the other PR:

I would also recommend to discuss your approach before starting to work on something for several reasons:

  • what's the best way to implement it?
  • who else might already be working on something in the same direction?
  • does this have chances to be merged at all?

@felixguendling
Copy link
Member

I'm pretty sure this does not fix #966 as there we don't want any footpath to be found at all.

@DomeQdev
Copy link
Author

@felixguendling
Copy link
Member

why?

It requires a 1,5h walk to the next bridge. This is not something we want to consider for transfers. It's not about how the transfer is being displayed but more about the wrong transfer time and that we have a transfer time limit that's way below 1,5h.

@DomeQdev
Copy link
Author

Okay, so if we knew the travel time was 1.5h, we wouldn’t show it at all.

@felixguendling
Copy link
Member

felixguendling commented Aug 11, 2025

Not just that. Since this unrealistic journey probably dominated other (more useful and realistic) alternatives during the routing, we would maybe even show something more useful instead. In order to show these alternatives, we are not allowed to produce a transfer here at all (at least not with 2min when it actually takes 1,5h).

Besides that it doesn't solve #966 regarding this actual PR:

  • please use "AAA style" (see docs/STYLE.md) which means the left hand side of an assignment is always auto or auto const if possible
  • why not use the wildcard level which matches any level. This should probably be even more robust than fixing the level to ground level?

@DomeQdev
Copy link
Author

How do you plan to fix this when some OSM data is simply broken for certain stations (e.g. Rondo ONZ in Warsaw)?

How will you distinguish between missing stairs that connect the platform with the surface, and missing a bridge across a river?

@felixguendling
Copy link
Member

OSM is not set in stone. More or less the opposite is the case: everyone is invited to fix broken data. So "simply broken" today could mean that it's already fixed tomorrow. That would always be the preferred option as it provides the best information to users.

However, I am not opposing this PR to make the routing for the path display more robust against broken OSM data.

With a transfer time limit of 20min the case in Warsaw will produce a valid transfer while the bridge case will still find anything on OSM data. The primary problem with the bridge case is that no routing was involved at all because we don't have osr_footpath setting active in Transitous yet.

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.

Impossible interchanges in Motis

2 participants