Compass Traverse GIS Manual
QGIS プラグイン Compass Traverse GIS の基本操作と、野帳・計算・レイヤ管理の考え方をまとめた簡易マニュアルです。
A quick reference for Compass Traverse GIS — field notebook entry, traverse computation, layer management, and export.
1. 概要
このプラグインは、コンパス測量の野帳入力、接続点・閉合点管理、トラバース計算、レイヤ生成、帳票エクスポートを QGIS 上で一体的に扱うための作業画面です。
2. 基本構成
| 左パネル | データ状態、プロジェクト / 作業名 切替、ブロック名称、成果物 |
|---|---|
| 野帳 タブ | 野帳入力、測量設定、接続点・閉合点、除外区間、位置入力 |
プロジェクト タブ | プロジェクト管理、計算サマリー、言語切替 |
3. プロジェクト / 作業名 の考え方
このプラグインでは、プロジェクト が親グループ、作業名 が個別の測量データです。プロジェクト では実データの一覧表示や新規登録・削除を行い、作業名 で現在扱う実データを切り替えます。
プロジェクト | 複数の 作業名 をまとめる親グループです。左パネルの プロジェクト コンボから、実データの一覧表示や新規登録・削除を行います。 |
|---|---|
作業名 | 実際の測量データ単位です。野帳、位置情報、計算状態、プロジェクト タブの表示内容は 作業名 ごとに保存されます。 |
| 切替時の動作 | 作業名 を切り替えると、その実データに保存されている野帳・位置・計算状態・プロジェクト タブの内容が表示されます。 |
プロジェクト / 作業名 の内容は、QGIS プロジェクトと同じフォルダに作られる SQLite に保存されます。QGIS プロジェクト未保存時は保存先が確定しないため、先に QGIS プロジェクトを保存してください。
プロジェクト と 作業名 の関係
プロジェクト一覧
作業名一覧
プロジェクト では実データの一覧表示や新規登録を行い、作業名 を切り替えるとその実データに保存されている野帳・位置・プロジェクト タブの内容が表示されます。4. データ状態
左パネル上部の データ状態 には、現在の保存先とワークスペース切替機能が表示されます。
現行データ | 現在読み込まれている SQLite ファイル名です。QGIS プロジェクト未保存時は データ未作成 と表示されます。 |
|---|---|
切替 | 退避済みデータがある場合に有効になります。保存済みの別ワークスペースへ切り替えます。 |
新規作成 | 現在の SQLite をアーカイブし、新しいワークスペースを作成します。実行前に QGIS プロジェクトを保存してください。 |
5. プロジェクト タブの編集
プロジェクト管理 の表は、左列が 項目、右列が 値 です。基本的には右列の 値 側を編集しますが、完了フラグ だけは通常入力ではなく、該当セルのダブルクリックで状態を切り替えます。
| 値を入力する項目 | プロジェクト名, 作業名, 測定者, 測定日時, 年度基準日, 事業年度, 年度繰越, 事業樹別 |
|---|---|
完了フラグ | 右列セルをダブルクリックして、編集中と完了を切り替えます。 |
| 保存単位 | 現在選択中の 作業名 に対して保存されます。 |
| 注意 | 名称を変更したあとは、必要に応じて レイヤ更新 を実行して表示や出力を更新してください。 |
プロジェクト管理 のどこを編集するか
| 項目 | 値 |
|---|---|
| プロジェクト名 | 道路改良A ← ここを書き換える |
| 作業名 | 右岸測量 ← ここを書き換える |
| 測定者 | 空欄または入力済みの値 ← ここを書き換える |
| 完了フラグ | 編集中 / 完了 ← ここをダブルクリック |
項目 は見出しです。右列の 値 を編集します。完了フラグ だけはダブルクリックで切り替えます。操作手順
値の変更は次の流れで行います。
プロジェクトタブを開くプロジェクト管理テーブルの変更したい行を探す- 名称や属性を変更するときは、右列の
値セルをクリック、またはダブルクリックして編集する 完了フラグを切り替えるときは、その右列セルをダブルクリックする- 表示名を出力へ反映したい場合は
レイヤ更新を押す
6. 野帳入力
- 測量点(
測量点)と目標点(目標点)は、数値に限らず自由な文字列で入力できます。 接続点と閉合点は、ダブルクリックで測点候補から選択できます。位置列はダブルクリックで緯度経度入力モーダルを開きます。除外区間列は、出力から除外する区間を表します。右クリックメニューから開始/終了/単独を設定できます。- 空行は視認上の区切りとして使用できます。
操作手順
野帳の入力や各セルの設定は次の流れで行います。
- 野帳テーブルのセルをクリックして、
測量点、目標点、SD、INC、AZなどを直接入力する 接続点または閉合点を設定したい行は、そのセルをダブルクリックして候補一覧から選ぶ位置を設定したい行は、そのセルをダブルクリックして緯度経度入力画面を開く除外区間を設定したい行は、その行を右クリックして開始にする、終了にする、単独で除外を選ぶ- 入力や設定を変更したあと、必要に応じて
レイヤ更新を押して計算と表示へ反映する
7. 野帳インポート
測量テーブル読込 を押すと、CSV または Excel 形式の測量表を野帳へ読み込みます。
- 対応形式は
.csv,.xlsx,.xls,.xlsmです。 - CSV は
utf-8-sig,cp932,utf-8を順に試して読み込みます。 - 区切り文字は自動判定され、判定できない場合はカンマ区切りとして扱います。
自動検知される列名
読込時はヘッダ名を見て、対応列の候補を自動検知します。空白、記号、大小文字の差はある程度吸収されます。
| 野帳列 | 自動検知キーワード例 |
|---|---|
| 測量点 | 測量点, 測点, 起点, from |
| 目標点 | 目標点, 目標, 到達点, target, to |
| 接続点 | 接続点, 接続 |
| 閉合点 | 閉合点, 閉合 |
| SD | SD, 斜距離, 射距離, 実測距離 |
| INC | INC, 高低, 高低角, 鉛直角 |
| AZ | AZ, 方角, 方位角, 方位, 方向角 |
| HD | HD, 水平距離 |
| 緯度 | 緯度, lat, latitude |
| 経度 | 経度, lon, lng, longitude |
上の表は自動検知の目安です。実際の読込操作は次の流れで進みます。
測量テーブル読込ボタンを押す- ファイル選択ダイアログで CSV または Excel ファイルを選ぶ
- 列対応ダイアログで、自動検知結果を確認する
- 必要ならプルダウンを変更して対応列を指定する
- 「測量点」と「目標点」に相当する列が設定されていれば読み込む
- 読込後に内容を確認し、必要に応じて
レイヤ更新を押す
緯度・経度列を対応させた場合は、野帳の「位置」列に内部データとして保存され、セル表示は「設定済」になります。
読み込み後は野帳テーブルがその内容で置き換わります。必要に応じて レイヤ更新 を実行して計算とレイヤへ反映してください。
8. 行の表示ルール
- 赤字の行には2つの意味があります。(a)
除外区間に設定された行 — この行の距離は総延長や一部の出力集計から除外されます。(b) 自動判定で接続線候補(Branch)のままの行 — こちらは除外区間ではなく、除外区間の設定とは無関係に総延長から自動的には除外されません。 - 緑字の行は、自動判定では接続線候補だが、右クリックメニューの
Treat as Line (include)により通常ラインとして扱う設定が入っている行です。 - 測量点セルのオレンジ背景は接続不一致の警告、水色背景は不一致を承認した状態を表します。
Exclude Connecting Lines チェックを有効にしてください。個々の行を確実に除外するには、赤字だけで判断せず各行の 除外区間 設定を確認してください。9. 位置と開始座標
- 測量を計算させるために、測量の最初の測量点には
位置の設定が必須です。 位置列で強めの緑背景になっている行は必須行、薄い緑背景になっている行は各ブロックの開始行です。- 薄い緑背景の行の
位置は任意ですが、設定するとそのブロックを独自の位置で配置できます。 - 必須行の
位置が未設定のままでは、計算やレイヤ更新は停止します。 - 同一ブロック内に
位置が複数設定されている場合は、計算順で最初に見つかった有効な位置が開始座標の逆算に使われます。
10. 計算・レイヤ更新
レイヤ更新 を押すと、現在の野帳内容から計算を行い、管理レイヤを再生成します。
HD、ΔX、ΔYを更新- 点・線・面レイヤを生成
- ブロック名ごとの表示や、除外区間の表示色をプレビューへ反映
実行の目安
レイヤ更新 は、次のようなタイミングで実行します。
- 野帳を手入力したあと
接続点、閉合点、位置、除外区間を変更したあとプロジェクト管理の名称を変更し、表示や出力へ反映したいとき
11. エクスポート
エクスポートは完了フラグが未完了(編集中)の間だけ実行できます。完了にすると出力ボタンは無効化されます。- HTML 帳票、地図 PDF、関連出力をまとめて生成します。
- 出力先フォルダはエクスポートダイアログで指定します。
操作手順
出力するときは、次の流れで確認します。
プロジェクトタブで完了フラグが未完了(編集中)であることを確認する- 必要なら
レイヤ更新を押して最新状態にする - 左パネルの
エクスポートを押す - 出力設定ダイアログで出力先や用紙設定を確認する
- 出力前に赤字行と
除外区間の設定を見直す
除外区間 列の設定内容を確認してください。完了 にすると エクスポート は無効化されるため、出力し終えてから完了に切り替えてください。12. 運用メモ
- 測点名を変更した場合、参照している接続点・閉合点は自動追従します。
プロジェクトタブのサマリーや備考は、現在選択中の作業名ごとに保存・表示されます。- どうしてもレイヤを自由編集したい場合は、別レイヤへ複製して使用してください。
プラグインを隠すボタンでプラグインを非表示にし、QGISキャンバスを広く使えます。ツールバーアイコンで再表示できます。
技術仕様
このページは、Compass Traverse GIS が内部でどのように計算を行うかを、実装に基づいて整理した技術仕様です。提出時の説明根拠として使えるよう、式・処理順・補正方法を明示します。
survey_model.py、compass_traverse_gis_dockwidget.py、export_html.py の実装に基づいています。1. 入力と前提
| 対象列 | 測量点, 目標点, 接続点, 閉合点, 除外区間, SD, INC, AZ, HD, 位置 |
|---|---|
| 距離単位 | m または ft。内部計算時はメートルへ変換します。 |
| 高低角単位 | deg または pct。pct は勾配百分率として扱います。 |
| 方位角の基準 | 北を 0° とし、時計回りに増加する方位角として扱います。 |
2. 単位変換
距離と高低角は、計算前に次の規則で正規化されます。
3. 磁気偏差の扱い
野帳で入力された AZ は、プラグイン側で磁気偏差を加算した値を計算用方位角として使います。
| 設定位置 | 測量設定 の 磁気偏差 |
|---|---|
| 符号 | 実装上は + 東偏 / - 西偏 として加算します。 |
4. 水平距離の決定
各行の水平距離は、SD + INC がある場合はそれを優先し、無い場合は HD を使います。
SD と INC はペアで必要です。片方だけでは計算できません。5. 平面座標差の計算
水平距離と方位角から、各観測行の ΔX と ΔY を求めます。
| X | 東西方向(Easting) |
|---|---|
| Y | 南北方向(Northing) |
6. 開始座標の決定
開始座標は、明示入力された 開始X / 開始Y がある場合はそれを使います。無い場合は、位置 列にある最初の有効な緯度経度を基準に逆算します。
位置 が無く、開始X / 開始Y も未設定の場合は、計算と出力を停止します。7. 行順処理と測点ラベル
計算はテーブル行順で進みます。測点ラベルは識別に使いますが、並び順そのものはテーブル順が基準です。
| 基本 | 各行の 測量点 → 目標点 を順に展開します。 |
|---|---|
| 測量点欠番 | from_station が既知座標に無い場合、その時点の最後の計算座標を引き継いで続行します。 |
| 不一致検知 | 同一ブロック内で、前行の 目標点 と次行の 測量点 が一致しない場合は不一致として検出します。 |
8. 閉合差の計算
閉合点 が指定された行では、その行で計算された目標点座標と、参照先閉合点の既知座標との差を閉合差として求めます。
ここで closure_span_distance は、開始点からその閉合行までの水平距離合計です。
9. 閉合補正
閉合がある場合は、最新の閉合に対して Bowditch(コンパス則)補正を適用します。補正対象は開始点からその閉合行までです。
ΔX, ΔY をそのまま加算して続行します。10. 面積と周囲延長
閉合が成立した場合、補正後座標を使って面積と周囲延長を求めます。
| 面積 | 補正後座標列に対して shoelace formula を適用します。 |
|---|---|
| 周囲延長 | 開始点から閉合行までの水平距離合計です。 |
11. 面積計算簿の式
HTML の面積計算簿では、倍横距法による表も出力します。ここでは補正済みの ΔX / ΔY を優先して使用します。
12. 除外区間と接続線を除く
除外区間 は、主に出力集計で使用する除外指定です。各行の exclude_from_output として保持され、延長集計や HTML の備考に反映されます。
| 幾何計算 | 行そのもののトラバース計算、座標展開、閉合差計算からは除外しません。 |
|---|---|
| 延長集計 | 除外行は、延長計や一部出力の合計から除外されます。 |
接続線を除く | 出力エントリの block_kind == branch を、集計上「計算から除外」として扱います。 |