# GNSS测量技术与工程应用 | 关联：02_坐标系统与投影.md 04_中国三大坐标系实战.md | 来源：旧第二十一篇

# 第二十一篇：GNSS测量技术与应用

> 来源：RTKLIB 开源文档 + CORS 系统技术标准 + 测绘GNSS测量规范 + 豆包GIS专家知识框架
> 最后更新：2026-05-23 | 核心要点：差分是厘米级精度的关键，坐标转换是工程应用的桥梁

---

## 21.1 GNSS 定位原理速览

### 21.1.1 四大全球导航卫星系统

| 系统 | 国家/地区 | 卫星数(设计) | 频段 | 特点 |
|------|----------|------------|------|------|
| **GPS** | 美国 | 31颗(MEO) | L1/L2/L5 | 最早、最成熟 |
| **GLONASS** | 俄罗斯 | 24颗(MEO) | G1/G2/G3 | FDMA信号体制 |
| **Galileo** | 欧盟 | 30颗(MEO) | E1/E5a/E5b/E6 | 民用精度最高 |
| **北斗(BDS)** ⭐ | 中国 | 30+颗 | B1/B2/B3 | 中国覆盖最优，支持短报文 |

> **多系统组合**：GPS+GLONASS+Galileo+BDS 可同时观测 20+ 颗卫星，大幅提升定位可靠性和精度。

### 21.1.2 定位精度等级

| 精度等级 | 典型值(平面) | 典型值(高程) | 实现方式 |
|---------|------------|------------|---------|
| **单点定位(SPP)** | 3~10m | 5~15m | 广播星历 + 伪距 |
| **精密单点定位(PPP)** | 5~20cm | 10~30cm | 精密星历 + 载波相位 + 误差模型 |
| **伪距差分(DGNSS)** | 0.5~3m | 1~5m | 基准站差分改正 |
| **RTK(实时动态)** | 1~3cm ⭐ | 2~5cm ⭐ | 载波相位差分 + 整周模糊度解算 |
| **PPK(后处理动态)** | 1~3cm | 2~5cm | 同RTK但后处理，无需实时链路 |
| **静态测量** | 2~5mm | 5~10mm | 长时间(>30min)观测+后处理 |

---

## 21.2 RTK / PPK / PPP 对比

### 21.2.1 核心原理

```
RTK 原理：
  基准站（已知坐标）
     │ 实时差分改正数（电台/4G/网络）
     ▼
  流动站（待测点）
     → 实时解算厘米级坐标

PPK 原理：
  基准站 + 流动站 同时记录原始观测数据
     → 事后用软件联合解算

PPP 原理：
  单台接收机 + 精密星历 + 精密钟差
     → 全球统一框架下的厘米级定位（无需本地基准站）
```

### 21.2.2 三方案对比

| 维度 | RTK | PPK | PPP |
|------|-----|-----|-----|
| **实时性** | ✅ 实时 | ❌ 后处理 | ❌ 后处理(近年有实时PPP) |
| **通信要求** | 需要持续数据链(电台/4G) | 无需 | 无需 |
| **基准站** | 需要（<30km） | 需要（<50km） | 不需要 ⭐ |
| **精度** | 1~3cm | 1~3cm | 5~20cm（收敛需30min+） |
| **无信号区可用** | ❌ 数据链中断=失败 | ✅ 不受影响 | ✅ 不受影响 |
| **数据存储** | 无需 | 需要记录原始数据 | 需要记录 |
| **后处理软件** | — | RTKLIB / 厂商软件 | gLAB / CSRS-PPP |
| **典型场景** | 常规测图、放样 | 山区/隧道/城区高楼遮挡 | 无基站区域/海岛/极地 |

### 21.2.3 整周模糊度（Ambiguity Resolution）

RTK/PPK 厘米级精度的核心：

```
载波相位观测方程：
    Φ = ρ + c·dt + N·λ - I + T + ε
                        ↑
                   整周模糊度 N

解算方法：
  LAMBDA 算法 → 整周模糊度搜索 → ratio检验
  ├ FIX状态：N成功固定 → 厘米级精度 ⭐
  └ FLOAT状态：N未固定 → 分米级精度
```

**RTK 初始化时间**：通常 **5~30 秒**（取决于卫星数/多路径/基线长度）。

---

## 21.3 CORS 站网

### 21.3.1 系统架构

```
┌─────────────────┐
│   GNSS 卫星     │
└────────┬────────┘
         │ 信号
    ┌────▼────┐    ┌────▼────┐    ┌────▼────┐
    │ CORS站1 │    │ CORS站2 │    │ CORS站N │   (间距 30~70km)
    └────┬────┘    └────┬────┘    └────┬────┘
         │ 专线/4G      │              │
    ┌────▼──────────────▼──────────────▼────┐
    │          数据中心/解算中心             │
    │   ├ 差分改正数生成(VRS/MAX/FKP)       │
    │   ├ NTRIP Caster 播发                  │
    │   └ 坐标框架维护                       │
    └───────────────────┬────────────────────┘
                        │ Internet/NTRIP
                   ┌────▼────┐
                   │ 流动站   │ (RTK接收机+NTRIP Client)
                   └─────────┘
```

