| 更新日時 | リリース | 更新内容 |
|---|---|---|
| 2026/03/19 | 3rd | グリーンインフラ・熱中症対策への適用に向けた植生/植栽モデル対応(編集機能および植生乱流モデルの導入)ならびに各機能の改修 |
| 2025/03/26 | 2nd | 3D都市モデル編集機能やシミュレーション結果可視化機能の改修と熱流体解析における湿度考慮 |
| 2024/03/29 | 1st | 初版リリース |
本リポジトリでは、Project PLATEAUの令和7年度「都市デジタルツインの実現に向けた実証調査業務」(内閣府/研究開発とSociety5.0との橋渡しプログラム(BRIDGE))におけるUC25-03「熱流体解析に関する大規模シミュレーション」において開発した「熱流体シミュレーションシステム」のソースコードを公開しています。
3D都市モデルを用いた大規模なシミュレーション技術は高負荷のコンピューティングを前提とするものが多く、その実施はオンプレミスの専門ツールを用いることが一般的です。他方、3D都市モデルが普及するにつれ、地方公共団体職員等のノンエンジニア属性のユーザーが簡易にシミュレーションを実施して業務に活用するニーズが高まっています。
本ユースケースでは、これらの課題に対し、直感的で理解しやすい操作性かつ利便性を考慮したGUIを備えたウェブアプリとしての温熱環境シミュレータを開発しました。 特に、近年のまちづくりにおいて重要となる「グリーンインフラ整備」や「熱中症対策」への活用を念頭に、建物だけでなく樹木や緑被などの植生モデルを含めたシミュレーションに対応しています。ユーザはウェブブラウザ上で架空の建物や植栽を自由に配置・変更し、再開発計画や植栽計画の効果検証を簡易かつ高精度に実施することが可能です。
本リポジトリのソースコードを利用することで、サーバ(コンテナ)およびクライアント(ウェブアプリ)環境を構築し、ノンエンジニア属性のユーザでも高度な熱流体シミュレーションを日常業務に活用できる環境を提供します。
本システムの構築手順及び利用手順は利用チュートリアルを参照してください。
ユーザーをログイン認証し、当該ユーザーがこれまでにこのウェブアプリで登録した3D都市モデルやシミュレーションモデルを一覧表示します。またプリセットされたサンプルモデルや、他のユーザーから共有されたモデルについても、閲覧および複製できます。
外部システムでデータ変換しアップロードした3D都市モデル(OBJ/STLファイル)に対し、本システム上の地図操作で架空のモデルを追加・編集する機能です。 建物モデルの高さや種別の設定に加え、グリーンインフラ整備や熱中症対策の検討に不可欠な樹木や緑被などの植生モデルについても、GUI操作で自在に配置・削除が可能です。 これにより、既存の都市モデルをベースに、再開発や植栽計画を反映したシミュレーション用のオリジナルデータを作成することができます。
ウェブアプリの画面上で外気温などの外力等環境条件を入力し、外部システムでデータ変換した3D都市モデル(STLファイル)をウェブアプリにアップロードすることで、サーバの計算機資源を用いて温熱環境シミュレーションを実行します。熱流体解析ソフトにはOSSのOpenFOAMを利用します。本システムでは、国土技術政策総合研究所ならびに国立研究開発法人建築研究所の研究成果に基づく「植生乱流モデル」を解析エンジンに採用しており、樹木等が風況・温熱環境に与える影響を高精度に再現します。 標準ソルバを用いる場合、ユーザーはOpenFOAMの入出力や計算仕様を意識する必要はありません。詳細な設定を行いたいユーザーは、ソルバや設定をカスタマイズして利用することも可能です(詳細はdocsフォルダのシミュレーションモデル仕様書をご参照ください)。
温熱環境シミュレーション結果(風況、中空温度、暑さ指数)を示す矢印やヒートマップを、PLATEAU-3DTilesの配信サービスなどで提供されている3D都市モデル(3Dタイル)および地形モデルに重畳してウェブアプリの画面上に表示します。また温熱環境シミュレーション結果をGeoJSONファイル形式でダウンロードすることができます。
温熱環境シミュレーション結果について、本システムのログインアカウントを持たない利用者も閲覧可能なURLを発行することができます。
| 用途 | 名称 | 製品バージョン | 内容 |
|---|---|---|---|
| ウェブアプリ構成要素 | Ubuntu | 22.04.3 LTS | 開発環境として使用したOS |
| Apache Server | 2.4.52 | Webアプリの動作環境であるWebブラウザと通信するために利用したWebサーバ | |
| Bootstrap | 5.2.3 | フロントエンドのUIを構築するために使用したライブラリ | |
| jQuery | 3.7.1 | フロントエンドの動的処理のために使用したJavaScriptライブラリ | |
| jQuery UI | 1.13.2 | jQueryの拡張機能として利用 | |
| CesiumJS | 1.104 | データを地図上に描画するために利用した3D地図プラットフォーム | |
| Leaflet | 1.9.4 | データを地図上に描画するために利用した2D地図ライブラリ | |
| Laravel | 10.28.0 | バックエンドで利用したPHPフレームワーク | |
| PHP | 8.1 | Webアプリのバックエンド開発に利用したプログラミング言語 | |
| NodeJS | 12.22.9 | フロントエンドと連携して動作するバックエンドの実行環境 | |
| npm | 8.5.1 | Node.jsのパッケージ管理ツール | |
| PostgreSQL | 15.4 | データベースエンジン | |
| Python | 3.12.7 | コンテナモジュールの実装に利用したプログラミング言語 | |
| pip | 24.3.1 | Pythonのパッケージ管理ツール | |
| fastapi | 0.115.4 | APIを構築するためのWebフレームワーク | |
| fastapi-cli | 0.0.5 | fastapiの拡張機能として利用 | |
| pyproj | 3.7.0 | 座標変換のために利用したPythonライブラリ | |
| numpy | 2.1.2 | 数値計算のために利用したPythonライブラリ | |
| numpy-stl | 3.1.2 | numpy上で3DモデルのSTLファイルを操作するためのPythonライブラリ | |
| SQLAlchemy | 2.0.36 | データベース操作のために利用したPythonのORMライブラリ | |
| psycopg2 | 2.9.10 | データベース操作のために利用したPythonライブラリ | |
| paramiko | 3.5.0 | SSH接続を行うために利用したPythonライブラリ | |
| OpenFOAM (ESI-OpenCFD) | 2206 | 熱流体解析に用いた流体解析用ソフトウェア | |
| 環境構築 | docker | 24.0.6 | サーバー上にコンテナを構築するために利用した |
| docker compose | 2.22.0 | 複数のDockerコンテナを操作するために利用したプラットフォーム | |
| Git | 2.43.0 | ファイル構成管理に利用 | |
| pgAdmin 4 | 8.3 | データベースのGUI操作に利用したツール | |
| 対向システム | PLATEAUストリーミング配信サービス | 3Dタイル配信 | |
| 地理院タイル | 2Dタイル配信 | ||
| FME Desktop | 2023.2.0.0 | 3D都市モデルのデータ変換を行うために利用したソフトウェア | |
| QGIS | 3.40.4 | GISソフトウェア |
本システムの稼働環境は、利用者端末であるクライアントPCおよびネットワーク接続するサーバマシンの各ハードウェアより構成されます。サーバマシンでは複数のマシン(コンテナ)から構成され、うちWebコンテナがクライアントPC上のブラウザに対してウェブアプリをホストし、他のコンテナはWebコンテナと結合して諸機能を提供します。ここでは、クライアントPCとサーバーマシンの最小動作環境を下記に示します。
| 項目 | 最小動作環境 | 推奨動作環境 |
|---|---|---|
| ブラウザ | JavaScript、jQuery、CesiumJS対応ブラウザ | Google Chrome 120.0以上 |
| ディスプレイ解像度 | 1920×1080以上 | 1920×1080以上 |
| ネットワーク | 以下のURLを閲覧可能であること ・サーバマシンのWebアプリ ・PLATEAU-3DTilesの配信サービス |
インターネット接続 |
| 項目 | 最小動作環境 | 推奨動作環境 |
|---|---|---|
| OS | Ubuntu | Dockerファイルにより立ち上げた仮想環境 |
| DBMS | PostgreSQL | 同左 |
| ファイルシステム | Ubuntu(Webコンテナ、Wrapperコンテナ、APIコンテナ)がマウント可能なファイルシステム | Amazon EFS あるいは samba |
| ネットワーク | 各コンテナ及びファイルストレージとのネットワーク接続 | サーバマシン内でのVPN |
| フォルダ名 Lv1 | Lv2 | 詳細 |
|---|---|---|
| docs | 参考資料(ドキュメント) | |
| examples | 参考資料(ドキュメント以外) | |
| input | 本システムにユーザがアップロードするファイルのサンプル | |
| output | 本システムからユーザがダウンロードするファイルのサンプル | |
| src | ソースコード | |
| container | サーバマシンの各コンテナを構築するための設定ファイル | |
| query | DBコンテナ用DDLおよび初期データ投入用DML | |
| srcBatch | Wrapperコンテナ用・熱流体解析非同期実行管理モジュール | |
| srcWeb | Webコンテナ用・Webアプリソースコード | |
| srcAPI | APIコンテナ用・FastAPIソースコード | |
| template | 標準ソルバ(OpenFOAM)用入力ファイルテンプレート |
※ウェブアプリを構成する各モジュールはphp、pythonなどインタプリタ型言語で実装されているため、オブジェクトプログラム(バイナリファイル)は構成管理下に含まれません。
- ソースコードおよび関連ドキュメントの著作権は国土交通省に帰属します。
- 本ドキュメントはProject PLATEAUのサイトポリシー(CCBY4.0および政府標準利用規約2.0)に従い提供されています。
- 本リポジトリは参考資料として提供しているものです。動作保証は行っておりません。
- 予告なく変更・削除する可能性があります。
- 本リポジトリの利用により生じた損失及び損害等について、国土交通省はいかなる責任も負わないものとします。
- PLATEAU Webサイト Use caseページ「3D都市モデルを活用した熱流体シミュレーションシステムの開発」: https://www.mlit.go.jp/plateau/use-case/uc25-03/
