Closed Penegal closed 5 years ago
I think you may actually be seriously mis-interpreting the whole purpose of a "disused:x=y" versus a _"x=disused" tag and the concept of the current OpenStreetMap lifecycle tagging proposals. As I understood from e.g. the "Lifecycle prefix" and "Comparison of life cycle concepts"_ webpages:
http://wiki.openstreetmap.org/wiki/Lifecycle_prefix http://wiki.openstreetmap.org/wiki/Comparison_of_life_cycle_concepts
the whole purpose of using "disused:x=y" contrary to using a _"x=disused"_, is exactly the result you are now getting: _no_ rendering of features that users have explicitly set to "disused:x=y", so as to avoid showing objects / functions that may have previously existed, but are no longer there.
E.g., to better understand this, see the reference to the disused:amenity=pub example, where it would be ludicrous to show a former pub as a pub on the map if it has been converted to e.g. a normal living house or shop.
Based on this, I think the current rendering _shouldn't_ be changed, but rather kept.
This also means that the disused:railway=rail tag is _not_ a replacement for the railway=disused tag, but rather that these tag should live next to each other, and be used appropriately based on the local mappers desire to show or hide certain disused railways for applications. Of course, if you actually never want to hide these features for applications, you should never use the disused:railway=rail at all.
No, the *=disused tagging is a bad scheme and should not be used. A data consumer shouldn't need to filter out disused objects by checking the disused tag.
I think the suggestion by @Penegal makes sense.
No, the *=disused tagging is a bad scheme and should not be used. A data consumer shouldn't need to filter out disused objects by checking the disused tag.
I wasn't responding to the x=disused in general tag, but to the well established and much used railway=disused tagging scheme.
I think this tag, in case of the railways, is actually used in the sense of the amenity=pub example in the lifecycle pages, and thus I think what I previously wrote about the disused:railway=rail versus railway=disused is relevant.
I think the suggestion by @Penegal makes sense.
It only makes sense if you would _explicitly desire_ to render previous / former functions of objects in openstreetmap-carto / any application, not if you think it is a replacement for railway=disused.
E.g. do you suggest to render stuff like disused:amenity=pub and possibly thousands of other disused:x=y objects as well in carto?
Of course, as to the specific example of railways, this may be a custom rendering decision made by the openstreetmap-carto team for a special case. There is nothing wrong with that, any rendering of OpenStreetMap data is to a large extent interpretation, but don't make it light-hearted.
@mboeringa
no rendering of features that users have explicitly set to "disused:x=y", so as to avoid showing objects / functions that may have previously existed, but are no longer there
The disused features still exist on the ground and are valuable to show in a map for navigational purposes.
@planemad:
The disused features still exist on the ground and are valuable to show in a map for navigational purposes.
I never suggested to not render railway=disused, which is the current and most used tag for this. In fact, I suggest quite the opposite, it should be rendered. I only suggest to not render disused:railway=rail, as rendering it is a wrong interpretation of OpenStreetMap lifecycle tagging IMO.
If you read carefully, the fact that it "is valuable to show in a map" is exactly why I compared the railway=disused tag with amenity=pub. Contrary to what the disused:x=y tag (e.g. disused:railway=rail or disused:amenity=pub) was designed for, people _actually want to see the_ railway=disused _tag rendered_. In contrast with this, disused:x=y as per the http://wiki.openstreetmap.org/wiki/Comparison_of_life_cycle_concepts page, was actually designed to register a previous function of an object, that should not normally be rendered by default (but could in a specialized renderer targeted at disused objects, which I don't think openstreetmap-carto is...).
In addition, since railway=disused uses the main key railway=x (which is also comparable with the amenity=pub example), and not the much more problematic and deprecated disused=yes tag, which uses a secondary key to signify the disused status and thus causes problems with rendering of only a main key, it is also less of a problem to decide whether or not to include it in rendering. You can simply include or exclude the railway=disused class from rendering, contrary to having to examine a secondary key as with the disused=yes deprecated tagging.
@mboeringa ah, thanks for clarifying.
the whole purpose of using "disused:x=y" contrary to using a "x=disused", is exactly the result you are now getting: no rendering of features that users have explicitly set to "disused:x=y"
For start: this is tagging for renderer approach. disused:x=* makes sense to use if disused object is vastly different from one that is not disused. For example shop=florist is POI where one may buy flowers, it is open at some times etc. disused:shop=florist has none of this functions and it is (if at all) used for completely different purposes.
With railways situation is different also for additional reason - here railway=disused scheme is widely used (73 176 times) unlike 5594 usages worldwide for disused:railway.
In that situation I propose to start from discussion on tagging mailing list and/or with railway mappers whatever using railway:disused instead/in addition to railway=disused is a desirable idea.
In that situation starting from rendering is a poor idea.
On the other hand I see that OpenRailwayMap is already rendering this tag (I expected opposite), so it may be accepted more than I expected.
sent from a phone
Am 24.03.2016 um 15:01 schrieb Mateusz Konieczny notifications@github.com:
For start: this is tagging for renderer approach. disused:x=* makes sense to use if disused object is vastly different from one that is not disused. For example shop=florist is POI where one may buy flowers, it is open at some times etc. disused:shop=florist has none of this functions and it is (if at all) used for completely different purposes.
I understand the shop tag as tagging a function: it is not the physical structure (space) tagged like this, but it's the business, someone selling flowers. The tag disused:shop=florist is something I'd maybe use in case the florist has moved/closed but there are still traces (e.g. signage). If there's a different business now in that shop it feels like unnecessary clutter to add references to the history (i.e. what there was before)
Yes, the problem here is that contrary to disused:shop (that now sells something else or nothing), for disused:railway=* the rails do still exist on the ground and can be rendered.
Also, we wiki for key:railway itself proposes disused:railway as alternative tagging.
Yes, the problem here is that contrary to disused:shop (that now sells something else or nothing), for disused:railway=* the rails do still exist on the ground and can be rendered.
Which is
Or(!)
railway=disused and disused:railway=x
if you seek to get it rendered and at the same time also register the previous type of the railway.
But the rendering should only be based on the railway=disused tag as - as I tried to explain before - rendering based on disused:railway=x is a mis-interpretation of OpenStreetMap lifecycle tagging.
Using the disused:railway=x alone as the basis for rendering is really not recommended (unless in some specialized renderer targeted at disused objects).
disused:railway=x is not a replacement of railway=disused, these two tags should co-exist.
if you desire to see it rendered
That is tagging for renderer - http://wiki.openstreetmap.org/wiki/Tagging_for_the_renderer
Whatever X will be rendered in Y should not influence tagging decisions.
That is tagging for renderer - http://wiki.openstreetmap.org/wiki/Tagging_for_the_renderer
Whatever X will be rendered in Y should not influence tagging decisions.
No, you are still not getting my point.
This is not tagging for the renderer. It is putting back the tag that Carto supports in rendering for railway=disused, that may have been replaced by disused:railway=x alone, although people actually want to see it rendered.
The whole purpose of a disused:x=y tagging scheme is to hide the feature for current applications, and to register a previous function, see the OpenStreetMap lifecycle tagging page:
http://wiki.openstreetmap.org/wiki/Comparison_of_life_cycle_concepts
QUOTE:
By using this key prefix it is ensured that current or legacy applications are not confused by objects which do not exist or are not fully functional and only software aware of this tagging concept will evaluate those.
Carto IMO justly does not render disused:railway=x, and justly renders only railway=disused.
Both tags should co-exist, and it is up to the local OpenStreetMap community to decide if they want to use one or the other tagging scheme (or double tag with both tags), and thus either decide to show disused railways on the Standard Map - which by far the majority of railway mapping enthusiasts seem to want - or to hide the railways but just have the features in the OSM database for specialized applications targeting disused:x=y tags (like an OpenRailwayMap that seems to support displaying features tagged with disused:railway=x alone according to posts here).
It would be tagging for the renderer if people tagged disused:railway=x features additionally with highway=track or waterway=stream or so, to show them on the map...
thus either decide to show disused railways on the Standard Map - which by far the majority of railway mapping enthusiasts seem to want - or to hide the railways
That is tagging for renderer - tagging should describe reality, not decide what should be rendered. At this stage that is not yet "Don't deliberately enter data incorrectly for the renderer", but what happens for group that decided to enforce
hide the railways
once somebody adds a correct railway=disused tag? Remove correct tag because they want to change rendering? That would be pure tagging for renderer ("Don't deliberately enter data incorrectly for the renderer").
Please @matkoniecz, actually start reading and trying to understand all the posts I wrote in this thread instead of letting your emotions reign...
I never suggested to "hide the railways" once
somebody adds a correct railway=disused tag?
In fact, I suggest no changes at all to current Carto rendering! (which is correct in my opinion).
I also certainly did not suggest to
"deliberately enter data incorrectly for the renderer"
However, I do think entering disused:railway=x in the database, and then asking for it to be rendered by Carto, is incorrect, because it violates the OpenStreetMap lifecycle tagging proposal.
disused:x=y should only be rendered by specialized sites / styles targeted at disused objects.
sent from a phone
Am 27.03.2016 um 15:10 schrieb mboeringa notifications@github.com:
However, I do think entering disused:railway=x in the database, and then asking for it to be rendered by Carto, is incorrect, because it violates the OpenStreetMap lifecycle tagging proposal.
what are you referring to? Surely not this concept: http://wiki.openstreetmap.org/wiki/Lifecycle_prefix
Surely not this concept: http://wiki.openstreetmap.org/wiki/Lifecycle_prefix
Yes. Unless you can point me to another page describing disused:railway=x and more generally disused:x=y lifecycle tagging. Yes, the page may be thin in some aspects, but it is better than nothing and does make sense (well, to me at least...)
Of course, there is the other page as well:
http://wiki.openstreetmap.org/wiki/Comparison_of_life_cycle_concepts
sent from a phone
Am 27.03.2016 um 17:28 schrieb mboeringa notifications@github.com:
Surely not this concept: http://wiki.openstreetmap.org/wiki/Lifecycle_prefix
Yes. Unless you can point me to another page describing disused:railway=x and more generally disused:x=y lifecycle tagging. Yes, the page may be thin in some aspects, but it is better than nothing and does make sense (well, to me at least...)
then I might have misunderstood you: how is that page in contradiction to tagging disused:railway=rail?
sent from a phone
Am 27.03.2016 um 11:00 schrieb mboeringa notifications@github.com:
The whole purpose of a disused:x=y tagging scheme is to hide the feature for current applications, and to register a previous function, see the OpenStreetMap lifecycle tagging page:
I disagree, the purpose is not to hide those features generally, but to avoid confusion by showing them like an in-use feature when you don't check for (a theoretically infinite list of) additional modifiers that change the meaning of other tags. It is a safety measure to show these different features only if you want to and not by accident.
then I might have misunderstood you: how is that page in contradiction to tagging disused:railway=rail?
It's not.
I have tried to explain this: I am not against tagging either railway=disused or disused:railway=rail. Both have their function, they should co-exist.
In my opinion though, only railway=disused should be rendered by a general map like Carto, and disused:railway=rail used either as a secondary tag to document and specify the type of the disused railway in the OSM database, or used in specialized renderers / styles that target disused:x=y tagging.
It is a safety measure to show these different features only if you want to and not by accident.
That is exactly what I wanted to say, but wrote in different words
@mboeringa: I understand your arguments, at least I think so, but I still don't understand why rendering disused:railway=*
is a problem. I mean, I agree that the disused:
—and related life cycle tags— tagging scheme is supposed to ease the masking of unnecessary, not yet or no longer used, amenities and features, but I don't understand why railway=disused
should be added to a disused:railway=*
: IMO, these tags mean the same thing, but the second gives more freedom to tag the railway characteristics, for example if it was a narrow gauge railway, while the first essentially only tells that the railway was disused. Used this way, the life cycle prefix tagging scheme makes sense, but I still does not understand why, in this specific case of railway life cycle, your approach is not tagging for the renderer, because I still don't understand why using two tags which essentially say the same thing: the railway is disused. On this point, I think @dieterdreist is right, but, again, I may have missed your point despite your numerous attempts to make it clear.
@Penegal Yes, unfortunately it seems difficult.
My main objections or points regarding rendering based on disused:railway=x are the following:
Note: for the sake of the argument I am trying to take a completely neutral position / stance here, which isn't easy as I love trains too... but hey, there may be big historic pub lovers too!
railway=disused disused:railway=x
is very much equivalent to
natural=water water=x
Lastly: I don't say there couldn't be an exception for the railway, but personally, I don't see the advantage outweighs the disadvantage of the clash with OpenStreetMap lifecycle tagging. There is very little to gain switching the rendering from railway=disused to disused:railway=x, while there is clearly something to lose (compliance with lifecycle tagging, setting a precedence for many more requests for rendering of disused:x=y in Carto).
I just say: think well before making this decision.
(and this will be my last ramble about this subject here...)
I also think disused:railway=x is not a replacement for railway=disused as most people seem to think, just like water=x is not a replacement for natural=water. These tags should co-exist. Thinking disused:x=y is a replacement is the basis of the problem in understanding my argument.
OK, so this is where I went lost in your argumentation. Indeed, your point of view makes sense on this: disused:railway=x
can be seen as a refinement of railway=disused
; as water=*
is a refinement of natural=water
. I don't think it's the case, though, as I never read that the life cycle prefixed tags should be added to the current tags, but I understand your reasoning.
sent from a phone
Am 27.03.2016 um 23:56 schrieb mboeringa notifications@github.com:
railway=disused is currently rendered in Carto and is generally used in the sense of amenity=pub. That is, people actually expect to see it rendered.
I believe it hasn't yet been pointed out that railway=disused is also not a nice tag from a semantic point of view, as the key railway alone does not say "rails" but "railway related", and besides rail has values like platform, level_crossing, signal, station, tram, funicular, monorail, miniature etc. http://wiki.openstreetmap.org/wiki/Key:railway
it would be much better if it were railway=disused_rail (or track)
Also see common values for the disused key: http://taginfo.osm.org/keys/disused#values E.g. disused=station is quite common (if you leave yes/no out), and while we might not care if a disused railway is actual rails or a tram, we will surely not want to display disused stations the same like a disused track.
following up on @dieterdreist :
Exactly. As far as I understand the documentation the railway=disused is "legal" only for rail-values but not the many other values like station, stop etc. So for a disused railway=station I think it would be more correct to use disused:railway=station than railway=disused . Whether or how such objects should be rendered at all is a different question.
From the data perspective =disused is the same as disused:=*. As pointed out railway has it's semantic problems with "disused", but this is not enough to break up the rule above.
Any progress on this? Having rail that is not used for any traffic show same as a regular rail line is not a good thing. It might lead people to thing there is a scheduled service.
Depends on #2533. This PR is one of the changes that has quite some impact for OSM. Help there is much appreciated.
From the data perspective =disused is the same as disused:=*.
I still don't agree, but I think I have given enough reasons for this in several posts here, and seem to stand alone on this... (especially see https://github.com/gravitystorm/openstreetmap-carto/issues/2030#issuecomment-202154226. For additional arguments, please read the whole thread )
I agree with you. I see no reason why it can't just be railway=disused. I believe this was rendered before?
With current rendering I am more inclined to just go with abandoned to avoid it being rendered as regular rail.
@Gazer75 Unless something has changed dramatically, railway=disused is still rendered and should be used for disused railways ("A section of railway which is no longer used but where the track and infrastructure remain in place." according to the wiki). If there's no passengers, freight or other services then re-tag it as railway=disused.
It is rendered like regular rail, that's the problem. Maybe it always has been?
Two points: Please keep this issue to disused:railway=rail
as this is the topic. I'm not aware that railway=disused
is rendered like regular railway. See e.g. https://www.openstreetmap.org/way/32531887.
It is rendered like regular rail, that's the problem. Maybe it always has been?
I'm not aware that railway=disused is rendered like regular railway.
The problem here is that people fully - and falsely IMO - equate disused:railway=x with railway=disused, and thus wrongly expect disused:railway=x to show up on the map.
When they don't see it display, it ends up being a general remark that "disused railways aren't rendered...", even though disused railways are being rendered, just with another tag than they happen to have used, and shouldn't have used considering **they expect the data to show up on the map** instead of being hidden.
The latter state (hidden) being the exact purpose of disused:x=y OpenStreetMap lifecycle tagging (http://wiki.openstreetmap.org/wiki/Comparison_of_life_cycle_concepts).
So, to re-cap one last time:
In case you used railway=disused, you CAN potentially additionally add disused:railway=x to add detail about the railway type, like water=x adds detail to natural=water, adding this tag won't affect the rendering, as the current rendering is - correctly IMO - solely based on railway=disused.
In case you used disused:railway=x to hide the features according to OpenStreetMap lifecycle tagging, you SHOULDN'T add railway=disused, as it doesn't add extra info, and it will make the feature show up on the map.
@mboeringa - you seem to be suggesting the choice between "disused:x=y" and "x=disused" is "whether the mapper wants it rendered or not". I'm not convinced by that idea, but this github issue surely isn't the best place for that discussion :)
Maybe write a diary entry about it?
@mboeringa - you seem to be suggesting the choice between "disused:x=y" and "x=disused" is "whether the mapper wants it rendered or not".
No, this is OpenStreetMap lifecycle tagging.
But yes, the consequence is that you need to make a choice. A choice that ultimately results in the feature being visible or not in current Carto / Standard map rendering.
And I do think this is utterly relevant for this discussion and issue thread. It hits the core of the (non-existing IMO) problem...
To be clear, https://wiki.openstreetmap.org/wiki/Comparison_of_life_cycle_concepts is "an overview of various methods used to tag the life-cycle of features" - it's not a hard-and-fast series of rules. I could give plenty of edge cases of whether something is still there or not (e.g. a canal that still has water in it but isn't used for transport - whether it's disused depends on what you think it is used for). I don't think that this is the place for that discussion though.
I just don't get it: people want to see disused railways rendered, and then use a tagging scheme designed to hide disused objects from existing applications and rendering implementations, while there is a tag that does render disused railways and that doesn't really clash with OpenStreetMap lifecycle tagging because it is used as amenity=pub: railway=disused.
Would you also find it logical to tag your favorite pub with the tag:
this:is:my:favourite:amenity=pub
and ask the Carto team to render it because:
amenity=pub
also renders?
As I understand it the tagging argument for "disused:railway=rail" rather than "railway=disused" is so that you can have e.g. "disused:railway=narrow_gauge". It's absolutely nothing to do with whether or not something renders - that's a map style decision on a feature by feature basis.
As I understand it the tagging argument for "disused:railway=rail" rather than "railway=disused" is so that you can have e.g. "disused:railway=narrow_gauge".
You still can by refining the tagging with the additional tag. This is even recommended on the official railway=disused Wiki page (and no: I have not written that page).
It is also what I recommended in https://github.com/gravitystorm/openstreetmap-carto/issues/2030#issuecomment-295188287 and https://github.com/gravitystorm/openstreetmap-carto/issues/2030#issuecomment-202154226.
If the whole issue just revolves around: we are not willing to tag any additional keys... then I am flogging dead horses.
Looks like the problem is adding disused:railway=rail will make it render as regular rail regardless of railway=disused.
Similar with abandoned:railway=rail/light_rail/tram. Add that to a way and it will render as regular rail, even if railway=abandoned is there.
Another and similar issue is the newer tagging of preserved railways. Instead of railway=preserved you use railway:preserved=yes + railway=rail/light_rail/tram. Using just railway=preserved give no option to tell you what kind of railway.
Basically there is need to update the rendering of newer tagging system.
Looks like the problem is adding disused:railway=rail will make it render as regular rail regardless of railway=disused.
This would be a problem, but looking at the features and examples I link below, I think this is not the case and again based on a misunderstanding.
Look at these examples with the corresponding tagging (after you verified the actual tagging, remove the way information and orange highlight line by clicking on the "X" cross above the way information: this will reveal the actual rendered feature):
railway=disused + disused:railway=rail:
They are clearly shown as railway=disused with a broken line symbol. Not like regular railway.
The Overpass Turbo query to get these results: http://overpass-turbo.eu/s/osh
I also do not see any references in this thread to actual features showing this behavior.
Similar with abandoned:railway=rail/light_rail/tram. Add that to a way and it will render as regular rail, even if railway=abandoned is there.
Do you have a concrete example of this?, because these features don't show up at all, they are not rendered:
railway=abandoned + abandoned:railway=rail:
The Overpass Turbo query to get these results: http://overpass-turbo.eu/s/osi
I suspect the misunderstanding may arise due to people tagging:
railway=rail + disused:railway=rail
and
railway=rail + abandoned:railway=rail
which are ambiguous taggings that indeed will lead to the disused or abandoned railway to show up as a regular in-use railway line, as only the railway=rail tag will be evaluated in rendering.
Ok after checking again it appears someone thought it was smart to add railway=rail to the relation for some of these. This will mess up rendering.
Note https://github.com/gravitystorm/openstreetmap-carto/blob/master/CARTOGRAPHY.md
It's an important feedback mechanism for mappers to validate their edits and helps to prevent unfavorable fragmentation of tag use.
Is there evidence that disused:railway=rail
is preferred over railway=disused
and railway=disused disused=rail
?
@matthijsmelissen
No, the *=disused tagging is a bad scheme and should not be used. A data consumer shouldn't need to filter out disused objects by checking the disused tag.
I agree that data consumers should not need to check disused=*
tag - for example shop=supermarket disused=yes
is a horrible tagging. Disused value also may be problematic - for example shop=vacant
is a poor idea, as "render all shops" is now requiring more complicated queries.
But in case of railways I think that railway=disused
is OK. The simplest "render all railway lines" is not broken here and to get any more detailed information here it is necessary anyway to check value of railway
tag.
Overall, I think that supporting disused:railway=rail
would just encourage tag fragmentation and is not desirable.
Though it would change if there would be a consensus that migrating to disused:railway=rail
form disused=railway
is a good idea.
I support the rendering of life cycle prefixes for certain tags. Railways are one of them, the other one would be buildings. I never read anywhere in the wiki that disused: is for if you don't want to render it and =disused is for having it render. That also would go against one of the main principals of OSM....DON'T TAG FOR THE RENDERER!
=disused/construction/... is just the legacy form of tagging which is also still wildly adapted. disused: and other prefixes are an extension and simplification of the legacy life cycle concept (as far as I understand)
And from a data creator perspective, I can tell you its the much nicer concept to work with. If I have roadworks or works on a railway in this case, I simply add the prefix and when it's done, I delete it. All subinformation about the highway/railway type just stays the same the whole time. If I on the other hand work with railway=construction, information gets lost and I need to add another tag construction=* to add it again. Same in reverse. If one forgets to add the construction/disused tag, the previously available information gets lost (I know you can look into the history to recover it but this can go unnoticed for quite a while)
I don't understand why disused or abandoned things tagged with the prefix shouldn't be rendered. In railways =disused might still be more common but for example in buildings abandoned:building=* is much more common than building=abandoned
I checked the current trends. Since mid 2018 to now, there have been 11000 railway=disused
ways added, versus 5000 disused:railway=* ways. There are also over 6 times as many railway=disused
features overall (from Taghistory):
The length of ways added was about equal at 10,000 kilometers, but it looks like most of the disused:railway kilometers were added all at once, probably by one user or one import (from ohsome.org):
(Note non-zero Y axis, unfortunately not adjustable on ohsome dashboard)
Over 10,000 ways are tagged with both disused:railway and railway=disused, so only about 5000 ways have only disused:railway. See https://overpass-turbo.eu/s/MtY
I will close this issue for now, because disused=railway is still being used by more mappers.
If this trend reverses, and disused:railway becomes more common than railway=disused, then we should reopen this issue.
I believe osm-carto should render alternative tags equally when there is agreement that the alternatives are equivalent, around for some time and are used in significant numbers (e.g. here they are used significantly).
@dieterdreist, this would conflict with 2 of the main purposes of this style:
Usually this means it is best to only render one way of tagging a certain feature.
Keep in mind that railway=disused blocks the ability to tell what kind of railway(light_rail, tram...). That is not a problem with disused:railway=
Edit: This is very on topic. By not rendering disused:railway= as such you promote bad tagging practice. I see wiki says railway=disused + disused:railway=* but that is just a double tag that is pointless.
Hello, there. Hope you're not growing tired of my suggestions :wink:
Shouldn't we render
disused:railway=rail
likerailway=disused
? This new scheme seems to be expanding, but, as the default rendering does not render them, it doesn't support wide adoption by naive contributors, which may think "It does not display if I tag it that way, only if tagged the old way, so let's go with the old way". Besides, not rendering it means that disused railways converted to the new scheme are no longer rendered, which seems a regress to me: this feature is often an important landmark when present.Regards.