Deze vraag is gisteren al beantwoord:
10 Mappingtipps für Fortgeschrittene (oder: Wie ärgere ich meine Mitmapper)
7. Benutze Multipolygone III
Fordere den Renderer heraus und trage die Tags nicht in das MP ein, sondern nur an die outer-ways; gerne auch unterschiedlich. Wozu haben wir denn so tolle Programme und teure Hardware?
Eén van de meest misbruikte OSM dogma’s is: “don’t map for the renderer/router.”
Maar er is een meer basaal dogma, dat wél altijd geldt: Garbage In, Garbage Out (GIGO)!
Je hebt stukjes bos “gewoon” over het gras of farmland getekend…
Probeer je eens de discussie voor te stellen tussen mapper en renderer.
Renderer: “ik zie farmland, dat zet ik op de kaart en klaar.”
Mapper: “fout, want er zit nog een stukje forest in.”
Renderer: “o, ok, dus als ik landuse zie moet ik nog even verder kijken of er nog iets andere bovenop ligt? Zoals ik al doe bij buildings, swimming_pools en parkings?”
Mapper: “Ja, natuurlijk! Logisch toch?”
Renderer: “ok, maar wat teken ik dan bovenop? Forest of farmland?”
Mapper: “domme vraag. Heb je wel eens farmland bovenop een forest zien liggen?”
Renderer: “ok, maar kun je dat dan aangeven met [layer=-1] of [layer=1]?”
Mapper: “dat is mappen voor de renderer en dat mag ik niet. Bovendien is dat niet overeenkomstig de werkelijkheid.”
Renderer: “o, maar ik ken wel mappers die dat wel doen.”
Renderer: "dus er bestaat een logisch hierarchie van objecten? Zoiets:
- Forest > grass
- Scrup > grass
- Scrup > meadow
- Farmland > grass
- Water > grass, forest (O, water ligt ook altijd bovenop? Net als forest?)."
Mapper: “ja precies.”
Renderer: “Maar dus wel water > forest?”
Renderer: “ok, maak maar een tabel met Meta Data waarin dit vastligt.”
Mapper: “Meta Data???”
Renderer: “trouwens als je zegt dat scrup > grass, wat doe ik dan als er een stukje grass in een groter gebied met scrup ligt?”
Mapper: “weer een domme vraag…”
Enz. enz. want de discussie is nog lang niet afgerond. En dit is een discussie (stappen in het script van een renderer en in de onderliggende software) die bij iedere landuse, iedere multipolygon weer opnieuw moet worden gevoerd.
In het voorbeeld van OFM. Ik weet het uiteraard ook niet zeker, maar wat zou kunnen…
Jaren geleden heeft OFM een grote winst geboekt door gras niet meer te renderen. Dankzij deze beslissing is OFM nu nog steeds (iets) kleiner dan 1 GB.
Maar stel nu dat de onderliggende software (is dat mkgmap?) heeft bedacht dat er een keer een grens wordt bereikt bij de tijdrovende activiteiten om van garbage nog iets redelijks te maken?
Dan wordt het grass nu niet meer gerenderd (keuze van OFM) en “dus…” ook niet meer het landuse dat hier weer bovenop ligt.
Probleem voor de Renderer? Of voor de Mapper?
In het voorbeeld van multipolygonen.
Kijk hier eens: http://wiki.openstreetmap.org/wiki/Relation:multipolygon
Soms durf ik er niet eens aan te beginnen. Een bos op een eiland dat gedeeltelijk samenvalt met de oever van het eiland. Pfft… want Inner en Outer mogen elkaar wel raken, maar niet overlappen.
Ander voorbeeld:
Vijver in een weiland. Vaak is de vijver een duplicate shape: Inner van de multipolygon én [natural=water].
Binnen JOSM kun je dan het probleem van de renderer goed zien: het water is groen, de transparante som van water + grass.
Pas op het moment dat ik de de huidige Inner verwijder en de [natural=water] toevoeg als nieuwe Inner is het water blauw!
Ander voorbeeld:
Enige tijd geleden waren wij water-dingen verkeerd aan het mappen. Hele gebieden stonden onder water. Gelukkig voor ons: de renderer is niet te beroerd om te renderen voor de mapper. Onwaarschijnlijke overstromingen werden door de renderer letterlijk ingedamd.
Ander voorbeeld:
Sommige mappers breiden een [natural=water] niet uit. Te veel werk? Ze tekenen er gewoon nog een nieuwe [natural=water] overheen die ook gewoon over het grass heen wordt getekend.
Potlatch en ID vinden dat allemaal prima en die JOSM jongens een meisjes vinden het leuk om vervolgens te corrigeren. Toch?
Niet dus (wat mij betreft): Wie ärgere ich meine Mitmapper.