<br><br><div class="gmail_quote">On Wed, Oct 17, 2012 at 10:10 AM, Jochen Topf <span dir="ltr"><<a href="mailto:jochen@remote.org" target="_blank">jochen@remote.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On Wed, Oct 17, 2012 at 09:56:23AM +0200, Igor Brejc wrote:<br>
> OK, a couple of things to consider:<br>
><br>
</div>>    - What happens if you modify your scenario so that the island is not a<br>
<div class="im">>    forest, but a building instead?<br>
<br>
</div>Then you need a different MP relation for the inner part as Frederik has<br>
described in his post.<br></blockquote><div><br></div><div>If the rule "create an extra MP in that case" exists (and the OSM validators and renderers follow it), then that should clearly stated in the Wiki (<a href="http://wiki.openstreetmap.org/wiki/Relation:multipolygon#Island_within_a_hole">http://wiki.openstreetmap.org/wiki/Relation:multipolygon#Island_within_a_hole</a>). Right now it's just a recommendation, so anyone trying to implement MP handling has to deal with cases that do not follow that rule.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">It is actually more complicated because the relation also has tags and they<br>
have to be taken into account. </blockquote><div><br></div><div>Let's say the relation wasn't tagged in this case. Or if it was, then the first way is untagged, which is basically the equivalent case.</div><div> </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The 3rd way in your example isn't handled<br>
different from an outer way thats not inside a hole thats not tagged. In<br>
this case the tags of the relation are used. Of course you get into all sorts<br>
of difficult situations here with different tag combinations etc. You'll need<br>
some heuristic to solve this, there is no perfect solution. Osmium does it<br>
roughly like this: Ignore some tags like "source" and "created_by". Then<br>
merge tags of relation and outer ways. Details in the source code. :-)<br></blockquote><div><br></div><div>OK, but what to do if you have something like</div><div><br></div><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.800000190734863px;background-color:rgb(255,255,255)">
1. way: the outer way, tagged as forest.</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.800000190734863px;background-color:rgb(255,255,255)">2. way: inner ring, tagged as building</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.800000190734863px;background-color:rgb(255,255,255)">
3. way: inner ring, geometrically inside 2nd way, not tagged.</div></div><div> </div><div>Options:</div><div><ol><li>Declare it an invalid.</li><li>3rd way becomes a hole in the building.</li><li>3rd way becomes a hole in the forest.</li>
</ol></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
All these discussions are interesting but shouldn't we spend our time working<br>
on a better solution, ie. real multipolygons in OSM, instead? Just an idea. :-)<br></blockquote><div><br></div><div>Well I'm forced to deal with the present state of data right now. So it's more than just interesting to me ;)</div>
<div> </div><div>Igor</div></div>