Opened 2 years ago
Closed 2 years ago
#23194 closed enhancement (wontfix)
[patch] Add disused:route to validator
| Reported by: | gaben | Owned by: | team |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Core validator | Version: | |
| Keywords: | disused route | Cc: |
Description (last modified by )
What steps will reproduce the problem?
- Validate a
disused:routerelation. e.g. relation/9301679
What is the expected result?
No warning.
What happens instead?
A warning saying it's missing the route tag.
Please provide any additional information below. Attach a screenshot if possible.
URL:https://josm.openstreetmap.de/svn/trunk Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b Last:Changed Date: 2023-09-21 20:54:28 +0200 (Thu, 21 Sep 2023) Build-Date:2023-09-22 01:30:58 Revision:18841 Relative:URL: ^/trunk
-
resources/data/validator/relation.mapcss
12 12 relation[type=destination_sign][!destination], 13 13 relation[type=enforcement][!enforcement], 14 14 relation[type=public_transport][!public_transport], 15 relation[type=route][!route] ,15 relation[type=route][!route][!disused:route], 16 16 relation[type=route_master][!route_master], 17 17 relation[type=waterway][!waterway] { 18 18 throwWarning: tr("{0} relation without {0} tag", "{1.key}");
Attachments (0)
Change History (11)
comment:1 by , 2 years ago
comment:3 by , 2 years ago
Are there any other lifecycle prefixes we should be ignoring for route? I used the following overpass query to find other route relations with lifecycle prefixes.
[out:xml][timeout:90]; ( relation["type"="route"][!"route"]; ); out meta;
Specifically, the following lifecycle prefixes exist in OSM data:
abandoned(10 uses)closed(2 uses)construction(5 uses)deleted(1 use, although this probably shouldn't exist...)disused(19 uses; this is what this ticket is about)hidden(3 uses; is this a lifecycle prefix? I'm not certain)historic(9 uses)old(2 uses)planned(5 uses)proposed(15 uses)razed(3 uses)removed(2 uses)suspended(2 uses)
comment:4 by , 2 years ago
I found 901 type=route + disused:route globally.
[out:csv(::count)][timeout:20]; ( relation["type"="route"]["disused:route"]; // if you add [!"route"] it decreases to 843, which is the tagging issue what confused @GerdP ); out count;
The lifecycle prefixes doesn't work well with JOSM in general, so *route$ would be the closest.
comment:5 by , 2 years ago
Remember that we have lots of code to maintain order of members in relations, we would need much more code to really supprt that idea.
Just to mention: I think lifecycle prefixes are problematic with (route) relations. I have no idea how a disused:route=train looks like compared to a route=train. How can I check them on-the-ground?
I fear the idea that a road in a city will be member of dozens of relations in various states like planned:route=hiking, abandoned:route=bus etc.
comment:6 by , 2 years ago
need much more code to really supprt that idea
Point of clarification: Which idea are you talking about?
- Using
/.*route$/instead ofdisused:routein the validator.mapcss - Adding other lifecycle prefixes to the check
- Supporting lifecycle prefixes in "general"
I think lifecycle prefixes are problematic [...]
In general, the lifecycle prefixes don't belong in OSM, with the following caveats:
- Imagery (especially the default imagery) has not updated, so the route is visible on aerial imagery but is not present on the ground; this is mostly useful to ensure that helpful armchair mappers don't add a bridge back that no longer exists.
- Signage indicating that a current object used to be something else, such as a sign saying "Old Route 50".
With that said, we work on a general purpose editor which is primarily designed for OSM, although it is also used by OpenHistoricalMap and OpenGeofiction, so there is an argument to be made that we should consider general support for lifecycle prefixes.
comment:7 by , 2 years ago
Replying to GerdP:
I have no idea how a disused:route=train looks like compared to a route=train. How can I check them on-the-ground?
I can give a real-world example for disused:route.
In our city we have annual events when the city center is closed. Some public transport routes are temporarily diverted until the event concludes. Travel schedule apps use OSM data during these events as well, so these altered routes need to be in the database. To accommodate this, we label them with disused:route key. You won't find them at other times; they are active only for a few days each year.
The rationale is that editing long relations requires much effort. When the event is over, no one want to delete a perfectly fine, yet temporal relation.
Cannot speak of other lifecycle prefixes though.
comment:8 by , 2 years ago
Some public transport routes are temporarily diverted until the event concludes
This seems like it should have a specific tagging scheme, e.g. osmwiki:Tag:state=alternate, osmwiki:Tag:state=temporary or osmwiki:Tag:route=detour.
comment:10 by , 2 years ago
| Milestone: | 23.10 |
|---|
@gaben: have you looked at any of the state/route tags? I think those are more applicable for the stated use case.
comment:11 by , 2 years ago
| Resolution: | → wontfix |
|---|---|
| Status: | new → closed |
Yes, I'll discuss it with the group at the next meetup. Although my issue with those tags is very similar: not supported by JOSM. And the reason for that, I know, is low usage + no documentation... I'm closing the ticket for now.



This is confusing. Your example r5189560 also has a route=train tag.