Id: Styling for building:part=*

Created on 19 Apr 2019  Â·  11Comments  Â·  Source: openstreetmap/iD

Status quo

Thanks to https://github.com/openstreetmap/iD/issues/6186 and https://github.com/openstreetmap/iD/issues/6114 and Quincy's code building:part is now rendered ans an area, which makes it a lot clearer to handle. Thanks!

Example: http://preview.ideditor.com/master/#background=Berlin-2018&disable_features=boundaries&id=w646475990&map=19.00/52.47219/13.44733

Bildschirmfoto 2019-04-19 um 07 52 55

Improvement

However, I think the styling for building:part could be improved.

My issues are:

  • Layering: Those areas will by definition always layer over the original building. But only the building should hold the tags like address. So right now, I cannot get to the building without deleting parts of it; but then I cannot modify the building since I just deleted stuff …
  • Design: The parts are rendered transparent white. Which makes those buildings "softer" and "lighter" in their appearance when in fact they have "more" mapping/layers, so they should feel "heavier".
  • Rendering: A building is (in the default mode of iD "Fill areas > Partial fill") rendered as line with thicker inner line; the building part is just an area.

Suggestions:

  • Render the building:part with a darker red layering the red of the building, eg rgba(165, 64, 50, 0.3) + corresponding border-color
  • Render the building:part with a stroke, eg stroke-width: 30px that is similar but thinner to the building
  • Use this stroke always, even in "Fill areas" > "Full fill"

This way I should be able to click the building below the buidling:part though the wholes of the building:part, right? I will also see the building-rendering below the building:part rendering and understand the building:part as an addition to the building.

Another idea where to add a filter for "Building Parts" to the "Map Features" selection. However, this will just case new problems like non-aligned buidling:parts, which in turn where to need a validator…

usability

All 11 comments

I can also not really appreciate the new style (yet?) ...

All those rendered areas makes it visually really hard to see whats going on, with the simple lines before it was much clearer IMHO.

Worse is also that those areas overlay over the actual building, hence making it much harder to map details on the building itself. So by tagging building:part the actual work becomes much harder... :disappointed:

That you cannot select the (whole) building anymore is a showstopper bug.

(Sorry, to be so negative but I really don't know how to express this otherwise.)

Another idea where to add a filter for "Building Parts" to the "Map Features" selection. However, this will just case new problems like non-aligned buidling:parts, which in turn where to need a validator…

Yeah I'm kind of tending towards just adding another filter so people don't have to see them.

It's a bit complicated too because I sometimes see people adding both building=* and building:part=* on the same way (I guess the building footprint?)

It sure would be nice to sort out editing of overlapping features (#1239, #2225). Currently, it is possible to edit coincident points by lassoing them and deselecting other points from the selected feature list. But unfortunately lassoing only selects nodes, not their parent ways.

Yeah I'm kind of tending towards just adding another filter so people don't have to see them.

The disadvantages are IMO

  • less experienced users will likely not know that the "real" building is below
  • less experienced users will not know that there is a filter option to get to it
  • and in the end, once they use the filter, we will likely end up with building-parts that don't follow the building-geometry anymore; which we could validate, but this would be one of those "there is an error but you will not know how to fix it"-cases

Very similar arguments go against an idea to use, what JOSM does (according to this). – How would I as a user discover such a feature?

Tip: Overlapping shapes like this can be tricky to select. In JOSM, click while holding down 'Alt' key to cycle through overlapping objects and make the selection you want.

Btw: For GoMap!! one can long-tab on an element to get a list of objects from which to choose. Also a hidden feature that you only discover when you know, there is an issue otherwise.


But that leads me to another idea:
Could iD detect, that once I click a thing that another thing is below. And then …

  • either: show a note in the left sidebar "you selected the building-part (or …) but there is a (LINK)building(/LINK) right below it."
  • or: multi-select both right away and automatically an thereby show the multi-select section in the left sidebar. Maybe with a message above like "There are objects right above eachother, which do you want to select?". Which would explain whats going on and allow me to get to the element I like.

Both would also solve the cases that 1ec5 referenced above and also https://github.com/openstreetmap/iD/issues/6162#issuecomment-482001875 (_"And even then, having two lines right above one another is a pain, so that would not help."_)


It's a bit complicated too because I sometimes see people adding both building=* and building:part=* on the same way (I guess the building footprint?)

That is interesting. https://taginfo.openstreetmap.org/keys/building#combinations says:

  • 4.52% of building:part also have building
  • 0.01% of building also have building:part (39 884x)

However, I don't see any reference to this tagging in the wiki (https://wiki.openstreetmap.org/wiki/Key:building:part, https://wiki.openstreetmap.org/wiki/Simple_3D_buildings#Building_parts), so this might be a case for a live-validator which suggests to clean up the tagging (details tbd).

multi-select both right away and automatically an thereby show the multi-select section in the left sidebar. Maybe with a message above like "There are objects right above eachother, which do you want to select?". Which would explain whats going on and allow me to get to the element I like.

Yeah, this is what I also had in mind in https://github.com/openstreetmap/iD/issues/2225#issuecomment-354593457, but adding a prompt makes a lot of sense, since the user may wind up with this list unexpectedly, unlike after lassoing.

Speaking to the original issue of building part styling: I made the building:part partial fills thinner, as recommended, and indoor areas thinner still. This definitely helps for busy buildings like this.

Screen Shot 2019-05-08 at 3 56 49 PM

I don't think we should keep this for full fills though, since we'd be introducing inconsistent behavior. I agree with Bryan that we should just add filters.

Leaving this issue open so we can still consider the colors.

Speaking to the original issue of building part styling: I made the building:part partial fills thinner, as recommended, and indoor areas thinner still. This definitely helps for busy buildings like this.

Screen Shot 2019-05-08 at 3 56 49 PM

I don't think we should keep this for full fills though, since we'd be introducing inconsistent behavior. I agree with Bryan that we should just add filters.

Leaving this issue open so we can still consider the colors.

This is zoomed in quite a bit. What does it look like from farther away?

Btw: http://localhost:8080/#map=20.09/39.75318/-105.00004 doesn't load for me .. ;-)

@famo My mistake! I updated the link.

The new widths are still somewhat helpful when zoomed out but I think most people would be zoomed in.

Screen Shot 2019-05-08 at 4 28 18 PM

Thanks for this update, quincylvania. IMO the editing works fine now!
✔️ I can see that there are areas above eachother
✔️ I can select the buidling-area below the building:party

_About the styling:_
What are your thoughts on the color? You prefere the current white over a building-style color?

I suggest:

  • indoor - IMO the white is fine here, it makes it stand out from the building which I think is good
  • buidling:part - a tone of red like the building but a bit darker:
.fill-partial path.area.fill.tag-building_part {
    stroke-width: 40px;
    stroke: rgba(121, 39, 39, 0.3);
}

Bildschirmfoto 2019-05-12 um 10 44 51

Re: Styling
I have to squint really hard to differentiate those two reds...
What about a style with hachure or intermittent (like construction)? Building:parts aren't rendered anyways, so I think its ok/good to deviate from the building style...

Re: Indoor
I'm hoping for #6225 (hint, hint ;-) ...

What about a style with hachure or intermittent (like construction)?

I've been leaning this direction. The fills will necessarily overlap so I think it'd look better to use a pattern for building parts instead of just a color.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

jidanni picture jidanni  Â·  3Comments

mvl22 picture mvl22  Â·  3Comments

tordans picture tordans  Â·  3Comments

jidanni picture jidanni  Â·  3Comments

scaidermern picture scaidermern  Â·  3Comments