クイックスタート
インストールなしで触るだけなら demo.oniyanma.jp を開いてください。 以下はローカルで動かす手順です。
必要なもの
起動する
git clone https://github.com/oniyanma-jp/oniyanma.git
cd oniyanma
pnpm install
pnpm dev # http://localhost:5173HTTP Range が必須
COPC はファイルの一部だけを byte-range で取得して動きます。Range に対応していないサーバでは 表示されません。 Vite の開発サーバ、vite preview、pnpm --filter @oniyanma/app serve は いずれも対応しています。ローカルの .copc.laz を画面にドラッグ&ドロップすれば、 サーバなしでも読めます。
協働と MCP 中継も一緒に立ち上げるなら:
pnpm dev:all # アプリ + コマンド中継(ws://8787) + 協働(ws://8788)データを開く
初回はデータが入っていません。次のいずれかで読み込みます。
- ドラッグ&ドロップ —
.copc.lazを画面に落とす(サーバ不要) - ツールレール「📁 データ」 — 「ファイルを開く」または URL を入力して「読込」
- URL パラメータ —
http://localhost:5173/?data=https://example.com/foo.copc.laz
手元に COPC がなければ、.las から変換します。
pdal translate input.las packages/app/public/data/site.copc.laz --writer copc3 GB / 9500 万点の .las で 3 分ほど、出力は 500 MB 程度です。 詳しくは データを読み込む。
歩いて、測る
- ツールレール 🧭 ナビ を開き、モードを フライ に切り替える
- 左ドラッグで視線、
WASDで移動、Space/Ctrlで上下、Shiftで加速 - ツールレール 📏 計測 を開き、種類を 距離 にして 2 点をクリック
読み取り値は実座標のメートルです。折れ線と面積は、最後の点をダブルクリックで確定します。 → 計測する
選んで、消す
- ▚ 選択 で矩形か投げ縄を選び、範囲をドラッグで囲む
- ✎ 編集 で「非表示」または「削除」
非表示は画面から外すだけ、削除は成果物(書き出し・集計)から外します。 どちらも .copc.laz は変更せず、⌘Z で戻せます。 → 非破壊編集
コンソールから叩く
ブラウザの開発者コンソールを開くと、window.oniyanma が使えます。
oniyanma.commands() // 使えるコマンド名の一覧
oniyanma.execute('setColorMode', { mode: 'elevation' })
await oniyanma.execute('queryElevation', { bins: 8 })
oniyanma.getState() // 現在状態のスナップショットUI のボタンとまったく同じ経路を通ります。→ window.oniyanma
AI に指示する
✦ AI を開き、設定でプロバイダ(Anthropic / OpenAI)と API キーを入れると、 自然言語で操作できます。
標高で色分けして、真上から見て
キーはその端末のブラウザ(localStorage)にだけ保存され、選んだプロバイダの API へ直接送られます。 共有端末では使わないでください。→ アプリ内 AI コンソール
検証する
pnpm test # 回帰テスト(app + server, vitest)。GPU もブラウザも不要
pnpm typecheck # 型チェックのみ