Opened 4 years ago
Last modified 4 years ago
#19652 new enhancement
abandoned:building disused:building - convert to building
Reported by: | mkoniecz | Owned by: | team |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Core validator | Version: | |
Keywords: | template_report | Cc: |
Description (last modified by )
disused/abandoned building is still a building, therefore it should be tagged as building=*
abandoned:shop
makes sense because nonfunctional shop is no longer a shop, buildings are different.
demolished:building
kept for some time (until aerials are updated) makes sense because demolished building is no longer a building.
This would also help people confused why their buildings are not processed by data consumers due to using unusual tagging scheme.
What steps will reproduce the problem?
- Create a closed way
- Tag it with
abandoned:building
/disused:building
- Run validator
What is the expected result?
Validator proposes to convert abandoned:building=*
into building=*
+ abandoned=yes
and disused:building=*
into building=*
+ disused=yes
What happens instead?
Nothing.
Please provide any additional information below. Attach a screenshot if possible.
See https://taginfo.openstreetmap.org/keys/abandoned%3Abuilding#map https://taginfo.openstreetmap.org/keys/disused%3Abuilding#map - usage is limited to a single broken import
See https://taginfo.openstreetmap.org/keys/disused%3Abuilding#combinations https://taginfo.openstreetmap.org/keys/abandoned%3Abuilding#map - building tag is often missing
Note, this may be controversial. Some people thing that such tagging scheme is supposed to be supported (JOSM and data consumers in general are not supporting it, and AFAIK such promotors are minority)
Please do not give too much weight to https://wiki.openstreetmap.org/wiki/Key:disused:building - I just created it
If you think that it would be useful I can start mailing list discussion.
Relative:URL: ^/trunk Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b Last:Changed Date: 2020-08-07 18:58:40 +0200 (Fri, 07 Aug 2020) Revision:16853 Build-Date:2020-08-08 01:30:49 URL:https://josm.openstreetmap.de/svn/trunk Identification: JOSM/1.5 (16853 en_GB) Linux Ubuntu 20.04.1 LTS Memory Usage: 352 MB / 976 MB (153 MB allocated, but free) Java version: 11.0.8+10-post-Ubuntu-0ubuntu120.04, Ubuntu, OpenJDK 64-Bit Server VM Look and Feel: javax.swing.plaf.metal.MetalLookAndFeel Screen: :0.0 1920x1080 (scaling 1.0x1.0) Maximum Screen Size: 1920x1080 Best cursor sizes: 16x16 -> 16x16, 32x32 -> 32x32 Java package: openjdk-11-jre:amd64-11.0.8+10-0ubuntu1~20.04 Java ATK Wrapper package: libatk-wrapper-java:all-0.37.1-1 libcommons-logging-java: libcommons-logging-java:all-1.2-2 fonts-noto: fonts-noto:- Dataset consistency test: No problems found Plugins: + buildings_tools (35500) + measurement (35405) + reverter (35499) + todo (30306) Last errors/warnings: - W: Cannot lock cache directory. Will not use disk cache - W: Cannot start IPv4 remotecontrol server on port 8111: Address already in use (Bind failed) - W: Cannot start IPv6 remotecontrol server on port 8111: Address already in use (Bind failed)
Attachments (0)
Change History (22)
comment:1 by , 4 years ago
Description: | modified (diff) |
---|
comment:2 by , 4 years ago
Milestone: | → 20.10 |
---|
comment:3 by , 4 years ago
comment:4 by , 4 years ago
Disused usable track should be tagged as highway=track
, maybe with disused=yes
For unusable disused:highway=track
would be wrong - demolished:highway=track
or overgrown:highway=track
or something like that should be used (or deleted if it is fully gone).
Why do you prefer building=* with disused=yes in this special case?
I prefer disused=yes
for all cases where disused object is still such object.
For roads, buildings, quarries, canals, adits, castles and so on.
In contrast, disused shop is no longer a shop (place where you may buy something), here disused:shop=kiosk
type of tagging is actually useful.
comment:5 by , 4 years ago
Can't find it anymore but I think there was a picture in the wiki for a disused:highway=*, a road that was blocked with large blocks.
comment:6 by , 4 years ago
This is what I had in mind:
/* #19652 */ *[disused:building][disused:building!=no][!building], *[disused:building][disused:building!=no][building=*"disused:building"] { throwWarning: tr("{0} makes no sense", "{0.tag}"); set OldBuildingAutofix; suggestAlternative: "building=* + disused=yes"; fixChangeKey: "disused:building=>building"; fixAdd: "disused=yes"; assertMatch: "way disused:building=hut"; assertMatch: "way disused:building=hut building=hut"; assertNoMatch: "way disused:building=hut building=yes"; } *[abandoned:building][abandoned:building!=no][!building], *[abandoned:building][abandoned:building!=no][building=*"abandoned:building"] { throwWarning: tr("{0} makes no sense", "{0.tag}"); set OldBuildingAutofix; suggestAlternative: "building=* + abandoned=yes"; fixChangeKey: "abandoned:building=>building"; fixAdd: "abandoned=yes"; assertMatch: "way abandoned:building=hut"; assertMatch: "way abandoned:building=hut building=hut"; assertNoMatch: "way abandoned:building=hut building=yes"; } *[disused:building]!.OldBuildingAutofix { throwWarning: tr("{0} makes no sense", "{0.tag}"); suggestAlternative: "building=* + disused=yes"; } *[abandoned:building]!.OldBuildingAutofix { throwWarning: tr("{0} makes no sense", "{0.tag}"); suggestAlternative: "building=* + abandoned=yes"; }
comment:7 by , 4 years ago
If I got comment:4 right you have to repeat these blocks
For roads, buildings, quarries, canals, adits, castles and so on.
Tested your rules with all disused:building=* ways. Found some false positives, e.g.
https://www.openstreetmap.org/way/22883969
building=yes disused:building=hospital disused:name=Outpatients Department
I think you already tried to avoid this combination? Same problem with objects that already have the disused=yes tag.
https://www.openstreetmap.org/way/268472788
cover=no disused:building=conical_tent surface=concrete
My understanding is that this object never was a building, the change would not improve anything.
https://www.openstreetmap.org/way/624371430
disused:building=church historic=ruins name=Levisham Church Ruins ruins=yes
The suggested change makes it unclear for which tags the disused=yes
state should be used.
I think these few examples already show that this is very complex stuff. Objects with lifecycle prefixes are likely to be complex, so a "makes no sense" warning is likely to be a false positive and the wording is quite offending.
comment:8 by , 4 years ago
I agree with GerdP. Especially abandoned, where the wiki recommends to remove abandoned=yes in some cases.
(And personally, I even think abandoned:building makes sense in some cases, because something that is close to ruins and is left to decay or up for demolition can't be considered as a full-worthy building anymore IMO)
follow-up: 11 comment:9 by , 4 years ago
The suggested change makes it unclear for which tags the disused=yes state should be used.
It seems to me that it is clear (TM)?
building=church historic=ruins name=Levisham Church Ruins ruins=yes disused=yes
building=church
applies
historic=ruins
applies
name=Levisham Church Ruins
does not apply, unused name would not be tagged (or, if still remembered, would go to old_name
)
ruins=yes
does not apply as not applicable
disused=yes
obvious that it is not self negating
Skipping thing with shop
amenity
leisure
tourism
tags may be added to not touch things where multiple objects were mapped as one OSM element.
follow-up: 13 comment:10 by , 4 years ago
My understanding is that this object never was a building, the change would not improve anything.
Validator is unable to magically guess that initial tagging was nonsense. disused:building=conical_tent
should not be used for thing that are not buildings (and never were a building!)
Tested your rules with all disused:building=* ways. Found some false positives, e.g.
OK, skipping things that already have building
tag with value other than lifecycle-prefixed building may be useful (and adding this to case to tests).
comment:11 by , 4 years ago
Replying to mkoniecz:
The suggested change makes it unclear for which tags the disused=yes state should be used.
It seems to me that it is clear (TM)?
building=church historic=ruins name=Levisham Church Ruins ruins=yes disused=yes
building=church
applies
historic=ruins
applies
name=Levisham Church Ruins
does not apply, unused name would not be tagged (or, if still remembered would go toold_name
)
ruins=yes
does not apply as not applicable
disused=yes
obvious that it is not self negating
OK, so I should have written that the suggested change destroys unrelated information as it also changes historic=ruins.
follow-up: 14 comment:12 by , 4 years ago
OK, so I should have written that the suggested change destroys unrelated information as it also changes historic=ruins.
Is it about case where it is a tourism attraction (ruins are not used as building but used as an attraction) but was not tagged as tourism=attraction
?
comment:13 by , 4 years ago
Replying to mkoniecz:
OK, skipping things that already have
building
tag with value other than lifecycle-prefixed building may be useful (and adding this to case to tests).
We have ~15.450 ways with the tag disused:building. The vast majority (~13.000) is also tagged with building=*
comment:14 by , 4 years ago
Replying to mkoniecz:
OK, so I should have written that the suggested change destroys unrelated information as it also changes historic=ruins.
Is it about case where it is a tourism attraction (ruins are not used as building but used as an attraction) but was not tagged as
tourism=attraction
?
It is just one example where adding disused=yes
to an object changes the meaning of other tags. It requires expert knowledge to decide if this makes sense or not. It is surely nothing that should be done with a single click on a Fix button unless the original object only has exactly one tag disused:building=*
comment:15 by , 4 years ago
OK, so I think if we want to warn about something then probably only about disused:* (not abandoned:*), without autofixes and a better warning message?
comment:17 by , 4 years ago
I still don't see a need for a warning. Even an information like Consider to use a different lifecycle tagging scheme with disused=yes
would be too strong IMHO.
comment:18 by , 4 years ago
@GerdP Do you think that disused:building
is a tagging that is OK and should be encouraged?
follow-up: 20 comment:19 by , 4 years ago
I think I wouldn't use either, but if I really want to point out that a building is no longer used I would use the disused:
prefix. So, a building=school which is now used as a building=house might be a case where the disused: prefix makes sense.
Until yesterday I thought that disused=yes is deprecated since years.
comment:20 by , 4 years ago
Replying to GerdP:
So, a building=school which is now used as a building=house might be a case where the disused: prefix makes sense.
That would be building=school + building:use=house
Until yesterday I thought that disused=yes is deprecated since years.
Yeah it is not an optimal tag. If there are several tags you don't know to which the disused=yes belongs to.
comment:21 by , 4 years ago
That would be building=school + building:use=house
Ah, thanks, that's new to me.
comment:22 by , 4 years ago
Milestone: | 20.10 |
---|
Probably it should be discussed outside the JOSM bug tracker first.
I don't understand the argument. When I have e.g. an disused:highway=track it is also still a road, but it is no longer used / usable. Why do you prefer building=* with disused=yes in this special case?