Opened 13 months ago

Last modified 12 months ago

#20864 needinfo enhancement

Orphaned building parts

Reported by: jervinsevilla175@… Owned by: jervinsevilla175@…
Priority: normal Milestone:
Component: Core validator Version:
Keywords: template_report building:part building Cc:


What steps will reproduce the problem?

  1. Add a closed way.
  2. Tag it with building:part=*.
  3. Run the JOSM validator

What is the expected result?

The validator should issue a warning/error about the building part being disjoint from any building.

What happens instead?

No such warning appears.

Please provide any additional information below. Attach a screenshot if possible.

I have made the error of orphaned building parts twice.

Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2021-04-27 20:35:33 +0200 (Tue, 27 Apr 2021)
Build-Date:2021-04-27 21:58:39
Relative:URL: ^/trunk

Identification: JOSM/1.5 (17833 en) Windows 10 64-Bit
OS Build number: Windows 10 Home 2009 (19042)
Memory Usage: 989 MB / 989 MB (118 MB allocated, but free)
Java version: 1.8.0_281-b09, Oracle Corporation, Java HotSpot(TM) Client VM
Look and Feel:
Screen: \Display0 1920×1080 (scaling 1.00×1.00)
Maximum Screen Size: 1920×1080
Best cursor sizes: 16×16→32×32, 32×32→32×32
System property file.encoding: Cp1252
System property sun.jnu.encoding: Cp1252
Locale info: en_US
Numbers with default locale: 1234567890 -> 1234567890
Dataset consistency test: No problems found

+ ShapeTools (1240)
+ apache-commons (35524)
+ apache-http (35589)
+ areaselector (368)
+ austriaaddresshelper (1597341117)
+ buildings_tools (35669)
+ ejml (35458)
+ gridify (1606242219)
+ imagery_offset_db (35640)
+ jna (35662)
+ log4j (35458)
+ mapwithai (
+ reltoolbox (35640)
+ turnrestrictions (35640)
+ utilsplugin2 (35691)
+ wms-turbo-challenge2 (35562)

Tagging presets:

Map paint styles:

Last errors/warnings:
- 00012.054 E: Failed to locate image 'MapWithAI'
- 65343.835 E: java.lang.IllegalStateException: JOSM expected to find primitive [way -103396] in dataset but it is not there. Please report this at This is not a critical error, it should be safe to continue in your work.

Attachments (0)

Change History (6)

comment:1 Changed 13 months ago by skyper

Component: CoreCore validator
Keywords: building:part building added

comment:2 Changed 13 months ago by GerdP

What exactly is needed to detect that a building:part is not disjoint? My understanding is that you can have valid building:part objects which are outside of any building=*, e.g. when there is a bridge between two buildings?

comment:3 Changed 13 months ago by GerdP

Owner: changed from team to jervinsevilla175@…
Status: newneedinfo

comment:4 Changed 13 months ago by skyper

I would say, it should at least share one side (two consecutive nodes) with another building:part=* or building=* if completely outside and two non-consecutive nodes when crossing another building=* or building:part=*. Additional I expect some building:min_level=* on both kinds of building:part.

I am not sure if a building relation is always needed for these constructions with building:part=* outside building=*.

comment:5 in reply to:  2 Changed 12 months ago by Klumbumbus

Replying to GerdP:

My understanding is that you can have valid building:part objects which are outside of any building=*, e.g. when there is a bridge between two buildings?

This is not how it is meant to be. The wiki page of bulding:part says: "building:part=* areas should be always within a separate building=* area representing the entire building. "
Therefore e.g. the Petronas Towers have sourrounding all and the different parts, e.g. the bridge

comment:6 Changed 12 months ago by skyper

Sadly, I never understood the whole system of building=*, building:part=* and type=building 100%.
On one hand, I need the ground level outline and count the levels from there, on the other hand, I have complex buildings which might consist of several building=* in OSM and have bigger outlines above and/or below ground level. How to solve these situations without "building inside building"?
Additionally, MPs are invalid if members share segments which makes it more complicated, especially, with buildings with "holes" where the building:part=* are already MPs. I failed on this one so far.

What makes the situation even more dubious is that there are all kinds of links on Key:building and Buildings but none to Key:building:part.

Modify Ticket

Change Properties
Set your email in Preferences
as needinfo The owner will remain jervinsevilla175@….
as The resolution will be set.
to The owner will be changed from jervinsevilla175@… to the specified user.
to The owner will be changed from jervinsevilla175@… to the specified user.
as duplicate The resolution will be set to duplicate.The specified ticket will be cross-referenced with this ticket
The owner will be changed from jervinsevilla175@… to anonymous.

Add Comment

E-mail address and name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.