3D-Mapping Dachausrichtung roof:type=gabled

Moin!

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.

In JOSM sieht das so aus:

In osm2world dann so:

Wie bekomme ich das Dach dazu, parallel zur Gebäudeseite zu verlaufen, statt so diagonal?

Getaggt habe ich probiert

building:levels=2
roof:levels=1
roof:orientation=along
roof:shape=gabled

und eben statt der orientation

roof:direction=284.28

Bug beim Rendern, oder Knoten im Hirn?

1 Like

Eventuell mit roof:ridge arbeiten.

Ist allerdings keine Bestandteil des simple-Modells.

https://wiki.openstreetmap.org/wiki/ProposedRoofLines

Hallo,
roof:ridge hätte ich jetzt auch gesagt habe aber die Info bekommen dass dies die wenigsten auswerten.
Hier ein Beispiel https://www.openstreetmap.org/edit#map=21/48.33311/10.90398

oder vielleicht die zwei verschiedenen Gebäude mit building:part auftrennen

Gruß
Danfost

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?

Naja, wenn man dem Renderer nicht sagt, wo die Dachkante ist, dann MUSS er halt igendwie raten.

Mir ist die genaue Position der Dachkante gar nicht so wichtig, es geht eher um den Winkel.

Vielleicht kommt das im Bild nicht gut rüber, deswegen hier noch eins:

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 :-\

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.

mit Simple3D bekommt man das wohl nicht hin.

Aber Du kannst ja mal hier schauen:
https://wiki.openstreetmap.org/wiki/ProposedRoofLines

Ob das ein 3D Renderer bereits berücksichtigt, weiß ich nicht.

Hallo

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

In diesem Fall (Beitrag#6) kann man mit building:part arbeiten: 1x gabled, 1x skillion

Das wäre notfalls auch eine Lösung. So habe ich mir auch bei dieser besonderen Dachform beholfen.
https://demo.f4map.com/#lat=51.3082625&lon=12.4114114&zoom=20&camera.phi=160.715
Ein Stück weit ist das natürlich Mapping für den Renderer :wink:

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=**.

Also gut, dann eben mit Skillions arbeiten. Ich hätte gedacht roof:direction würde reichen :frowning:

Danke. Ärmel hoch und weiter :wink:

Wegen Dächern kannst du ja mal in Goyatz vorbei schauen, ob da was dabei ist. Hier z.B. das ehemalige Hafengebäude der Spreewaldbahn:

https://demo.f4map.com/#lat=52.0146677&lon=14.1843714&zoom=20&camera.theta=53.071&camera.phi=-18.335

Da ist WegefanHB unterwegs und ist da richtig fleißig, beim 3D.

tipgebende Grüße

Sven

Hallo,
weil ich gerade darübergestolpert bin, die Seite ist bekannt
https://wiki.openstreetmap.org/wiki/DE:OSM-4D/Roof_table

Gruß
Danfost

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… :confused:

Tendenziell würde ich schon den Renderer (also mich) für zuständig halten.

Schickst du mir mal die .osm-Datei als Testfall?

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)

1 Like

Du hast Post. Ich dachte ja, dass man die Ausrichtung des Dachfirstes über roof:direction angibt, aber das wird eben ignoriert.

Das finde ich sehr umständlich. Ich nutze jetzt übergangsweise 2x skillion so wie hier:

Das hat den Vorteil, dass

  1. Das Gebäude selbst hat noch roof:shape=gabled
  2. Die 3D-Ansicht hat einen absolut korrekt verlaufenden Dachfirst

Nicht perfekt, aber immerhin

Danke!

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 :roll_eyes:). Ich muss mir das aber noch genauer anschauen.

1 Like

Hallo

Aaah…du beläßt roof:shape=gabled am Grundriss und legst dann die zwei building:parts mit skillion noch drüber.
raf­fi­niert :slight_smile:

Gruß
danfost