osmarender madness

Hallo,

kann mir jemand erklären was bei osmarender hier passiert?
http://www.openstreetmap.org/?lat=12.3241&lon=98.682&zoom=12&layers=0B00FTF

da werden einige Tiles seit einigen Tagen nicht richtig gerendert. Die umgebenden Tiles kommen richtig. neues Rendern habe ich angefordert und das geschieht auch (durch Einfügen und Entfernen des Flughafens der nahen Stadt geprüft). nur bleiben diese Kacheln leer.

Das tagging des Flussdeltas habe ich mir etwas weiter nördlich beim Delta nahe der Stadt Dawei abgeschaut.

mache ich was falsch oder der Renderer? Ich könnte mir ja nur vorstellen, dass irgendwas am Inhalt der Kacheln verhindert, dass das Land korrekt dargestellt wird.

Stil

Ok, kurze Ergänzung zu meinem Posting in Deinen anderen Thread, dass Du noch nicht gelesen haben wirst:

  • Dein Vorgehen war grundsätzlich korrekt.
  • Leider hast du ein veraltetes Tagging-Schema für Multipolygone verwendet. Dies geistert wohl noch an vielen Stellen bei OSM herum. Aktuell ist: das Außenpolygon wird mit dem Flächentyp der Multipolygonfläche getaggt (hier: waterway=river), die Innenpolygone werden mit dem jeweiligen Flächentype INNERHALB des Innenpolygons getaggt (z.B. landuse=forest bei einer Insel mit Wald auf der Insel). Bei unbekannter oder nicht definierter Landflächenbeschaffenheit der Inseln (wie hier) erhalten jene gar kein Flächentagging. natural=land ist veraltet und inzwischen überflüssig. Es ist daher insgesamt eher überraschend, dass zumindest Mapnik das trotzdem hinbekommen hat.
  • Deine Inner- und Outer-Angaben innerhalb der Multipolygonrelation waren korrekt. Da allerdings Multipolygone mit mehreren AUSSENpolygonen immer noch vielfach problematisch sind, ist eine Aufsplittung in mehrere einzelne Multipolygone für die getrennten Flussarme sinnvoll.
  • Die Drehrichtung der Innen- und Außenpolygone ist inzwischen übrigens egal. Es schadet aber auch nicht, Innenpolygone weiterhin gegen (außer bei Seen) und Außenpolygone mit dem Uhrzeigersinn zu drehen.

Da Dein grundsätzliches Vorgehen ja korrekt war, habe ich die genannten Änderungen eben mal selbst vorgenommen, dann kannst Du es Dir vor Ort gleich anschauen. Es ist nun sogar eher einfach als vorher.

Falls immer noch Renderprobleme auftreten, ist entweder eines der Polygone einfach zu groß (sieht aber nicht danach aus) oder mir sind eben auf die Schnelle Flüchtigkeitsfehler passiert. Ansonsten sind diese Multipolygone hier nicht besonders aufwendig, daher sollten keine anderen Schwierigkeiten beim Rendern auftreten.

Hmmm, bis jetzt ist es ja trotzdem nichts mit dem ordentlichen Rendern. Na ja, noch ein bisschen warten … ansonsten muss man das ganze doch noch in kleinere Elemente aufspalten, die nicht mehrere “Renderkachelgrenzen” überschreiten.

hallo,

Vielen Dank für die ausführlichen Antworten und die Hilfe. Das hat etwas Licht ins Dunkel (meines Wissens um die multipolys) gebracht.
Leider rendern jetzt beide Renderer nicht mehr korrekt.
In Mapnik fehlen einige Inseln bzw von Wasser umgebene Landflächen. z.B. die große Inselgruppe unmittelbar südlich von Myeik.
Ausserdem fehlen hier bei Mapnik auch alle vorgelagerten Inseln.

Bei osmarender werden noch immer einige Kacheln komplett ignoriert (obwohl ich bei t@h browsemap angefordert habe) Vermutlich hängt der sich bei den Kacheln auf weil irgendwelche Daten nicht passen. Hier sind wenigstens die Inseln westlich da.

Mit dem Tip die Polygone zu verkleinern, dass sie nicht Kachelgrenzen überschreiten kann ich nicht so recht folgen - wie soll das gehen? Irgendwo muss es ja immer von Kachel zu Kachel gehen.

Ich dachte so kompliziert könne es nicht sein das alles zu erfassen nur scheinbar sehen die renderer das anders.
Nun bin ich fast versucht den ganzen Kram weg zu löschen und neu anzufangen - oder es ganz zu lassen. Andererseits scheint es ja so zu sein, dass die Daten korrekt sind, aber die Renderer spinnen - nur warum ausgerechnet hier???

ach ich weiß auch nicht.

nochmals vielen Dank für die Hilfe
Stil

