PostGISを使用して建物の陰影を生成する


9

私は現在、既存の建物の太陽ポテンシャル推定ツールに取り組んでいます。アイデアは、建物(=ポリゴン)の形状とその高さを使用して、特定の時間に結果の陰を作成することです。太陽のいくつかの位置についてのみテストを行います。グラス関数r.sun.maskについては知っていますが、私がやろうとしていることには圧倒されます。

とりあえず、太陽が南、空が18°のときだけ日陰を取得したいと思います。したがって、建物はその高さの約3倍の影を落とす必要があります。

私が取得しようとしているもの:

私が取得しようとしているもの

しばらく探していましたが、これを行うためのツールがpostgisにありませんでした。バッファリングしてからポリゴンをカットすることを考えていましたが、機能させることができませんでした。ツールを知っているか、それを行う方法について何か考えがありますか?

回答:


8

これを行う最も簡単な方法は、

ST_Extrude(ジオメトリ、x方向、y方向、0)

もちろん、自分で押し出し係数を計算する必要があり、ポリゴン全体が同じ高さであることを前提としています(この例では、押し出しは次のようになります ST_Extrude(geom, 0, 3.0*height, 0))。

こちらがST_Extrude のマニュアルです。これにはSFCGALのpostgisが必要であることを覚えておいてください。まだ持っていない場合は、これを取得する方法についてインストールドキュメントを確認してください。


出力形状は私が欲しいものですが、多面体サーフェスはポリゴンと交差できません。多面体でST_Force2Dを試し、それをポリゴンと交差させましたが、機能しません。より実用的な出力形式を持つ別の関数、またはこの多面体サーフェスをポリゴンに変換する方法はありますか?
aeboq 2017年

2
はい、通常のポリゴンにダンプできます。例:SELECT ST_AsText((ST_Dump(ST_Extrude(ST_MakeEnvelope(10,10,100,100,28992),0,8,0))).geom)
傾斜

0

QGISからBlenderへのエクスポートを検討する価値があるかもしれません。これにより、太陽をライトとして配置し、日中および年中アニメートすることができます。ここで、関連性のあるワークフローを見つけました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.