Wald mit Loch

Bei http://www.openstreetmap.org/?lat=47.2142198681831&lon=7.55796879529953&zoom=17 zeigt OSM einen Wald mit Loch, das es nicht gibt. Das wollte ich korigieren - doch ich sehe nicht, was ich da ändern muss. Auch nicht nachdem ich mich ins Thema Multipolygon eingelesen habe. Mir erscheinen die Daten bereits korrekt.

Was hat mein armes Hirn übersehen. Wo gibt’s Nachhilfe.

Danke

hallo Nzara,
willkommen hier im Forum.
Das Problem hat nichts mit Multipolygonen zu tun - sondern es ist eher ein Darstellungsfehler von Mapnik. Die Finnenbahn hat das tag sport=running dran. Und da es ein geschlossener Rund-Weg ist (bzw. bis soeben war), wird von Mapnik dies als Area betrachtet.
Ich habe den Finnenweg jetzt mal aufgesplittet in 3 Teile (bei drei “Kreuzungen”). Nun wird es auch von Mapnik richtig angezeigt.

@all… ich weiss, wir taggen nicht für den Renderer. Aber ein Weg aufsplitten ist ja von daher kein Problem.

Danke für die Erläuterungen.

Heisst das jetzt, wir sollten bei Mapnick noch einen Bug erfassen?

Oder eher (nachdem ich mich jetzt in die Problematik *area *eingelesen habe): Ob ein geschlossener Weg eine Fläche darstellt, ist leider nicht einheitlich definiert. Die Situation ist unübersichtlich. Die Diskussion ist im Gange und solange sie nicht abgeschlossen ist, muss man mit Überraschungen und Fehlinterpretationen rechnen. Eine falsche Interpretation als Fläche verhindert man pragmatisch indem man geschlossene Wege vermeidet (area=no scheint nicht vorgesehen).

Ich denke, das ist effektiv ein Mapnik-Fehler und sollte als bug erfasst werden.

das tag area=no würde wohl nichts nützen. ob jetzt nichts dran hängt oder ein area=no, kommt aufs genau gleiche raus.

Eher ein Problem von osm2pgsql. Im default.style wird alles mit sport als potentielles Polygon gedeutet.
Aber wenn ich mir diese Zeilen anschaue:


    /* Special case allowing area= to override anything else */
    if ((area = getItem(tags, "area"))) {
        if (!strcmp(area, "yes") || !strcmp(area, "true") ||!strcmp(area, "1"))
            *polygon = 1;
        else if (!strcmp(area, "no") || !strcmp(area, "false") || !strcmp(area, "0"))
            *polygon = 0;

sollte ein explizites area=no schon Wirkung zeigen.

Gruß,
ajoessen

@ajoessen… tatsächlich wirkt area=no. danke für die info. ich habe die 3 teile der finnenbahn wieder vereinigt und mit area=no versehen.

ich bin natürlich davon ausgegangen, dass wenn kein area-tag steht, dass area=no impliziert ist (ausser bei landuses, naturals). man lernt halt immer wieder neu dazu…