1 软件概述
本软件是面向测绘工程技术人员、院校师生与工程管理人员的 控制测量计算工具集。在单个主窗体中通过 9 个选项卡实现常用控制测量计算功能。
前方交会
已知两控制点 A、B 坐标及在该两点对 P 点的水平角 α、β,求 P 点平面坐标。
后方交会
在待求点 P 观测三个已知点 A、B、C 的水平夹角 α、β,由余切公式求解 P 点坐标。
侧方交会
在一个已知点与待求点各观测一个水平角,由正弦定理推出待求点坐标。
单三角形
已知两个三角点坐标及观测角 α、β,由正弦定理计算第三点坐标及边长。
完全三角形
在 P 点观测三已知点 A、B、C 的三方向夹角 α、β、γ,由三点加权方法求得 P 点。
导线测量
支持附合/闭合导线。输入起点坐标、起始方位角、各边水平距离与转折角,自动坐标推算。
三角高程
由水平距离、垂直角、仪器高、棱镜高,按 D×tan(α)+i−v 计算高差与高程。
水准测量
附合/闭合水准路线,后前视读数计算测段高差,按距离或测站数分配闭合差。
两点间信息
坐标增量、水平距离、方位角/反方位角、象限角、高差、中点坐标 — 一站式查询。
1.1 坐标系约定
1.2 硬件与系统要求
2 快速上手
2.1 启动与主界面
- 双击
SurveyApplication.exe启动程序,主窗体即刻显示。 - 窗体顶部为标题栏;中部为 9 个选项卡,从左到右依次为:
- 前方交会 → 后方交会 → 侧方交会 → 单三角形 → 完全三角形 → 导线 → 三角高程 → 水准测量 → 两点间信息
- 每个选项卡左侧为 输入区,右侧为 结果输出区。
2.2 通用操作流程
- 在左侧输入框中填入已知数据(坐标、角度、距离等)。
- 点击 计算 / 计算 P 点坐标 / 计算高程 / 计算两点信息 按钮。
- 右侧 RichTextBox 内将输出详细的计算过程、中间量及最终结果。
- 如需重新输入,点击 清空 / 清空结果 清除输出区。
2.3 数据输入规范
| 数据类型 | 单位 | 格式样例 | 说明 |
|---|---|---|---|
| 平面坐标 | 米 (m) | 5237.6820 | 小数位 0~4 位均可,整数自动补 4 位 |
| 高程 | 米 (m) | 128.536 | 支持负号,小数点后建议保留 3~4 位 |
| 距离 / 边长 | 米 (m) | 285.347 | 必须为正数 |
| 水平角 / 垂直角 | 度 (°) | 63.5428 或 63°32′34″ | 两种格式均可,详见第三章 |
| 测站数 | 整数 | 1、5 | 用于水准测量按测站分配闭合差 |
3 角度输入格式
所有角度输入框均支持两种格式,程序自动识别。结果输出时会同时显示 度°分′秒″ 和 十进制度 两种格式,便于核对。
3.1 格式 A — 十进制度
3.2 格式 B — 度°分′秒″
3.3 角度与方位角的区别
| 名称 | 定义 | 取值范围 | 使用场景 |
|---|---|---|---|
| 水平角 | 两方向线在水平面的夹角 | 0° ~ 180° | 交会法(观测角) |
| 转折角 | 导线两相邻边的水平角 | 0° ~ 360° | 导线测量 |
| 方位角 | 从北方向顺时针到目标方向 | 0° ~ 360° | 方位推算、两点间信息 |
| 象限角 | 从南/北方向到目标方向的锐角 | 0° ~ 90° | 传统测量、手工核对 |
| 垂直角 | 视线与水平线的夹角 | -90° ~ +90° | 三角高程测量 |
4 前方交会 (Intersection — Forward)
在两个已知控制点 A、B 上分别设置仪器,同时观测到待求点 P 的水平角 α(∠PAB)、β(∠PBA),由余切公式推求 P 点坐标。
4.1 数学模型
4.2 操作步骤
- 点击选项卡 前方交会。
- 在 "已知点 A" 组填入 X_A、Y_A (单位:米)。
- 在 "已知点 B" 组填入 X_B、Y_B。
- 在 "观测角度" 组填入:
- α = ∠PAB (在 A 点对 P 的水平角)
- β = ∠PBA (在 B 点对 P 的水平角)
- 点击 计算 P 点坐标,右侧即显示完整计算过程。
4.3 输入示例
示例数据(等边三角形场景)
4.4 输出结果说明
输出区将依次列出:
- 已知坐标、观测角的数值及单位换算
- ∠APB = 180° − α − β 内角推算
- 三边长 D_AB、D_AP、D_BP
- P 点最终坐标 (X_P, Y_P)
- 坐标反算校核(由 P 返回 A、B 的距离/方位)
5 后方交会 (Intersection — Resection)
将仪器设在待求点 P,观测到三个已知点 A、B、C 的两个水平夹角 α(∠APB)、β(∠BPC),由余切公式求出 P 点坐标。
5.1 数学模型
5.2 输入项
| 分组 | 输入项 | 格式 | 说明 |
|---|---|---|---|
| 已知点 A | X_A | 米 | 第一参考点坐标 |
| Y_A | 米 | ||
| 已知点 B | X_B | 米 | 第二参考点(通常位于 A、C 之间) |
| Y_B | 米 | ||
| 已知点 C | X_C | 米 | 第三参考点坐标 |
| Y_C | 米 | ||
| 在 P 点观测角 | α = ∠APB | 度 / DMS | A-P-B 的水平角 |
| β = ∠BPC | 度 / DMS | B-P-C 的水平角 |
5.3 操作步骤
- 点击选项卡 后方交会。
- 依次填入 A、B、C 三个已知点的坐标。
- 填入在 P 点观测的两个夹角 α(∠APB) 和 β(∠BPC)。
- 点击 计算 P 点坐标。
6 侧方交会 (Intersection — Side)
在一个已知点 A 观测水平角 α,在待求点 P 观测水平角 γ(∠APB),由正弦定理反算 P 点坐标。
6.1 数学模型
6.2 输入项
| 分组 | 输入项 | 格式 |
|---|---|---|
| 已知点 A | X_A | 米 |
| Y_A | 米 | |
| 已知点 B | X_B | 米 |
| Y_B | 米 | |
| 观测角 | α = ∠PAB | 度 / DMS |
| γ = ∠APB | 度 / DMS |
7 单三角形
单三角形由两个已知坐标点 A、B 及一个待求点 P 组成,在 A、B 两点观测水平角 α、β,由正弦定理求解 P 点及各边长。
7.1 输入项
| 分组 | 输入项 | 格式 |
|---|---|---|
| 已知点 A | X_A | 米 |
| Y_A | 米 | |
| 已知点 B | X_B | 米 |
| Y_B | 米 | |
| 观测角 | α | 度 / DMS |
| β | 度 / DMS |
7.2 输出内容
- γ = 180° − α − β (P 点处推算角)
- 三条边长 D_AB、D_AP、D_BP
- P 点坐标 (X_P, Y_P)
- 内角和闭合检查(应 = 180°)
8 完全三角形
在待求点 P 观测到三个已知点 A、B、C 的三个方向夹角 α、β、γ(应等于 360°),由三组前方交会公式分别求解后取均值,得到 P 点最或然坐标。
8.1 输入项
| 分组 | 输入项 | 格式 |
|---|---|---|
| 已知点 A | X_A | 米 |
| Y_A | 米 | |
| 已知点 B | X_B | 米 |
| Y_B | 米 | |
| 已知点 C | X_C | 米 |
| Y_C | 米 | |
| 在 P 点观测的三方向夹角 | α | 度 / DMS |
| β | 度 / DMS | |
| γ | 度 / DMS |
8.2 计算过程
- 验证 α + β + γ 是否 = 360°,若不等则显示闭合差。
- 由 (A,B,α)、(B,C,β)、(C,A,γ) 三组参数,以前方交会余切公式分别求出三组 P 点坐标 (X1,Y1)、(X2,Y2)、(X3,Y3)。
- 输出三组坐标的最大差值(点位较差),作为精度指标。
- 取三组坐标的算术平均作为 P 点最或然坐标。
9 导线测量
导线测量是平面控制测量中最基础的常规方法。本模块支持附合导线和闭合导线两种类型。
9.1 输入项
| 分组 | 输入项 | 格式 | 说明 |
|---|---|---|---|
| 起始数据 | 起点 X0 | 米 | 已知起始点纵坐标 |
| 起点 Y0 | 米 | 已知起始点横坐标 | |
| 起点方位角 α0 | 度 / DMS | 起始边方位角 | |
| 终点方位角 αN | 度 / DMS | 附合导线的终止方位角(闭合导线留空) | |
| 观测数据表 | 站点名 | 文本 | 如 B、C、D… |
| 转折角 | 度 / DMS | 左角或右角(需统一) | |
| 距离 D | 米 | 到下一测站的平距 | |
| 终点 XN / YN | 米 | 附合导线的终止已知点坐标 |
9.2 操作步骤
- 点击 添加行 添加导线测站,点击 删除行 删除选中行。
- 在表格中逐行填入测站名、转折角、距离。
- 如为 闭合导线,终点坐标留空;如为 附合导线,需填终点 XN、YN 及终点方位角。
- 点击 计算 按钮,输出区显示每站坐标、闭合差、相对精度。
9.3 计算原理
10 三角高程
三角高程测量利用水平距离和垂直角,由三角函数关系求两点间的高差,进而推算高程。本模块支持多点往返观测。
10.1 计算模型
其中 D 为水平距离,α 为垂直角(仰角为正),i 为仪器高,v 为棱镜高/觇标高。
10.2 输入项
| 输入项 | 格式 | 说明 |
|---|---|---|
| 起点高程 H0 | 米 | 已知起始点的绝对高程 |
| 表格: 目标点 | 文本 | 各观测目标的点名 |
| 表格: 水平距离 D | 米 | 测站到目标的水平距离 |
| 表格: 垂直角 α | 度 / DMS | 仰角为正,俯角为负 |
| 表格: 仪器高 i | 米 | 测站点仪器高 |
| 表格: 棱镜高 v | 米 | 目标点棱镜高 |
10.3 操作步骤
- 输入起点高程 H0。
- 点击 添加行 添加观测目标,逐行填入目标点名、水平距离、垂直角、仪器高、棱镜高。
- 如为往返观测,请分两行分别输入(先 A→B,再 B→A),程序会给出往返较差。
- 点击 计算高程,输出区显示每目标点的高差与推算高程。
11 水准测量
水准测量通过观测两点间的后视读数与前视读数之差,得出测段高差,进而推算各点高程。本模块支持附合水准路线与闭合水准路线。
11.1 输入项
| 分组 | 输入项 | 格式 | 说明 |
|---|---|---|---|
| 起点 | 起点名 | 文本 | 如 BM1 |
| 起点高程 H0 | 米 | 已知起始点高程 | |
| 终点(仅附合路线) | 终点名 | 文本 | 如 BM2 |
| 终点高程 HN | 米 | 闭合路线请留空或与起点相同 | |
| 选项 | 按测站数分配 | 复选框 | 默认按距离分配;勾选则按测站数分配 |
| 测段数据表 | 测段名 | 文本 | 如 A-B、B-C… |
| 后视读数 a | 米 | 测段起点处后视读数 | |
| 前视读数 b | 米 | 测段终点处前视读数 | |
| 距离 D | 米 | 测段距离(按距离分配使用) | |
| 测站数 | 整数 | (按测站数分配使用) |
11.2 数学模型
11.3 操作步骤
- 点击选项卡 水准测量。
- 输入起点高程(必填),终点高程可选。
- 点击 添加行 添加测段,填入每测段的后前视读数、距离(或测站数)。
- 如需按测站数分配闭合差,请勾选 按测站数分配,否则按距离分配。
- 点击 计算高程,输出区显示每测段高差、闭合差、容许闭合差、平差后的各点高程。
12 两点间信息
本模块用于查询任意两点 A、B 之间的全部基本几何量,是测量工作中最常用的反算工具。
12.1 输入项
| 分组 | 输入项 | 格式 | 说明 |
|---|---|---|---|
| A 点坐标 | X_A | 米 | 北方向坐标 |
| Y_A | 米 | 东方向坐标 | |
| Z_A | 米 | 可选,高程 | |
| B 点坐标 | X_B | 米 | 北方向坐标 |
| Y_B | 米 | 东方向坐标 | |
| Z_B | 米 | 可选,高程 |
12.2 输出内容
| 输出项 | 公式 | 说明 |
|---|---|---|
| 坐标增量 ΔX、ΔY | ΔX = XB − XA, ΔY = YB − YA | 正负号表示南北/东西方向 |
| 水平距离 D | D = √(ΔX² + ΔY²) | 单位:米 |
| 方位角 α_AB | atan2(ΔY, ΔX) | 0° ~ 360°,顺时针,从北向起算 |
| 反方位角 α_BA | α_AB ± 180° | 同一直线上相反方向 |
| 象限角 R | |atan(ΔY/ΔX)| | 0° ~ 90°,附象限标注(NE/NW/SE/SW) |
| 高差 h_AB | ZB − ZA | 仅当输入 ZA、ZB 时输出 |
| 坡度 i | h/D 或 h/D × 100% | 仅当输入高程时输出 |
| 中点 M 坐标 | XM=(XA+XB)/2, YM=(YA+YB)/2, ZM=(ZA+ZB)/2 | A、B 连线中点 |
12.3 操作步骤
- 点击选项卡 两点间信息。
- 输入 A 点 (X_A, Y_A, Z_A),Z_A 可选。
- 输入 B 点 (X_B, Y_B, Z_B),Z_B 可选。
- 点击 计算两点信息 即得上述全部输出。
示例: A(50000, 30000, 100) → B(50300, 30400, 115.5)
输出示例: ΔX=+300 m, ΔY=+400 m, D=500.000 m, α_AB=53°07′48″, 象限 NE, h=+15.5 m, 坡度 3.10%, 中点 M (50150, 30200, 107.75)。
13 常见问题 (FAQ)
Q1 · 程序启动后提示"缺少......"或闪退?
请将您的Windows系统更新到最新。
Q2 · 计算按钮点击后无反应?
若输入数据为空或含有非法字符,程序会在结果区给出 红色错误行。请确认:
- 所有坐标、距离必须为可解析的正数。
- 角度符号是否正确(度°分′秒″)。
- 无多输入或少输入必填项。
Q3 · 前方交会时 P 点位置在 A、B 的哪一侧?
本软件约定观测角为水平角的内部角,因此 P 点位于由 A→B 方向、按水平角左侧(逆时针方向)一侧的延伸线上。若观测数据相反,将得到对称解。
Q4 · 导线闭合差超限时如何处理?
程序会按规范分配闭合差并给出最终坐标,但也会在输出区末尾标注 ⚠ 超限 提示。实际作业中,超限应分析原因并重测关键测段,不得直接采用。
Q5 · 能否导出计算结果?
结果区文字可直接用 Ctrl + A 全选,Ctrl + C 复制,粘贴到 Word、Excel 或文本文件中。
Q6 · 输入大量测段时表格操作慢?
可在 Excel 中先整理数据后,选中多行复制并在表格中 Ctrl + V 粘贴;也可通过多次点击 添加行 批量添加后,逐行填入。
Q7 · 三角高程两差改正?
当前版本未内置球气差改正,长距离精密测量时请手工将 0.43·D²/R 的改正值附加到垂直角或高差中。
Q8 · 数据结果是否会自动保存?
本软件为轻量级计算工具,不自动保存输入数据。建议重要计算结束后复制结果区内容到外部文档备案。