Summary
このページの要点
- ID設計がすべて:
ZoneID(区画)・PhaseID(工程)・CostCode(原価)を最初に決め、全データに持たせる。 - LandXMLは地形・線形・断面の運搬役、IFCは属性と運用のハブ。両者はIDで橋渡し。
- 土量はTIN/ボクセル/断面のどれで拾ってもOK。ひも付け表と再現ルールを保存。
- 工程はWBS×ZoneIDで自動集約、コストはCostCode×数量の定義リストで積算。
前提:発注仕様や要領の差はプロジェクトで調整。ここでは“実装の型”にフォーカスします。
連携の最小セット
ZoneID(例:EW-01-盛土区画A)PhaseID(例:P03-路体盛土)CostCode(例:C-110-運搬/C-120-処分)Method(土量手法:TIN/VOX/SEC)Assumption(C,D,単価,丸め 等の前提バンドル)
Pipeline
点群→地形→土量→工程→コストの一気通貫
① データ作成
- 点群クリーニング→地表抽出
- 基準地形(既設/計画)をLandXMLへ
- IFCに区画(Zone)と属性の器を用意
② 数量拾い
- Method=TIN/VOX/SECで土量V[m³]
- ZoneID×PhaseID単位で集計
- Assumption(密度・含水・切盛区分)を保存
③ 工程・コスト
- WBSにZoneIDを割付→出来高Sカーブ
- CostCode×数量×単価で見積
- 出来高→予算消化→差異アラート
Data Models
IFCとLandXMLの役割分担
LandXML(地形・線形・断面)
- 既設/計画の地形サーフェス、中心線、横断。
- 土量計算の“幾何の真実”を持つ。
- 属性は最小限。
ZoneID等は要フィールド化。
IFC(属性・運用のハブ)
- 区画(Zone)や工種(Task/Process)を格納。
- 数量・単価・WBS・CostCode等の管理属性を保持。
- 3Dビューで関係者合意・承認ログの母艦。
実務の橋渡しキー
両モデルのオブジェクトに共通の外部キーを持たせます:
ExternalId:ランドXMLのサーフェス/アラインメントIDZoneID:土工区画ID(工程・コストと共通)PhaseID:WBSフェーズIDCostCode:原価/見積科目コード
ビューアやDMSで検索しやすい命名規則(EW-区画-工程 等)を採用。
Quantity Takeoff
数量(土量)拾いの設計
手法と再現性
- Method=
TIN/VOX/SEC - Assumption={
密度, 含水, 外周, 丸め} - RunConfig(バージョン・閾値・担当)をログ化
区画・工程で集計
- 集計キー:
ZoneID × PhaseID × Method - V[m³]・M[t]・台数を同時算出
- IFC属性へ書込/CSV出力(後述テンプレ)
単位換算
- 湿潤密度:
ρ = ρd(1+w) - 質量:
M[t] = V[m³] × ρ - 台数:
ceil( (M/ρhaul) ÷ C )
Scheduling
工程(WBS)へのひも付け
ルール
- WBS各タスクに
PhaseIDを採番。 - 土量CSVの各行に
ZoneID/PhaseIDを付与。 - 出来高更新は
ZoneID×PhaseIDで集計。
出来高とSカーブ
- TargetQty = Σ V(区画×工程)
- ActualQty = 日次進捗の積上げ
- 差異=Actual-Planを可視化→是正行動
Cost
コスト(原価・見積)への連携
ひな形(定義リスト)
CostCode:C-110運搬/C-120処分 等- 単価:
円/台・kmor円/m³・kmor円/m³ - 計算式:土量関数(往復距離、切/盛別)
紐付け式(例)
運搬費 = 台数 × 2D × U
処分費 = V × Udisp
総コスト = 運搬 + 処分 + 付帯
出来高×原価
- 出来高% = ActualQty/TargetQty
- 予算消化 = 出来高% × 見積総額
- 差異 = 実績支出 – 予算消化
Examples
数値例:CASE-A/B(簡易)
共通前提: ρhaul=1.85 t/m³、C=6 m³/台、D=12 km、U=1,000 円/台・km、Udisp=2,000 円/m³。
- CASE-A(盛土A区画):V=5,000 m³ → M=9,250 t → Vhaul=5,000 m³(M/ρhaul=~5,000は前提整合例)→ 台数=ceil(5,000/6)=834台 → 運搬=834×24×1,000= 20,016,000円 → 処分=0(盛土) → 総= 20,016,000円
- CASE-B(残土処分B区画):V=2,400 m³ → 台数=ceil(2,400/6)=400台 → 運搬=400×24×1,000= 9,600,000円 → 処分=2,400×2,000= 4,800,000円 → 総= 14,400,000円
※C, ρ, 単価は例示。実務は計測・試験・相場で置き換え。
Exchange
データ交換マトリクス
| 出力側 | 受領側 | フォーマット | 中身 | キー |
|---|---|---|---|---|
| 測量/点群 | 設計/BIM | LAS/LAZ | 点群(地表) | ExternalId |
| 設計 | BIM/CIM | LandXML | 既設/計画サーフェス・線形 | ExternalId, ZoneID |
| BIM/CIM | 積算 | CSV | Zone別土量・台数・単価 | ZoneID, PhaseID, CostCode |
| BIM/CIM | 工程 | CSV | Zone×Phase数量 | ZoneID, PhaseID |
| 工程 | 原価 | CSV/API | 出来高% | PhaseID |
Pitfalls
落とし穴と対策
ありがち
- 区画IDと工程IDが一致しない(集計不能)
- LandXML側にZoneIDがない(後追いマッピング地獄)
- 数量の手法・前提が記録されていない(再現不可)
- コスト科目が粒度バラバラ(合算できない)
対策
- 命名規則:
EW-区画-工程の固定パターン - 属性必須:ExternalId/ZoneID/PhaseID/CostCode/Method/Assumption
- テンプレ運用:CSV列の固定とバリデーション
- 変更ログ:数量RunConfigをバージョン管理
Templates
コピペ用テンプレ(CSVレイアウト)
| 列名 | 型 | 例 | 説明 |
|---|---|---|---|
| ZoneID | string | EW-01-A | 土工区画ID |
| PhaseID | string | P03 | WBSフェーズID |
| ExternalId | string | LXML-SURF-001 | LandXML側キー |
| Method | enum | TIN | 土量手法(TIN/VOX/SEC) |
| Assumption | json | {“rho”:1.85,”C”:6,”D”:12} | 密度・容積・距離等 |
| V_m3 | number | 2400 | 土量(m³) |
| M_t | number | 4440 | 質量(t) |
| Trucks | integer | 400 | ダンプ台数 |
| CostCode | string | C-110 | 運搬などの科目 |
| Unit | string | 円/台・km | 単価の単位 |
| UnitPrice | number | 1000 | 単価 |
| Amount | number | 9600000 | 金額(計算済) |
列名は固定。IFC属性とも命名を合わせると後続が楽。
FAQ
よくある質問
Q. 先にIFC?LandXML?
A. 地形・線形はLandXMLが主、属性ハブはIFC。まずLandXMLで幾何を固め、同じIDでIFCに“器”を作るとスムーズです。
Q. 土量手法の違いはどう扱う?
A. MethodとAssumptionを必須属性に。再計算できる形で保存し、承認時はバージョンを固定します。
Q. 工程・コストソフトとどう連携?
A. CSV/APIでZoneID/PhaseID/CostCodeを共通キーに。列名テンプレを共通化すれば乗換えも容易です。
Q. 途中で区画が変わったら?
A. 旧ZoneIDは廃番にせず「非推奨(deprecated)」で残し、新ZoneIDにマッピング表を持たせて差分集計します。
監修・執筆
東海エアサービス株式会社(全省庁統一資格:役務の提供等/全国有効)。ドローン測量・点群解析・BIM/CIM・施工ICTの実装支援。
更新情報
初版:2025-10-12/最終更新:2025-10-12
