Skip to content

Fixed #9406: By treating aerialway=station as valid start/end point which suppresses the false warning#11675

Closed
Razen04 wants to merge 4 commits intoopenstreetmap:developfrom
Razen04:footways-fix
Closed

Fixed #9406: By treating aerialway=station as valid start/end point which suppresses the false warning#11675
Razen04 wants to merge 4 commits intoopenstreetmap:developfrom
Razen04:footways-fix

Conversation

@Razen04
Copy link
Copy Markdown
Contributor

@Razen04 Razen04 commented Dec 13, 2025

Description

Currently, iD warns for paths which are not connected to any other route any is contained within a building like gondola stations which is a false positive. This has been explained in detail in Issue #9406.

Fix

The fix to this is simple, we just add an extra check in the isConnectedVertex function to check if a vertex in the path has aerialway=station and return true for that, which means the path is valid to have start/end in the gandola station even if they are not connected to any other roads or highway(which they aren't supposed to).

Fixes #9406

Before:

Screenshot 2025-12-13 at 3 53 10 PM

After the if statement:

Screenshot 2025-12-13 at 3 53 47 PM

References

This is similar to issue #3906 - which showed problems with foothpaths connecting two buildings.

Comment thread modules/validations/mutually_exclusive_tags.js
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we have another preset, called Aerialway Stopping Location, which seems to be used in much the same way, and also seems to be a routing sink.

Should this logic apply to that tag as well?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think public_transport=stop_position && aerialway=* should be treated the same way as aerialway=station.

In both cases, the mapper is explicitly marking a boundary where pedestrian movement ends and aerial transport begins.

This is different from public_transport=stop_position for buses, trams, or trains, where pedestrian connectivity is expected to continue.

So should I add that case too in the code?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think so, but I would be also fine with doing it as a next PR (note: not a maintainer)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's see why k-yle says. The fix is just one line more i suppose.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@k-yle do you have by any chance time to look into that?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it should be a trivial change, i would fix it in this PR imo, so that we have a centralised place to this discuss this topic

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll do it.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

appears to be done, from what I see

@Razen04
Copy link
Copy Markdown
Contributor Author

Razen04 commented Mar 1, 2026

I messed it up in between, lol. Anyways I think I made. the correct change, do look into it once.

@matkoniecz
Copy link
Copy Markdown
Contributor

Yeah, this 579 changed files looked a bit suspect :)


// treat nodes inside gondola stations and ski lifts as connected
if (vertex.tags.aerialway) {
if (vertex.tags.aerialway === 'station' || vertex.tags.public_transport === 'stop_position') return true;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess it would also count say public_transport=stop_position aerialway=no ?

And public_transport=stop_position aerialway=whatever_gibberish ?

Should requiring specifically aerialway=station or public_transport=stop_position aerialway=yes be needed?

Comment thread CHANGELOG.md Outdated
Co-authored-by: Mateusz Konieczny <matkoniecz@gmail.com>
@tyrasd
Copy link
Copy Markdown
Member

tyrasd commented Mar 22, 2026

I fixed this slightly differently in cd255c8: the aerialway ways themselves can be considered to be part of the routable network in such cases. There's no need to do the hacky treat vertex as routing source for this particular issue.

@tyrasd tyrasd closed this Mar 22, 2026
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.

Footways in ID are flagged as disconnected when between ski lifts and ski piste

4 participants