KASUGAI Canvas v6.17.0

機能と実装 — 機能一覧と現行実装の仕組み・制限

機能をバージョンごとのテーマに沿ってカード形式で簡単に説明します。各カードの詳細は各節の「詳細 →」リンク先の個別ページ、バージョン横断の実装詳細は V0: システム基本構成 を参照してください。

V1: GIS 基本機能(Re:Earth GeoSuite 上位互換)

Re:Earth GeoSuite の GIS・デジタルツイン機能を包含し、KASUGAI 独自の拡張を加えた上位互換の実装です。詳細 →

📝 インスペクター一括設定

xyz: / 3dtiles: / geojson: / geoparquet: / flatgeobuf: / gpkg: / duckdb: / sql: / base: / info: / cam: / legend: 等を行単位で一括設定

🗺️ ベースマップ

base: または xyz: 行で指定。Basemap セレクタから 1 つだけアクティブ化。「ベースマップなし」「ベースマップ透明」も選択可能

🔧 システムレイヤ制御

layer: 行で既存レイヤー名を指定し、表示 / 非表示を初期制御

➕ レイヤー追加・管理

XYZ タイル、3D Tiles、GeoJSON を URL 指定で追加。Layers パネルで表示切替

📑 レイヤー一覧UI

読み込んだレイヤーの表示切替、並び順変更、設定の永続化を視覚的に操作。各行の📍ボタンでレイヤー全体にフォーカス

📂 レイヤグループ化

/ 通常グループ、// 排他グループ。ラジオボタンのような排他制御

🖼️ 凡例表示

legend: 行で画像 URL を指定。Legend タブに凡例画像を一覧表示

🔍 住所検索

国土地理院 / Yahoo ジオコーダ API を使い、住所・施設名で検索+ FlyTo

🧬 ベクトル検索

全件読み込み系ベクター(GeoJSON/GeoParquet/FlatGeobuf)の属性値をレイヤー・属性・文字列で絞り込み FlyTo

📊 属性・値一覧

全ベクターレイヤー(非表示・クエリ系含む)の属性を一覧。文字列検索・列ソート・行クリック FlyTo

🎥 カメラプリセット

cam: 行で登録した位置へワンクリック FlyTo。緯度・経度・高さ・ピッチ・方位を設定

ℹ️ Info 表示

info: 行で外部 HTML を Info タブに表示。プロジェクト説明やドキュメントを埋め込み

📤 Share(位置情報共有)

カメラ位置を URL ハッシュに保存。タブバーの 🔗 ボタンで同じ視点の URL をコピーして共有

🗺️ GeoJSON 3D ドレープ制御

地面 / Terrain / 3D Tiles のどれに張り付くかをインスペクター行または設定で切替

🛡️ ベクター描画件数の上限

表示 → ドレープ で entity 描画の合計件数を制限(既定 20000・0=無制限)。超過レイヤーは表示範囲内の地物のみ描画しカメラ移動で追随

⛰️ Terrain / Shadow

地形表示と影表示の ON/OFF をワンクリックで切り替え。地形ソースは Re:Earth(楕円体高 / 標高)と国土地理院 DEM(5m+10m / 1m、TP基準)から選択可能

🧭 ナビゲーション

方位コンパス、2D / 3D 切替、Orbit / Fly モード切替、北リセット

📊 属性(Attr)表示

地物をクリックすると属性を一覧表示。重なった地物は件数付きのヘッダー一覧になり、行をクリックで個別に属性を展開

🌐 多言語対応(8言語)

UI は英語・日本語・中国語・韓国語・スペイン語・フランス語・ドイツ語・ポルトガル語の 8 言語に対応

🖨️ 印刷・帳票出力

表示中の地図にタイトル・凡例・縮尺・方位・出典を付けた帳票を生成し、ブラウザ印刷や PNG 保存が可能。QGIS 起動時は印刷レイアウトの PDF 出力も

V2: プレゼンテーション機能

KASUGAI Canvas 独自に追加した、視点を動かして周囲に共有するプレゼンテーション機能です。詳細 →

🛩️ Fly モード

GeoJSON ルート自動追従・手動操縦、速度・高さ・ピッチ調整、ルート座標の基準切替(カメラ位置/画面中心)、ルート描画

✏️ ルート描画

Orbit モードで右クリックによるルート作成。高さ編集・保存・Fly 実行まで一連

🎬 Google Earth 風 FlyTo

距離に応じた飛行時間+ズームアウトから降下する弧を描いて移動

V3: AI 連携

Gemini / OpenAI互換 / GitHub Copilot・Devin・Antigravity(ブリッジ)を使った AI チャットによる地図操作と、ブラウザ内コード実行の基盤です。詳細 →(設定手順は 【API】内蔵AI(Google 連携・AI)。通常版/アプリ版の対応表あり)

