Modify

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

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?

  1. Create a closed way
  2. Tag it with abandoned:building / disused:building
  3. 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 mkoniecz, 4 years ago

Description: modified (diff)

comment:2 by Klumbumbus, 4 years ago

Milestone: 20.10

comment:3 by GerdP, 4 years ago

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?

comment:4 by mkoniecz, 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 GerdP, 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 Klumbumbus, 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 GerdP, 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 Famlam, 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)

Last edited 4 years ago by Famlam (previous) (diff)

comment:9 by mkoniecz, 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.

Last edited 4 years ago by mkoniecz (previous) (diff)

comment:10 by mkoniecz, 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).

Last edited 4 years ago by mkoniecz (previous) (diff)

in reply to:  9 comment:11 by GerdP, 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 to old_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.

comment:12 by mkoniecz, 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?

in reply to:  10 comment:13 by GerdP, 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=*

in reply to:  12 comment:14 by GerdP, 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 Klumbumbus, 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:16 by mkoniecz, 4 years ago

I would be fine also with that.

comment:17 by GerdP, 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 mkoniecz, 4 years ago

@GerdP Do you think that disused:building is a tagging that is OK and should be encouraged?

comment:19 by GerdP, 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.

in reply to:  19 comment:20 by Klumbumbus, 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 GerdP, 4 years ago

That would be building=school + building:use=house

Ah, thanks, that's new to me.

comment:22 by Klumbumbus, 4 years ago

Milestone: 20.10

Probably it should be discussed outside the JOSM bug tracker first.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as new The owner will remain team.
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from team to the specified user.
Next status will be 'needinfo'. The owner will be changed from team to mkoniecz.
as duplicate The resolution will be set to duplicate. Next status will be 'closed'. The specified ticket will be cross-referenced with this ticket.
The owner will be changed from team to anonymous. Next status will be 'assigned'.

Add Comment


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