Menggunakan postgis untuk menghasilkan nuansa bangunan

9

Saat ini saya sedang mengerjakan alat estimasi potensi matahari untuk bangunan yang ada. Idenya adalah menggunakan bentuk bangunan (= Polygon), tingginya, dan membuat bayangan yang dihasilkan pada jam tertentu. Saya hanya akan melakukan tes untuk beberapa posisi matahari. Saya tahu tentang fungsi rumput r.sun.mask tetapi dikalahkan untuk apa yang saya coba lakukan.

Untuk saat ini saya hanya ingin mendapatkan keteduhan ketika matahari selatan, pada 18 ° di langit. Oleh karena itu bangunan itu harus membayangi sekitar tiga kali tingginya.

Apa yang saya coba dapatkan:

Apa yang saya coba dapatkan

Saya telah mencari beberapa saat tetapi saya tidak menemukan alat di postgis untuk melakukan ini. Saya sedang berpikir tentang buffering dan kemudian memotong poligon tetapi tidak berhasil. Apakah Anda tahu alat apa pun atau tahu cara melakukannya?

aeboq
sumber

Jawaban:

8

Cara termudah untuk melakukan ini adalah dengan

ST_Extrude (geom, arah x, arah y, 0)

. Anda harus menghitung faktor mengusir sendiri tentu saja dan mengasumsikan seluruh poligon Anda adalah ketinggian yang sama (dalam contoh Anda, mengusir akan seperti: ST_Extrude(geom, 0, 3.0*height, 0))

Berikut ini adalah manual tentang ST_Extrude. Ingatlah bahwa Anda memerlukan postgis dengan SFCGAL untuk ini, periksa dokumen instalasi tentang cara mendapatkan ini jika Anda belum memilikinya.

memiringkan
sumber
Bentuk keluaran adalah yang saya inginkan, namun Permukaan Polyhedral tidak dapat berpotongan dengan Polygon. Saya mencoba ST_Force2D pada polihedral dan kemudian memotongnya dengan poligon saya tetapi tidak berhasil. Apakah ada fungsi lain dengan format output yang lebih praktis, atau cara untuk mengubah permukaan polihedral ini menjadi poligon?
aeboq
2
Ya, Anda bisa membuangnya ke poligon normal. Contoh:SELECT ST_AsText((ST_Dump(ST_Extrude(ST_MakeEnvelope(10,10,100,100,28992),0,8,0))).geom)
miringkan
0

Mungkin patut mempertimbangkan untuk mengekspor dari QGIS ke Blender karena ini akan memungkinkan Anda untuk menempatkan matahari sebagai cahaya dan bernyawa sepanjang hari dan sepanjang tahun. Saya memang menemukan alur kerja di sini yang terlihat relevan.

Steve Barnes
sumber