🗨️ AI チャット(Gemini / OpenAI互換 / Copilot / Devin / Antigravity)

管理(⚙)→ AI でプロバイダを選び API キーを登録し、右下のチャットパネルから自然言語で地図を操作。function calling で flyTo・レイヤー/ベースマップ切替・検索・カメラプリセットなどを実行。Copilot / Devin / Antigravity(アプリ版のみの選択肢)はブリッジ自動起動+エージェント接続の自動設定

🧪 runCode サンドボックス

AI が生成した JavaScript を opaque origin iframe + postMessage ブリッジで安全に実行し、地図を操作するブラウザ内コード実行基盤

🔌 kasugaiApi

window.kasugaiApi で viewer・カメラ・レイヤー・イベントに外部からアクセスする操作 API。プラグイン・外部エージェントの土台

V4: プラグイン(認証機構)・外部連携

拡張可能なプラグイン機構と認証方式の導入に加え、データ形式・外部サービス連携を大きく拡充しました。詳細 →

🧩 プラグイン機構・認証方式

起動前の認証プラグイン(auth-selector)と起動後の通常プラグイン(plugin-loader)を分離した拡張機構。認証方式は 0〜7 から選択

🗃️ クエリ系・大規模ベクター

duckdb: / sql: / gpkg: 行タイプで DuckDB-WASM・SQLite WASM による SQL 絞り込みレイヤー。GeoParquet・FlatGeobuf・GeoPackage を直接読み込み

🗺️ Google Maps Platform 連携

Geocoding / Places のハイブリッド検索、Street View リンク・候補ラインオーバーレイ。外部エージェント呼出しにも対応

V5: アプリ化(ローカル連携)

ローカル Rust サーバーと一体で動く「アプリ」だからこそ実現できる機能群です。静的配信やコンテナ実行では提供されず、/api/capabilities で提供可否を判定します。詳細 →

☁️ クラウドストレージ連携(rclone)

管理(⚙)→ アプリ → クラウド から rclone 経由で Box / GoogleDrive / OneDrive / Dropbox / pCloud / MEGA / WebDAV / S3 に接続。Windows ドライブ割当(既定 K:)と cloud: スキームの2形態

💾 ローカルファイル保存

ローカルサーバー版の /api/files と File System Access API により DATA/ への保存・一覧・削除が可能

📦 納品用ローカル化

接続中クラウドと HTTP(S) データを取り込んだ自己完結パッケージ <プロジェクト名>_local/ を生成。元プロジェクトは変更せず、複製 .kasc の参照は相対パスに書き換え。rclone 不要のローカル完結パッケージとして納品可能

V6: マルチエンジン

web/ をエンジン別フロントに分割し、.kasc をエンジン非依存のプロジェクト形式として各エンジンで再生する構成です。メインエンジンは CesiumJS、他エンジンは .kasc プレイヤーとしての互換実装です。詳細 →

🔀 エンジン選択と切替

?engine=cesium|maplibre|openlayers|leaflet|gsimaps|navara で起動エンジンを選択(既定 cesium)。パネルの切替リンクはプロジェクト・カメラ位置・インスペクター編集・レイヤ可視性を引き継ぐ

🗺️ 2D プレイヤー(MapLibre / OpenLayers / Leaflet)

全ベクター行・QML・duckdb/sql・属性 UI の .kasc 再生。3dtiles: は deck.gl を遅延ロードして表示・3D Tiles ドレープにも対応

🗾 GSI Maps エンジン(調整中)

vendored 地理院地図を iframe で組み込む中間エンジン。.kasc を作図リスト・外部タイルとして再生し、Globe 上へのレイヤ注入・地理院地図レイヤの .kasc 取り込みも可能。ベースマップ切替・カタログ取込・Globe 進入等の17本の AI ツールで地理院地図を制御(内部 API 依存のため AI 制御は現在調整中)

🌍 Navara エンジン(試験的)

@navaramap/three(Rust/WASM + Three.js)による写実 3D プレゼンエンジン。ベクター行・3dtiles:・ベースマップをフォトリアルシーン(大気・太陽・地形)で描画。wms:/wmts: は未対応

🧩 エンジン非依存コア(shared/)

.kasc ローダー・ベクターデコーダー・QML コンパイラ・属性ウィジェット・AI チャット・印刷を web/shared/ に集約。新エンジン追加コストを低減

🌐 CDN ホスト版(kasugai-canvas-web)

エンジン一式を GitHub Pages で stable/・unstable/ の2チャンネル配信。?kasc=<url>・?kasc=local で Canvas 未インストール環境でもブラウザ再生(アプリはホスト・データはローカル)。tools/publish_cdn.py で web/ から同期