[Tagging] What is and what isn't a valid type=multipolygon relation for osm ?

Martin Koppenhoefer dieterdreist at gmail.com
Thu Oct 18 13:46:21 GMT 2012

2012/10/18 Gerhard Hermanns <hermanns at ptt.uni-due.de>:
> Am 13.10.2012 20:02, schrieb Martin Koppenhoefer:
>> * "Exactly two unclosed ways belonging to a role, and no more should share
>> an endpoint (eg. the most extreme nodes of a way represented by the black
>> dot in the images). If an endpoint is shared by less than two unclosed ways,
>> the polygon can't be closed and is ill formed. invalid example 1 If an
>> endpoint is shared by more than two unclosed ways, it's ill formed and a
>> closed polygon can't be reconstructed unambiguously. invalid example 2"
> Since the "Valid Multipolygon conditions" section is at the top of the page,
> new mappers are reading this first. And if you don't give examples about
> what that means (or at least provide appropriate links), many will stop
> reading here, bercause they simply can't follow.

actually I was critizicing this paragraph. IMHO it would be OK on a
subpage or at the end, but not at the beginning of the general
multipolygon-page. I agree that it is tech-speech. There are already
examples for many (all?) cases on these pages.

> I'm in OSM for over a year now and I still shy away from anything containing
> multipolygons because I'm not sure I understand them correctly. So, in my
> opinion there can't be too many examples (both for correct and incorrect use
> of multipolygons).

I think it also depends which editor you use. Some widely used editors
do not support all valid multipolygon variants, and therefor it
happens from time to time that mappers destroy MPs with these without
even noticing it, at least in my area.

This said, the thing is really easy:
the outer ring must be closed. If there is more than one, all must be
closed. The inner ring must be closed, if there is more than one, all
must be closed. The inner rings must be all inside outer rings and
must not intersect with them nor touch them.
a ring is one or more ways which together form a closed way.
Every multipolygon must have at least one outer member (and 0 inner
members as minimum).
All tags that apply to the "object with holes" (=the area that is
represented by the multipolygon-relation) should go on the relation.

I suggest to use the automatic sorting in JOSM (be sure to download
missing parts, it is a button in the relation editor) to check for
non-closed rings.

This is the basic concept. Then there are some odd exceptions which we
still carry aroung with us, but which might not be kept forever, and
which you can basically ignore as long as you are not coding a
converter or investigating strange rendering problems (e.g. there is a
strange inheritance from the outer way to the multipolygon relation in
the case that the relation misses tags and some tags on inner ways are
ignored if the same tags are on the multipolygon relation)


More information about the Tagging mailing list