Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Routing helper: Top panel with basic control (go to next/previous) #23

Open
floscher opened this issue Aug 23, 2020 · 2 comments · May be fixed by #25
Open

Routing helper: Top panel with basic control (go to next/previous) #23

floscher opened this issue Aug 23, 2020 · 2 comments · May be fixed by #25
Assignees
Milestone

Comments

@floscher
Copy link
Member

floscher commented Aug 23, 2020

The routing helper should display a top panel with button controls that allow you to step through the relation members.
When stepping to the next member, the map zooms to that member.
There are four buttons: to previous gap, to previous member, to next member, to next gap

For the time being I think it's enough to only step through the members that have an empty role. The platform and stop members would then come later for the transport modes that have stops and platforms.

@floscher floscher added this to the v2.2 milestone Aug 23, 2020
@floscher floscher self-assigned this Aug 23, 2020
@PolyglotOpenstreetmap
Copy link
Collaborator

At the moment the routing helper iterates over the way members automatically, until it finds one that has a problem.

The problems can be:

  • There is a gap
  • The way is oneway for the mode of transport (MOT) and traversed in the wrong direction and there is no exception for the MOT
  • The way and the previous way are in a turn_restriction relation which applies for the MOT

(These same problems can also be reported by the validator)

I'm not sure if it makes sense for the user to be able to iterate all the members step-by-step. The mapper will mostly be interested in the problems, so a fast forward to skip the good members seems useful too.

If a gap is encountered (maybe this part needs to be split out to a separate issue), the following needs to happen:

  • check all the ways on the end node of the last way that doesn't connect to the before last way and if they are suitable for the MOT and there are no turn restrictions, add them to an array/list of suitable candidates.
  • If there is only one such way, add it to a list of ways, until there is more than a single candidate way.
  • While doing this, also keep a list of ways that start from middle nodes of this string of ways, so they can also be highlighted/made clickable.

When a fork was encountered, update the display.

Show the forked way candidates in multiple colours, show the string of ways leading up to the fork in multiple colours. Now it's striped, it would be nicer if it looked more like a metro map, so the colours following the ways in colour bands.
Show the ways leading off the middle nodes in a single colour. There might be many. Atm option 8 toggles between them, but it's not very obvious to the user what is going on.

@floscher
Copy link
Member Author

I would like to give the user more control in the new routing helper. When I tried the current routing helper for some relations it would just open several download progress bars and then did nothing at all, so I wouldn't know at all what was going on.

That's why I'd like the routing helper to just highlight the currently selected member and do nothing else when started.
Then there are buttons to step through the members. I'd start with buttons that only step one member at a time and buttons to skip to the next gap (that one I forgot to mention in the comment above).
At a later stage we could drop the manual stepping or add other buttons.

This issue is just intended for the basic controls to step through the members that are already there. For the other stuff I started to create notes in the project that can then be converted to issues, when they are being worked on: https://github.com/JOSM/pt_assistant/projects/2

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 a pull request may close this issue.

2 participants