今回はPLATEAUが公開する3D都市モデルをRhinocerosに取り込み、GrasshopperのLadybugコンポーネントを用いた、街区の日照時間をシミュレーションする方法についてご紹介します。
シミュレーションのプロセスと事前準備

以下の手順で街区における日照時間の解析を行います。
- 解析対象の街区のモデルを読み込み
- 解析対象の街区における気象データを読み込み
- 解析条件を設定して処理を実行
- 実行結果を可視化して結果を解釈
解析対象の街区モデルの取得
解析対象の街区モデルについて、今回はPLATEAUのデータを用います。PLATEAUのデータ取得やRhinocerosへの取り組み方法については、以下の記事をご参照くださいませ。今回は、メンテルが所在する代々木オフィス付近の新宿区を解析地域として選定します。
MENTERU TECH BLOG|
PLATEAUの3D都市モデルの取得方法とRhinocerosへの取込方法について
https://tech.menteru.jp/notes/PLATEAU-Data-into-Rhinoceros
解析対象の気象データの取得
解析対象に近い地域の気象データを取得します。気象データの取得と確認の方法については、以下の記事をご参照くださいませ。今回は、新宿区を解析地域として選定したので東京都の気象データを取得します。
MENTERU TECH BLOG|EPWファイル(気象データ)の取得方法
https://tech.menteru.jp/notes/How-to-Get-EPW-File
MENTERU TECH BLOG|EPWファイル(気象データ)の確認方法
https://tech.menteru.jp/notes/How-to-Check-EPW-File
日照時間シミュレーションの実行
Rhinocerosに新宿区の3Dモデルデータの取り組みが完了した状態です。位置情報や方角をイメージしやすいように、都庁に色をつけてみました。

Grasshopperへの街区モデル連携
まず、Rhinoceros上に取り込んだ解析モデルをGrasshopperと連携させる必要ああります。Grasshopper上でgeometryコンポーネントを配置して右クリックで”Set Multiple Geometries”をクリックします。すると、Rhinoceros上でモデルを選択するモードに切り替わるので、先ほど取り組んだ街区モデルを選択してEnterを押します。

Grasshopper上でGeometryコンポーネントのエラーが解消され、Rhinoceros上でレイヤー色等に変化が見られれば成功です。

Grasshopperへの気象データ連携
次にGrasshopper上に気象データを連携する方法です。Ladybugには気象データを読み込むコンポーネントが複数用意されていますが、今回は「LB Download Weather」を用います。Grasshopperのキャンバス上でクリックすると検索バーが表示されるので、上記コンポーネント名を検索してクリックします。

「LB Download Weather」のコンポーネントには、EPWファイルを受け渡すインプットが2つ用意されています。EPWファイルの取得先URLで受け渡す際は”weather_URL”を用いて、ローカルにダウンロードしたファイルを用いる場合は”folder”にパス情報を受け渡します。

今回は日照時間に関する解析を行うので、取得したEPFファイルから太陽軌道に関する情報を抽出します。そこで、Ladybug「SunPath」というコンポーネントを用います。「Sunpath」にEPWファイルから抽出した位置情報を”location”に受け渡し、解析を実行する時間を”hoys”に受け渡します。それぞれLadybugにコンポーネントが用意されており、「Import Location」のコンポーネントにEPWファイルを受け渡して”location”情報を取得し、「Analysis Period」のコンポーネントに解析する日付情報を受け渡して”hoys”を取得します。
EPWファイルから太陽軌道情報の抽出

ここまでで、Rhinoceros上に太陽軌道が表示されることが確認できます。解析日時を8月1日の0時-23時としたので、太陽軌道上の高度が高い付近に複数のプロットが表示されていますが分かります。日本の夏は太陽光が真上に近い条件で降り注ぐので感覚と合っていることが分かると思います。ただし、デフォルトでは、太陽軌道が原点(0,0,0,)で表示されるため、街区モデルと離れた地点でスケール感も異なる状態で表示されます。

そこで、「SunPath」のコンポーネントに、”center_pt”と”scale”に値を受け渡し、表示条件を整えます。”center_pt”には、街区モデルの中心を受け渡すとして、「Area」で街区モデルを構成する各ジオメトリの中心点を取得し、「Average」でそれらを平均する点を取得して用います。”scale”には、「Number Slider」で値を受け渡して大きさを整えます。

日照時間シミュレーションの実行
いよいよ準備が整いましたので、日照時間のシミュレーションを実行します。日照時間のシミュレーションには、Ldaabugの「Direct Sun Hours」のコンポーネントを用います。”vectors”に「Sunpath」で取得した太陽軌道のベクトル情報を受け渡します。次に、解析空間情報として、街区モデルを解析対象である”geometry”と遮蔽物である”context”の両方に受け渡します。最後に、”run”に「Boolean Toggle」をTrueに切り替えて解析を実行します。

数十秒から数分程度の解析が終われば、添付の通り街区モデルが日照時間の大きさに応じてカラーリングされます。解析日時を変えたり、地面に対する入射で日影を評価したり、特定のビルを対象にしたり様々な応用が考えられます。


コメント