Hallo
das ist irgend ein Problem mit dem renderer das Stück Straße auf der einen Insel
wird ja gerendert es liegt mitten im wasser.

http://www.openstreetmap.org/?lat=12.47246&lon=98.45265&zoom=15&layers=B000FTF

Gruß Teddy

genau - im Wiki habe ich gelesen, dass Mapnik das Coastlinefile nur in größeren Abständen aktualisiert. Leider weiß ich nicht von wann die Information ist. Das könnte aber erklären warum die Insel fehlt, alles auf der Insel aber gerendert wird.
Eventuell muss ich aber auch hier wieder erst den “Inhalt” der Insel taggen !?!

Die ganze Ecke dort habe ich in der letzten Woche verbrochen - Inseln und Flußdelta - erfolgreich war ich dabei nicht wie man sieht.

Doch sieht doch ganz gut aus zumindest in JOSM die Renderer tun nur ein wenig schwer
ich würde das auf keinen fall löschen aus der Datenbank schade um die Arbeit.

Gruß Teddy

Ja, war mir klar, dass der kurze Hinweis auf die Renderkacheln bzw. Kachelgrenzen so nicht zu verstehen war. Ich hatte aber gehofft, dass jenes hier kein Problem wird. Um das ganze nicht noch weiter zu verkomplizieren, hatte ich daher auf eine genauere Erläuterung verzichtet.

Dabei geht es darum, dass Mapnik und Osmarender die Welt in Kacheln aufteilen und jene dann quasi einzeln für sich rendern. Reale Objekte überschreiten natürlich oft die Kachelgrenzen. Das muss berücksichtigt werden, kann aber Probleme ergeben. So könnte z.B. eine Kachel komplett innerhalb einer großen Waldfläche liegen. Dann lägen alle Punkte des Waldrandes außerhalb der Kachel. Der Renderer erhält beim Erzeugen der Kachel keinen Hinweis darauf, dass dort Wald sein soll und würde deshalb keinen Wald rendern. Wenn dagegen ein kleiner Teil des Waldrandes innerhalb der Kachel liegt, “bemerkt” der Renderer den Waldrand und rendert den Wald korrekt. Bei Multipolygonen wird dies noch komplizierter, da einige der Innen- oder Außenpolygone derselben innerhalb und einige außerhalb der zu rendernden Kachel liegen können. Dann stehen keine vollständigen Informationen über das Multipolygon zur Verfügung, so dass jenes (bzw. bei Osmarender die Kachel) falsch oder gar nicht gerendert wird. Bei flächenmäßig größeren Multipolygonen steigt die Wahrscheinlichkeit solcher Probleme, eine Aufspaltung in kleinere Flächen kann daher Abhilfe bringen.

Bei Mapnik kommt als zweiter Faktor das Mikrorendering von Änderungen dazu. Mapnik berechnet die gesamte Karte in allen Auflösungsstufen ca. jede Woche einmal neu (soweit dass nicht in der letzten Zeit geändert wurde). Lokale Änderungen rendert es zusätzlich in Form sogenannter Mikrorenderings baldmöglichst nach der jeweiligen Modifikation zumindest in den mittleren Zoomstufen neu. Dies hat den Vorteil, dass man vieles schon kurz, nachdem man es ergänzt hat, auf der Karte sehen kann. Früher musste man darauf bis zu eine Woche warten. Innerhalb dieser Mikrorenderings kann aber nicht alles neu berechnet werden. So kann Mapnik dabei nicht große Multipolygone und vermutlich auch keine Küstenlinien (von diesen habe ich aber keine Ahnung) berücksichtigen. Deshalb kann es passieren, dass einige Änderungen erst nach bis zu einer Woche quasi aus dem Nichts bei Mapnik auftauchen, während anderes, später Erstelltes zwischenzeitlich längst zu sehen war.

Aus jenen letztgenannten Gründen zeigt Mapnik vermutlich in Deinem Fall die neuen Inseln noch nicht an. Auch die Multipolygone werden, da ich jene zwischenzeitlich angefasst hatte, auf einmal nicht mehr angezeigt. In ein paar Tagen wäre das dann hoffentlich ok. Bei Osmarender dürfte solches mangels Mikrorendering aber keine Rolle spielen. Da liegen die Fehler hier wohl eher an der Größe. Deshalb habe ich das Gebiet vorhin in etwas kleinere Objekte unterteilt. Bei kleineren Objekten fallen die Multipolygone zum Teil natürlich weg. Mal sehen, was jetzt passiert.

In Deutschland trifft man aufgrund der stark unterteilten Landschaft kaum noch auf solche Probleme, außer bei wenigen großen Waldgebieten wie dem Harz, durch den ich mit der Problematik vetraut bin.

Haha, das ganze mit Osmarender ist viel simpler als gedacht:

In Osmarender/tiles@home muss für Kacheln, durch die keine Küstenlinie verläuft, definiert werden, ob jenes Land- oder Meereskacheln sind. Die fehlerhaften Kacheln sind als Meereskacheln deklariert, da wird einfach Wasser (riverway) auf Wasser (dem Meer) gerendert, das ergibt - wenig überraschend - weiterhin nur Wasser (in detaillierten Auflösungen erscheint das trotzdem in weiß, warum auch immer?). :wink:

Theoretisch kann man das über “http://www.informationfreeway.org/” ändern, praktisch funktioniert das aber nicht. Daher habe ich mal kurz eine Änderungsanfrage an die TilesAtHome-Mailingliste geschickt, wie als Vorgehen empfohlen. Da ich dort nicht angemeldet bin, muss diese Anfrage aber erst von einem Admin dort freigeschaltet werden. Das kann also dauern…

ahh sehr genial! Osmarender sieht jetzt gut aus… Mapnik ignoriert noch die Inseln, aber da werde ich noch ein wenig dran drehen - vielleicht bekomme ichs noch hin.

Ich nehme an, dass du Ebbe73 das irgendwie zurecht gedreht hast.
Vielen Dank dafür

grüße Stil

irgendwie durchschaue ich die ganze Problematik doch noch nicht.

Bei Osmarender werden die Inseln richtig gerendert wenn sie als coastline getaggt sind. Die meißten anderen Inseln die ich gecheckt habe sind auch coastline.
Bei Mapnik werden meine Inseln (die im Meer - nicht die im Fluss) aber nicht gerendert. - es sei denn, ich tagge sie als Land (was ja wohl falsch ist.)

Nur was muss ich machen, damit auch Mapnik die Inseln zeigt? schalte ich mal kurz auf land um tauchen sie sofort auf - gehe ich zurück zu coastline verschwinden sie wieder.

Stil

Nachtrag : laut http://hypercube.telascience.org/~kleptog/last_update.txt wurde das coastline-file welches mapnik verwendet das letzte mal am 7.10 aktualisiert.
ich habe einige der Inseln bereits am 2. mit natural=coastline erstellt.

Mapnik nutzt erstens je nach Auflösungsstufe unterschiedlichen Quellen/Methoden für die Küstenlinien, zweitens sind die Anpassungs-/Änderungszyklen dabei zum Teil extrem lang bzw. müssen manuell vorgenommen werden. Osmarender verwendet wiederum einen komplett anderen Ansatz.

Siehe: http://wiki.openstreetmap.org/wiki/Coastline (sowohl englische als auch deutsche Version, die scheinen unterschiedliche Aspekte zu beschreiben).

Mehr als überflogen habe ich das nicht. Zumindest scheint das von Dir beschriebene Verhalten damit zu koinzidieren. Erst einmal würde ich allerdings einfach bis Ende der Woche warten, bis Mapnik zumindest ein übergeordnetes Rerendering durchgeführt hat.

Osmarender’s Verhalten leuchtet mir jetzt ein - auf der SlipyMap bei http://www.informationfreeway.org/ kann man ja auch bequem einen renderrequest stellen oder ein tile als Land/Sea,Mixed markieren.
Ansonsten werde ich weiter abwarten und einfach weiter mappen - irgendwann wirds ja wohl durchschlagen. vielleicht bin ich einfach zu ungeduldig.

Das dachte ich auch, diese dortige Funktion soll aber nach Kommentaren in der Mailing-List und anderswo gar nicht funktionieren. Ob das stimmt, weiß ich nicht. Bei direkt danach ausgelösten Renderrequests zeigte sie zumindest keine Wirkung. Etwas später hatte ich deshalb in der Times@home-Mailing-Liste um eine Tiles-Änderung gebeten. Das wurde dort aber nicht veröffentlicht, ggf. hat es ein Admin gleich selbst ausgeführt. Oder die vorher genutzte Funktion bei http://www.informationfreeway.org funktionierte dann doch, nur eben mit gewisser Verzögerung.

Naja, was auch immer…

Nachmal zu Mapnik: das die Inseln im Flussdelta noch fehlen, kann einfach daran liegen, dass jene erst nach dem wöchentlichen kompletten Neurendern der Karte erscheinen. Die Inseln weiter außerhalb dagegen erst nach einer Aktualisierung der Coastline und das wird nach dem WIKI anscheinend nur von Zeit zu Zeit von jemandem manuell angestoßen. Selbst wenn das gerade Anfang Okober war, können Deine Daten darin noch fehlen, das das genutzte Worldfile ggf. auch etwas hinterherhinken kann. So ungefähr interpretiere ich das ganze. Bei dem Durcheinander mag ich aber auch falsch liegen.

Google hat seinen renderer in der gegend übrigens auch nicht im Griff! Vergleich:
http://tools.geofabrik.de/mc/?mt0=googlemap&mt1=tah&lon=98.59011&lat=12.09707&zoom=11