### 21.3.2 NTRIP 协议

**NTRIP** (Networked Transport of RTCM via Internet Protocol) 是 CORS 网络传输标准：

```
NTRIP 报文流程：
  1. Client → Caster: HTTP请求(GET /mountpoint)
  2. Caster → Client: 200 OK (ICY 200 OK)
  3. Caster → Client: 持续推送 RTCM 差分改正数据流

关键参数：
  - Mountpoint（挂载点）: 如 ZJ01_RTCM32
  - 格式: RTCM 3.2 / RTCM 3.0 / CMR+
  - 播发间隔: 通常 1 秒
```

### 21.3.3 虚拟参考站（VRS）技术

CORS 网络常用的差分服务模式：

| 模式 | 原理 | 精度 | 基准站密度要求 |
|------|------|------|--------------|
| **VRS**（虚拟参考站）⭐ | 按流动站位置生成虚拟基准站数据 | 高且均匀 | 30~50km |
| **MAX**（主辅站） | 选择最近基准站为主，其余辅助 | 随距离衰减 | 密度越高越好 |
| **FKP**（区域改正参数） | 广播区域改正面参数 | 中等 | 均匀分布 |
| **单基站** | 仅一个基准站 | 随距离快速衰减 | 有效半径 < 15km |

---

## 21.4 GNSS 控制网布设

### 21.4.1 控制网等级与精度指标

| 等级 | 相邻点基线精度 | 用途 |
|------|-------------|------|
| **A级** | 3mm + 0.01ppm | 国家坐标框架维护 |
| **B级** | 5mm + 0.5ppm | 国家大地控制网 |
| **C级** | 10mm + 1ppm | 城市/工程首级控制 |
| **D级** | 20mm + 2ppm | 测图控制、像控点 |
| **E级** | 40mm + 3ppm | 图根/碎部测量 |

### 21.4.2 布网原则

```
1. 网形设计
   ├ 闭合环/附合路线（不允许支导线）
   ├ 每个点至少3条独立基线
   └ 异步环闭合差 ≤ 2√(3)·σ（σ为基线标称精度）

2. 观测要求
   ├ 静态: ≥ 45min (C级) / ≥ 30min (D级)
   ├ 卫星高度角 ≥ 15°
   ├ 有效卫星数 ≥ 5颗 (PDOP ≤ 6)
   └ 采样间隔 5~15 秒

3. 点位置选择
   ├ 避开高压线/变电站(电磁干扰)
   ├ 避开大面积水域(多路径)
   ├ 天空开阔(高度角>15°无遮挡)
   └ 地质稳定、便于长期保存
```

### 21.4.3 基线解算与网平差

```python
# RTKLIB 命令行基线解算
# rnx2rtkp - 单基线RTK/PPP后处理
# -k: 配置文件 -o: 输出POS文件
rnx2rtkp -k static.conf -o result.pos rover.obs base.obs nav.obs

# 基线解算质量指标
│ 指标            │ 合格标准        │
│ Ratio           │ ≥ 3.0 (固定解) │
│ RMS             │ < 0.015m        │
│ 同步环闭合差     │ ≤ √3·σ         │
│ 异步环闭合差     │ ≤ 2√3·σ        │
```

---

## 21.5 高程拟合

### 21.5.1 GNSS 高程 vs 水准高程

```
椭球高 H(大地高)  ← GNSS 直接测量
    ↑
  h = H - N  → N = 大地水准面差距（似大地水准面精化）
    ↓
正常高 h(水准高)  ← 工程使用

关键问题：GNSS 测得的是椭球高 H，
工程用的是正常高 h，
两者差值为高程异常 ζ（zeta）。
```

### 21.5.2 高程拟合方法

| 方法 | 原理 | 最少已知点 | 精度 | 适用地形 |
|------|------|----------|------|---------|
| **常数拟合** | 全区高程异常取均值 | 1 | 低 | 平坦小区域 |
| **平面拟合** | ζ = a₀ + a₁X + a₂Y | 3 | 中等 | 平缓起伏 |
| **二次曲面** ⭐ | ζ = a₀ + a₁X + a₂Y + a₃XY + a₄X² + a₅Y² | 6 | 较高 | 一般地形(推荐) |
| **多面函数** | 径向基函数加权 | 6+ | 高 | 复杂地形 |
| **似大地水准面模型** | 格网插值 | 0(有模型) | 最高 ⭐ | 有精化模型的区域 |

### 21.5.3 高程拟合质量检查

