Jetzt, da ich endlich verstanden habe, wie man roof:direction mit josm gut messen kann, ist mir aufgefallen, dass F4 und osm2world beide die Ausrichtung eine Gabeldaches komisch handhaben. Ich hab sowohl roof:orientation=along, als auch die korrekte roof:direction genommen, das Ergebnis war identisch: das Dach verläuft von der Mitte der unteren Seite zur Mitte der oberen Seite, anstatt parallel zur Außenseite.
Dann ist es aber kein durchgehender Dachfirst mehr und sieht dementsprechend noch schlimmer aus.
roof:ridge wird von keinem mir bekannten Renderer ausgewertet und erfordert außerdem eine Relation. Das fände ich als Lösung für ein Problem, was ich an so ziemlich 20% aller Häuser habe, absoluten Overkill.
Also: ist das ein Bug des Renderers, oder ist das korrekt dargestellt und ich muss z.B. mit 2x Skillion arbeiten?
Wir würde schon reichen, wenn der Dachfirst parallel zu einer Außenseite verläuft. Ob das nun 100% mittig zur oberen Grundseite ist, das ist mir ja schon fast egal. Aber so sieht es halt falsch aus :-\
Mammi71
(One feature, Six mappers and still More ways to map it)
7
isn’t a bug, is a feature
Die 3D-Renderer interpretieren den First in der Mitte der Giebelwand, das funktioniert aber nur bei einfachen rechteckigen Gebäudeumringen mit 4 Ecken. Hier haben wir aber einen Gebäudeversatz, das wird dann schief. Eventuell geht da noch was zu machen mit building:part, aber dann haben wir zwei versetzte Dachfirste und nicht einen.
Ein weiterer Ansatzpunkt wäre noch saltbox als Dachform, aber damit gibt es wohl Probleme, weil nicht eindeutig. Sie Wiki-Artikel zu simple3d.
doch wenn du in deinem ersten Beispiel das bildingpart des vorderen Gebäudes nicht so breitmachst also auf die Breite des hinteren Gebäudes und umgekehrt
Wie dann die Dachkante aussieht muss man sehen
Gruß
Danfost
Mammi71
(One feature, Six mappers and still More ways to map it)
9
In diesem Fall (Beitrag#6) kann man mit building:part arbeiten: 1x gabled, 1x skillion
Aufteilen mit building:part müsste schon gehen, aber dann (#1) mit Aufteilung parallel zum First mit dem Mittelteil als gabled und den schmalen Außenteilen als skillion mit evtl. angepasstem *roof:angle=**.
Es wäre zumindest wünschenswert, in so einem Fall ohne das Zerlegen in Gebäudeteile auszukommen. Ich weiß nicht, ob sich eine Logik finden lässt, die immer ein zufriedenstellendes Ergebnis liefert. Aber vermutlich wäre die Annahme, dass der First meistens parallel zu oder rechtwinklig zu mindestens einer Gebäudeseite ist, öfter richtig liegen als die aktuelle Logik…
Tendenziell würde ich schon den Renderer (also mich) für zuständig halten.
naja, so ein Versatz in einem Satteldach ist real millionenfach gebaut.
Es ergeben sich bei durchlaufenden First unterschiedliche Traufhöhen,
wobei die parallele(!) Firstlage dementsrechend zwischen diesen Traufen gemittelt werden sollte.
Nicht ganz trivial, aber auch kein Hexenwerk.
Jedenfalls würde ich davon abraten, nur deswege Gebäude “zurechtzuschnippeln”.
“Schnippeln” ist ok, wenn die Teilezahl dabei minimal bleibt. Mein Lösungsvorschlag wäre, das Gebäude in einen symetrischen Teil (mit Giebeldach) und einen daran angrenzenden unsymetrischen Teil (mit Pultdach) aufzuspalten. Im Gegensatz zu Danfost komme ich dann mit zwei Teilen aus. Um einen glatten Übergang zwischen den Dächern hin zu bekommen ist allerdings etwas Rechnerei nötig.
Bitte, bitte nicht,
das ist doch kein Problem in den OSM-Daten, sondern eine Auswerterschwäche bei der Ermittlung der (vermuteten) Firstpunkte
(die imho mit überschaubaren Code-Aufwand einmalig im Renderer lösbar sein sollte)
Deine roof:direction ist so präzise angegeben, dass man sie wohl tatsächlich einfach ohne weitere Verarbeitung hernehmen sollte. Aber oft hat man eben auch nur so was grobes wie roof:direction=45 oder gar roof:direction=S. Darum gibt es Code, der die Richtung noch “optimiert” (bzw. eben verschlimmbessert ). Ich muss mir das aber noch genauer anschauen.