Modify

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 gaben)

What steps will reproduce the problem?

  1. Validate a disused:route relation. 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

     
    1212relation[type=destination_sign][!destination],
    1313relation[type=enforcement][!enforcement],
    1414relation[type=public_transport][!public_transport],
    15 relation[type=route][!route],
     15relation[type=route][!route][!disused:route],
    1616relation[type=route_master][!route_master],
    1717relation[type=waterway][!waterway] {
    1818  throwWarning: tr("{0} relation without {0} tag", "{1.key}");

Attachments (0)

Change History (11)

comment:1 by GerdP, 2 years ago

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

comment:2 by gaben, 2 years ago

Description: modified (diff)

:D nice catch and also thank you!

comment:3 by taylor.smock, 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 gaben, 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 GerdP, 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 taylor.smock, 2 years ago

need much more code to really supprt that idea

Point of clarification: Which idea are you talking about?

  • Using /.*route$/ instead of disused:route in 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 gaben, 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 taylor.smock, 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:9 by taylor.smock, 2 years ago

Milestone: 23.0923.10

Ticket retargeted after milestone deleted

comment:10 by taylor.smock, 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 gaben, 2 years ago

Resolution: wontfix
Status: newclosed

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.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
as The resolution will be set.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.