```
检查条件：
  ├ 已知水准点 ≥ 6 个（均匀覆盖测区）
  ├ 检核点 ≥ 2 个（不参与拟合，独立验证）
  └ 检核点残差 ≤ 2cm（1:500测图）

典型工作流：
  1. 全测区 GNSS 静态/RTK 观测 → 椭球高 H
  2. 已知水准点 → 拟合模型参数
  3. 计算全测区高程异常 ζ
  4. h = H - ζ → 正常高
  5. 检核点验证 → 超限返回步骤2调整模型
```

---

## 21.6 坐标系统转换

### 21.6.1 三套坐标系关系

```
WGS-84 (GPS)
    │  七参数转换(Bursa-Wolf)
    ▼
CGCS2000 (北斗/国家框架)
    │  四参数/格网改正
    ▼
地方独立坐标系 (工程使用)
    │  投影参数选择
    ▼
平面坐标 (X,Y) + 正常高 h
```

### 21.6.2 转换模型

| 模型 | 参数数 | 公式 | 精度 | 适用 |
|------|--------|------|------|------|
| **七参数(Bursa-Wolf)** ⭐ | 7 | ΔX,ΔY,ΔZ + Rx,Ry,Rz + K | 高 | 大区域/不同椭球 |
| **四参数(平面)** | 4 | ΔX,ΔY + α(旋转) + K(缩放) | 中 | 小区域平面 |
| **Molodensky** | 3 | ΔX,ΔY,ΔZ | 中等 | 快速近似 |
| **格网改正** | 格网点 | 逐点双线性内插 | 最高 ⭐ | 有精化格网的区域 |

### 21.6.3 七参数转换公式

```
[X₂]     [ΔX]           [ 1   Rz -Ry] [X₁]
[Y₂]  =  [ΔY]  +  (1+K)·[-Rz  1   Rx] [Y₁]
[Z₂]     [ΔZ]           [ Ry -Rx  1 ] [Z₂]

ΔX,ΔY,ΔZ: 平移参数（米）
Rx,Ry,Rz:  旋转参数（弧度）
K:         尺度因子（ppm）
```

### 21.6.4 转换参数求解

```python
# 用至少3个公共点求四参数
# 输入：源坐标(x1,y1)、目标坐标(x2,y2)
# 输出：ΔX, ΔY, α(弧度), K(ppm)

# 七参数需至少3个三维公共点
# 工具：COORD MG / GNSS后处理软件 / 自编Python
```

---

## 21.7 常用后处理软件

| 软件 | 类型 | 功能 | 许可 | 推荐场景 |
|------|------|------|------|---------|
| **RTKLIB** ⭐ | 开源 | RTK/PPP/静态/动态后处理 | BSD | **研究/自定义/低成本首选** |
| **gLAB** | 开源(ESA) | PPP/标准定位 | 免费 | PPP教育/研究 |
| **TBC(Trimble)** | 商业 | 基线解算+网平差+坐标转换 | 商业 | Trimble设备配套 |
| **LGO(Leica)** | 商业 | 同TBC | 商业 | Leica设备配套 |
| **HGO(中海达)** | 商业 | 静态/动态后处理 | 商业 | 中海达/国产设备 |
| **CGO(南方)** | 商业 | 静态/动态后处理 | 商业 | 南方/国产设备 |
| **CSRS-PPP** | 在线服务 | PPP后处理 | 免费 | 精密单点定位快速解算 |
| **AUSPOS** | 在线服务 | 静态基线解算 | 免费 | 快速静态解算 |

### RTKLIB 常用命令速查

```bash
# 静态基线解算
rnx2rtkp -k static.conf -o baseline.pos rover.obs base.obs nav.obs

# PPK动态后处理
rnx2rtkp -k kinematic.conf -o trajectory.pos rover.obs base.obs nav.obs

# PPP解算
rnx2rtkp -k ppp.conf -o ppp_result.pos rover.obs nav.obs sp3.orb clk.clk

# RINEX格式转换（厂商原始→RINEX）
convbin -r ubx rawdata.ubx -o output.obs -n output.nav

# 数据质量检查
rnx2rtkp -k quality.conf -o /dev/null rover.obs
```

> **神经连接**：坐标系转换 → 第一篇(坐标系基础) + 第五篇(中国坐标系实战)。CGCS2000框架配准 → 第十四篇 空间身份编码网格（GNSS与国家统一空间基准的对接）。控制测量精度 → 第十三篇 质量检查验收标准。

> **推荐学习资源**：
> - RTKLIB 官方文档：`rtklib.com` — 最完整的开源GNSS后处理工具
> - 中国 CORS 站网：自然资源部大地测量数据处理中心
> - CSRS-PPP 在线服务：`webapp.csrs-scrs.nrcan-rncan.gc.ca/geod/tools-outils/ppp.php`
> - AUSPOS 在线处理：`gnss.ga.gov.au/auspos`

---


<!-- wm:坤图_GIS:V1.0 -->
