NOTICE: is no longer in use from 1st March 2024. Please use the OpenStreetMap Community Forum

Hi I've made amendments to this relation in an attempt to get it to render correctly:

This doesn't appear to be rendering the innermost (which has an outer role) polygon in this correctly in OSM-Carto.

Note: Cycle & Transport render it correctly (those renders are from before my updates) Note: I've changed the innermost polygon to landuse=residential to distinguish it from the wood. I'll swap back once sorted.

Am I missing something or is there an OSM-Carto error?

asked 13 Aug '18, 16:40

DaveF's gravatar image

accept rate: 16%

In the region you linked to, you have defined two areas. One, representing a forest, shaped like this:

Outline of the forest multipolygon

And one, representing a water body, shaped like this:

Outline of the water polygon

There is nothing about the water area to indicate that it has an island. So according to your mapping, the location in the center is both part of the forest area and the water area.

To fix this, it would be best to restore the multipolygon relation 8529025 that kocio originally created.

Apart from that issue, the forest multipolygon is correct, although the use of multiple outer members is unnecessary here. (The forest on the island could simply be a separate polygon.)

permanent link

answered 14 Aug '18, 15:16

Tordanik's gravatar image

accept rate: 35%

From the wiki link I posted: "A construct like this would previously have required different multipolygon relations, one with way 1 being outer and way 2 being inner, as well as one with way 2 being outer and way 3 being inner."

So now, MPs don't require a doubling up of relations.

Again, from the wiki: "Such cascading is still needed when the "island" in the middle is something else than the area on the outside, but where the "island" is the same stuff it can just be made a hole in the hole."

In this case it isn't different, it should be rendering as a wood.

It's interesting that other renderings manage to do it:

(16 Aug '18, 16:27) DaveF

That example describes an island in a hole, not an island in a lake. In that example, way #2 doesn't have any tags, so the area surrounding the island is an empty void. If you tag way #2 as natural=water, that filled polygon would override the island, since there's nothing describing the island as being an inner of way #2. That's why the second relation is required. TBH, the example in the wiki is misleading, because it doesn't work for an "island" in the geological sense (ie. land inside of water).

(16 Aug '18, 17:26) alester

The water should be turned into relation too - see Otherwise it tries to cover all the area inside. The rendering should be updated soon.

permanent link

answered 13 Aug '18, 17:05

kocio's gravatar image

accept rate: 20%

edited 14 Aug '18, 15:00

Tordanik's gravatar image


Apologies, @kocio. I didn't fully read the wiki link I sent you, where it says an additional relation is required if the inner island needs to be rendered differently. This situations doesn't require that so I removed the tagging as well as the relation you added. It still doesn't render. Here is another example which I hadn't edited:

I could have sworn it used to render accurately previously with just one relation in OSM-Carto.

(14 Aug '18, 13:53) DaveF

I still think that should be turned into relation. It's water with a hole inside, where the island (islet) is, so it's not the whole area covered with water. Any shape with holes inside should be relation.

The water multipolygon is totally different problem than wood multipolygon - the water shape is independent from its role as a hole in the wood.

(14 Aug '18, 14:02) kocio

When the water was relation, the tree symbols were rendered on the islet as expected. The only problem is why green background was not there, but this might be OSM Carto issue.

(14 Aug '18, 14:24) kocio

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text]( "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:


question asked: 13 Aug '18, 16:40

question was seen: 2,206 times

last updated: 16 Aug '18, 17:26

NOTICE: is no longer in use from 1st March 2024. Please use the OpenStreetMap Community Forum