計測する
ツールレール 📏 計測(ショートカット M)。種類を選んで、点群の上をクリックしていきます。
| 種類 | 操作 | 出る値 |
|---|---|---|
| 距離 | 2 点をクリック | 斜距離 / 水平距離 / 高低差 |
| 折れ線 | 点を打ち、最後の点をダブルクリックで確定 | 各区間長と累積距離 |
| 面積 | 点を打ち、最後の点をダブルクリックで確定 | 水平投影面積と周長 |
「計測クリア」で消えます。iPad でもダブルタップで確定できます。
値の意味
すべて実座標のメートルです。XY が水平、Z が鉛直(COPC の座標系そのまま)。
- 斜距離 — 2 点間の直線距離
- 水平距離 — XY 平面に投影した距離
- 高低差 — Z の差(符号つき、2 点目 − 1 点目)
- 面積 — XY 平面への水平投影面積です。斜面の実面積ではありません。 凹多角形でも正しく、頂点の周回方向に依りません
- 周長 — 斜距離の和(水平投影ではない)。面積確定後は最終点から始点までの辺も含みます
面積が水平投影で周長が斜距離、という組み合わせは意図的です。 床版や路面の数量は水平投影で扱い、縁の長さは実長で欲しい、という点検実務の慣習に合わせています。
どの基準の高さか
Z が標高(オルソメトリック高)なのか楕円体高なのかは、データ次第です。 queryCrs が EPSG コードと鉛直基準を返すので、 数値を報告書に載せる前に確認できます。oniyanma は CRS を記録するだけで再投影はしません。
クリックした点の座標
計測とは別に、点群をクリックするとその点の実座標 (m) が画面左下に出ます。 所見のピンや setCameraReal に渡す座標をここから拾えます。
コマンドから測る
measureDistance は、 2 つの実座標を渡すと距離を返します。画面の表示は変えません(読み取り専用)。
await oniyanma.execute('measureDistance', { a: [x1, y1, z1], b: [x2, y2, z2] })
// → { distance: 12.43, horizontal: 12.41, vertical: 0.72 }点群の形状を数値で問い合わせるコマンドは他にもあります。
| コマンド | 内容 |
|---|---|
queryElevation | 標高分布(min / max / mean / count / ヒストグラム) |
queryClasses | 分類のヒストグラム。編集による分類上書きも反映 |
queryBoxCount | 指定した箱の中の点数 |
queryLayers | レイヤごとの点数と範囲 |
いずれも resident 基準(表示中の LOD サンプル)です。 → リファレンス概要
差分解析(設計面との比較)
参照サーフェス(TIN)を読み込んでおくと、 点群との垂直方向の乖離(実測 − 設計)を集計・可視化できます。橋梁点検では 設計値からのズレ=変形・沈下の手がかりになる、中核の解析です。
const { clusters } = await oniyanma.execute('queryDesignDeviation', { surfaceId, thresholdM: 0.05 })
// → { clusters: [{ center: [x,y,z], dz: -0.12, count: 340 }, …] }(|dz| 降順、既定 最大20件)dz は符号付き(実測 Z − 設計 Z)で、TIN の範囲外の点は対象外です。表示は変えません(読み取り専用)。
乖離をヒートマップとして点群に直接塗るには、カラーモードを deviation にします。
await oniyanma.execute('setDeviationSurface', { surfaceId })
await oniyanma.execute('setColorMode', { mode: 'deviation' })
await oniyanma.execute('setDeviationRange', { range: 0.1 }) // |dz| がこの値(m)以上で色が飽和(既定 0.1m)白 = 乖離なし、青 = 切土側、赤 = 盛土側です。
乖離が大きい箇所をまとめて所見にするには createDesignDeviationFindings を使います。 queryDesignDeviation の clusters を使い、全箇所を先に型検証してから起票するので (1件でも型に合わなければ1件も作りません)、点検要領に合わせた型を先に定義しておく必要があります。
経年比較は対象外
ここで比較できるのは設計面とのズレだけです。過年度データとの比較(2 時期の点群同士)は まだありません——過年度データが蓄積してから 2 巡目以降の点検で効いてくる機能のため、 初回導入では優先していません。
なぜ計測だけテストが厚いのか
点検・測量では「数値が黙って間違う」のが最悪の失敗です。 描画が崩れれば人が気づきますが、12.4 m と出た値が本当は 13.1 m でも誰も気づきません。
そのため計測の数値部分は DOM と GPU から切り離した純粋関数として置き、 距離・累積距離・水平投影面積・周長を既知の答えで回帰テストに固定してあります (measure/geometry)。ブラウザを起動せずに pnpm test で検証できます。