Verwenden von Postgis zum Generieren von Gebäudetönen

9

Ich arbeite derzeit an einem Tool zur Schätzung des Solarpotentials für bestehende Gebäude. Die Idee ist, die Form von Gebäuden (= Polygon) und ihre Höhe zu verwenden und den resultierenden Schatten zu einer bestimmten Stunde zu erzeugen. Ich werde den Test nur für ein paar Sonnenpositionen durchführen. Ich weiß über die Grasfunktion r.sun.mask Bescheid, aber sie ist überwältigt für das, was ich versuche zu tun.

Im Moment möchte ich nur Schatten bekommen, wenn die Sonne im Süden bei 18 ° am Himmel steht. Das Gebäude sollte daher einen Schatten werfen, der etwa dreimal so hoch ist.

Was ich versuche zu bekommen:

Was ich versuche zu bekommen

Ich habe eine Weile gesucht, aber ich habe in postgis kein Werkzeug gefunden, um dies zu tun. Ich dachte darüber nach, das Polygon zu puffern und dann zu schneiden, konnte es aber nicht zum Laufen bringen. Kennen Sie ein Werkzeug oder haben Sie eine Idee, wie es geht?

aeboq
quelle

Antworten:

8

Der einfachste Weg, dies zu tun, ist mit einem

ST_Extrude (Geom, x-Richtung, y-Richtung, 0)

. Sie werden den extrudieren Faktor selbst natürlich berechnen haben , und es wird davon ausgegangen Ihr ganzes Polygon die gleiche Höhe (in Ihrem Beispiel extrudieren wäre wie: ST_Extrude(geom, 0, 3.0*height, 0))

Hier ist das Handbuch zu ST_Extrude. Denken Sie daran, dass Sie dafür Postgis mit SFCGAL benötigen. Überprüfen Sie in den Installationsdokumenten, wie Sie dies erhalten, wenn Sie es noch nicht haben.

Neigung
quelle
Die Ausgabeform ist die gewünschte, die polyedrische Oberfläche kann jedoch nicht mit einem Polygon geschnitten werden. Ich habe die ST_Force2D auf dem Polyeder ausprobiert und sie dann mit meinem Polygon geschnitten, aber es funktioniert nicht. Gibt es eine andere Funktion mit einem praktischeren Ausgabeformat oder eine Möglichkeit, diese polyedrische Oberfläche in ein Polygon umzuwandeln?
Aeboq
2
Ja, Sie können es auf normale Polygone ablegen. Beispiel:SELECT ST_AsText((ST_Dump(ST_Extrude(ST_MakeEnvelope(10,10,100,100,28992),0,8,0))).geom)
Neigung
0

Es könnte sich lohnen, einen Export von QGIS nach Blender in Betracht zu ziehen, da Sie so die Sonne als Licht platzieren und den ganzen Tag und das ganze Jahr über animieren können. Ich habe hier einen Workflow gefunden , der relevant aussieht.

Steve Barnes
quelle