Upgrade to Pro — share decks privately, control downloads, hide ads and more …

QGISにおける3D活用術

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Ryousuke Wayama Ryousuke Wayama
October 13, 2025
150

 QGISにおける3D活用術

QGISには3D機能がデフォルトでついていますが、専門的な要件には使いずらい場面もあり、カスタムな3D表現が可能なPlugin開発手法についてご紹介します。
また、今回はCodex CLI やClaude Code等を使用した"Vibe Coding"(雰囲気コーディング)をメインとして開発しておりましたので、GIS開発などの実務におけるAI駆動開発のTIPSなどもお話いたします。

Avatar for Ryousuke Wayama

Ryousuke Wayama

October 13, 2025
Tweet

Transcript

  1. 自己紹介 ▎氏名 板垣 沙映 ▎所属 株式会社ノーザンシステムサービス (2025年4月入社) ▎出身 岩手県滝沢市 ▎趣味

    ポケモンカード・マイクラ ドライブ(ラーメン屋巡り・海) 馬にニンジンあげること
  2. 3D機能とQGISが連動可能な技術 PyVista ◆ 主環境 Python(VTKベース) ◆ プラグイン例 PyGIS ◆ 特徴

    • 自前の3Dレンダリングエンジンで描画 • 構造格子、非構造格子、体積データ、点群など、 学術データを扱うことが得意 Three.js ◆ 主環境 JavaScript(WebGL/WebGPU) ◆ プラグイン例 QGIS2threejs ◆ 特徴 • WebGLを利用するブラウザ向けレンダリングラ イブラリ • Webエンジン上で動作する Three.jsで使用している、 WEBエンジンを使用してCesiumを活用する手法!
  3. 指示を具体的にする 今までの経験をもとに指示内容を具体化 過去の発表 2023年福井開催FOSS4Gでの弊社の発表… 「他天体におけるCesiumの活用」 →Cesium.Ellipsoid.WGS84 = ellipsoid; 指示追加 OBJから

    エリプソイド定数(楕円体定数)を 計算し、Cesiumのデフォルト楕円体定数を上書き。DEMを作成 して地形としてCesium上に表示して。
  4. 失敗例2 DEMの計算をうまく実装できず地形がいびつになった 表示された3Dモデル DEMの計算手法を指定するもうまくいかず… 画素値(RGB値)から標高値h(m)の計算式は下記の とおりです。 ・x = 216R +

    28G + B ・x < 223の場合 h = xu ・x = 223の場合 h = NA ・x > 223の場合 h = (x-224)u uは標高分解能(0.01m)を表します。また、無効値 (標高タイル(テキスト形式)の「e」に該当する箇 所)は(R, G, B)=(128, 0, 0)です。 参考:地理院地図|標高タイルの詳細仕様
  5. 失敗例 ## ユーザーに報告・説明する際は以下の点に気を付けること - ユーザーはプログラミングや3D技術、GISの知識があまりありません。 - ユーザーの知識・技術向上につながるような説明・報告をすること。 - ユーザーが理解できるように分かりやすく丁寧に説明・報告すること。 「平均海面コード(MSL)」を本来の意味(ジオイド等を参照)で使い

    たいご意図でしょうか?もし真のMSL基準へ変更したい場合は、どの MSL/ジオイド定義を使うか、あるいはゼロセンタリングをやめて楕円 体差そのままを使うかをご指定ください。 エージェントからの質問例 AGENTS.mdに追加した内容 エージェントの質問や報告内容を理解できない…
  6. Vibe coodingで重要なこと エージェントへ理解させる ◆ エージェントと人間の認識を合わせる • 具体的かつ階層的な指示 • 不明点は質問させ、独断で進めないよ うに制御

    ◆ エージェントへのアドバイス • 〇〇を修正してだけでは修正できない ことがよくある • 原因の検討や手法の指定等をしてあげ ることで解決! 人間が理解する ◆ エージェントの報告・確認を理解する • 指示にない手法を実装していないか • 確認事項として開発方針を提案や確認 されることがある • 質問に適切に答えないことでエージェ ントの判断で実装が進むケース • 他者への説明責任 ◆ コードを読める能力も必要 • 人間が修正したほうが速いケース より専門的な分野の開発には… バックボーンとなる知識を持って協調的に開発!