| 更新日時 | リリース | 更新内容 |
|---|---|---|
| 2026/3/20 | 3rd Release | ダッシュボード機能の強化(道路閉塞率、建物被害率、応急仮設住宅必要数) |
| 2025/3/21 | 2nd Release | シミュレーションの種類を追加、ダッシュボードの機能を追加 |
| 2024/3/29 | 1st Release | 初版リリース |
本リポジトリでは、FY2023 の Project PLATEAU「都市デジタルツインの実現に向けた研究開発及び実証調査業務」(内閣府/研究開発とSociety5.0との橋渡しプログラム(BRIDGE))において開発された「3D都市モデルを活用した建物振動シミュレーションシステム」のソースコードを公開しています。また、FY2024〜FY2025にかけて同事業内で実施した追加開発・改修の内容も含まれています。
3D都市モデルを活用し、地震動を設定して建物被害シミュレーションの実行、データのダウンロード、可視化までを完結できるWebアプリケーションです。
本システムの構築手順及び利用手順については 利用マニュアル を参照してください。
本ソフトウェアの機能は以下の通りです:
- 3D都市モデルを活用した建物振動シミュレーションの予約
- (シミュレーションの実行はJAMSTECの環境で実行)
- シミュレーション結果のダウンロード
- シミュレーション結果のWeb表示用に最適化したデータへの変換
- シミュレーション結果のダッシュボード表示(建物被害、道路閉塞、インタラクティブマップ)
- 過去のシミュレーション結果の一覧表示
| カテゴリ | 技術 |
|---|---|
| フロントエンド | SvelteKit 2.x, TypeScript, Svelte 5, Tailwind CSS |
| UIコンポーネント | Melt UI, Svelte Hero Icons |
| 地図・可視化 | MapLibre GL, Deck.gl, Terra Draw, Chart.js |
| バックエンド | AWS Lambda, Amazon DynamoDB, Amazon S3, AWS Batch |
| 認証 | Amazon Cognito, AWS Amplify Auth |
| インフラ | AWS CDK (TypeScript) |
| モノレポ管理 | Turborepo, pnpm workspace |
| ビルドツール | Vite, pnpm |
このプロジェクトはTurborepoを使用したモノレポ構成になっています。
/
├── apps/
│ ├── admin/ # 管理システム (wide/narrow機能)
│ └── viewer/ # ビューワーアプリケーション
├── packages/
│ ├── shared/ # 共有型定義・ユーティリティ
│ ├── ui/ # 共通UIコンポーネント
│ ├── aws-client/ # AWS SDKクライアント
│ └── config/ # 共通設定
└── cdk/ # AWS CDKインフラストラクチャ
├── backend-stack/ # バックエンドリソース
├── platform-stack/ # Cognitoなどのプラットフォーム
├── narrowsim-batch-stack/ # 狭域シミュレーションバッチ
└── widesim-batch-stack/ # 広域シミュレーションバッチ
- Node.js: >= 22.0.0 (推奨: 22.18.0)
- pnpm: >= 9.11.0
- mise: Node.jsバージョン管理に使用(
.tool-versionsで管理) - Docker: ローカル開発環境の一部で使用
- ソースコード及び関連ドキュメントの著作権は国土交通省に帰属します。
- 本ドキュメントはProject PLATEAUのサイトポリシー(CCBY4.0及び公共データ利用規約第1.0版)に従い提供されています。
- 本リポジトリおよびソフトウェアは Project PLATEAU の参考資料として提供しているものです。動作の保証は行っておりません。
- 本リポジトリおよび本ソフトウェアの利用により生じた損失及び損害等について、開発者および国土交通省はいかなる責任も負わないものとします。
- 本リポジトリの内容は予告なく変更・削除する場合があります。
- 建物被害シミュレーションの実行には、別途JAMSTECのシミュレーション環境が必要となります。シミュレーションの実行には、JAMSTECとの別途契約が必要となる場合があります。
- シミュレーションの精度や結果の解釈に十分注意してください。シミュレーション結果はあくまで予測であり、実際の被害状況を完全に反映するものではありません。
パッケージマネージャーとして pnpm を使用します。
pnpm install.env.exampleを参考に.envファイルを作成してください。
cp .env.example .env
# .envファイルを編集apps/viewer/.env.exampleを参考にapps/viewer/.envファイルを作成してください。
cp apps/viewer/.env.example apps/viewer/.env
# .envファイルを編集make docker_build # DynamoDBとMinIOを起動
make data_init # 初期データを投入# 全アプリを起動
pnpm dev
# 管理システムのみ起動 (http://localhost:5173)
pnpm dev:admin
# ビューワーのみ起動 (http://localhost:5174)
pnpm dev:viewer
# Makefileを使用
make dev # 全アプリ
make dev_admin # 管理システム
make dev_viewer # ビューワー# 全アプリをビルド
pnpm build
# 管理システムのみビルド
pnpm build:admin
# ビューワーのみビルド
pnpm build:viewer
# Makefileを使用(管理システムのみ)
make svelte_build# Lint実行
pnpm lint
# フォーマット
pnpm format
# 型チェック
pnpm check
# テスト実行
pnpm test# ビルド成果物の削除
pnpm clean
# node_modules削除
make remove_node_modules管理システム(admin)とビューワー(viewer)は独立してデプロイ可能です。
# 管理システムのビルド
pnpm build:admin
# ビューワーのビルド
pnpm build:viewerビルド成果物は各アプリのbuild/ディレクトリに生成されます。
# バックエンドスタック
make cdk_deploy_backend
# プラットフォームスタック
make cdk_deploy_platform
# 狭域シミュレーションバッチ
make cdk_deploy_narrow
# 広域シミュレーションバッチ
make cdk_deploy_wide- URL: http://localhost:5173
- 機能:
- 広域シミュレーション管理
- 狭域シミュレーション管理
- プリセット管理
- シミュレーション予約
- URL: http://localhost:5174
- 機能:
- シミュレーション結果の可視化
- S3からの実データ取得(本番環境)
- モックデータによるフォールバック(開発環境)
- 建物被害ダッシュボード
- 道路閉塞ダッシュボード
- インタラクティブマップ
- 過去のシミュレーション一覧表示
- デバッグモード対応(
?debug=trueパラメータ)
- シミュレーション結果の可視化
- AWS Cognitoを使用
- ユーザーロール: admin, operator, viewer
- 管理システムへのアクセスには認証が必要
# miseでNode.jsをインストール
mise install node@22.18.0
# .tool-versionsが正しく設定されているか確認
cat .tool-versions
# 出力: nodejs 22.18.0
# 現在のバージョンを確認
mise current node# 依存関係の再インストール
rm -rf node_modules
pnpm install
# キャッシュのクリア
pnpm clean
rm -rf .turbo# コンテナを停止して削除
make docker_down
# 再起動
make docker_build
make data_init# 型チェック実行
pnpm check
# SvelteKitの同期
cd apps/admin # または apps/viewer
npx svelte-kit sync開発環境でS3/MinIOが起動していない場合、以下のようにデバッグモードを使用できます:
# デバッグモード(モックデータを使用)
# ブラウザで以下のURLにアクセス
http://localhost:5174/?debug=true
または、MinIOを起動:
make docker_build