GeoDynamics 1.0.0は、ArcGIS SceneViewを単なる可視化環境としてだけでなく、対話型の物理シミュレーションや水理シミュレーションを行う空間領域として活用する方法を探る、実験的なオープンソースのPOCです。
このプロジェクトでは、ArcGIS Maps SDK for JavaScript 5.x、SceneViewの地形サンプリング、RenderNode/WebGL2、Rapierの剛体物理演算、実験的な浅水流モデリングを組み合わせています。
現在の主な機能:
- World Elevationに対応した地形考慮型の落石シミュレーション;
- 対話型のダム作成;
- DEMに基づく貯水池の生成;
- GPUによる水面描画と岩石・水の相互作用;
- ダムの越流検出;
- 簡略化した低次元モデルと実験的な2D SWE下流シミュレーション;
- 水深、流速、到達時間、ハザードの出力;
- 再現可能なJSONシナリオ;
- GeoJSONエクスポート。
ライブデモ:
https://nicogis.github.io/GeoDynamics/
GitHubリポジトリ:
https://github.com/nicogis/GeoDynamics
簡単な操作方法:
- Ctrl + クリックで谷を挟んだ2点を指定すると、ダムの壁を作成できます。
- 通常のクリックで地形上をクリックすると、岩を転がせます。
- Shift + クリックで上流側を指定すると、自動的な集水域検出が適切でない場合に、貯水池の起点を手動で選択できます。
これは意図的に研究を目的としたPOCであり、技術者認定を受けた水理モデルではありません。
この実験の背景にある問いの一つは、3D GISシーンを単なる可視化クライアントにとどめず、地形、物理演算、数値モデルが同じ空間コンテキストで動作する軽量な計算環境へと発展させられるか、ということです。
ArcGIS JavaScript/3D/WebGLコミュニティの皆さんから、ぜひご意見をいただきたいです。特に、RenderNodeとの統合、地形との相互作用、GPUシミュレーション、さらに高度な地理空間シミュレーションワークフローに向けた展開について、フィードバックをお待ちしています。