概念 → 数学基础 → ZTD 高程归算 → 单层与分层 → 广域建模与验证
1. 澄清四个概念
| 术语 | 英文 | 核心含义 | 直观理解 |
|---|---|---|---|
| 球谐(SH) | Spherical Harmonics | 定义在球面上的一组角向基函数 | 球面上的"正弦与余弦" |
| 球冠谐(SCH) | Spherical Cap Harmonics | 为有限球冠构造的区域基函数 | 专门描述某块球面区域的变化 |
| 球谐展开 | Spherical Harmonic Expansion | 将空间场表示为球谐基函数的线性组合 | 写出模型的表达式 |
| 球谐拟合 | Spherical Harmonic Fitting | 利用离散观测估计展开系数 | 根据测站数据求参数 |
球谐、球冠谐是基函数;展开是表达;拟合是求系数。 "球谐拟合函数"并非某个固定函数,而是选定坐标、基函数、截断阶次后形成的模型。用球冠谐展开并拟合参数,可称为球冠谐分析(SCHA)。经典球冠谐最初用于区域地磁场建模;将其角向基函数用于 ZTD 拟合,不代表 ZTD 本身满足拉普拉斯方程 1--3。
#mermaid-svg-nftfpjWEXGboMJVU{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-nftfpjWEXGboMJVU .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-nftfpjWEXGboMJVU .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-nftfpjWEXGboMJVU .error-icon{fill:#552222;}#mermaid-svg-nftfpjWEXGboMJVU .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-nftfpjWEXGboMJVU .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-nftfpjWEXGboMJVU .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-nftfpjWEXGboMJVU .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-nftfpjWEXGboMJVU .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-nftfpjWEXGboMJVU .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-nftfpjWEXGboMJVU .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-nftfpjWEXGboMJVU .marker{fill:#333333;stroke:#333333;}#mermaid-svg-nftfpjWEXGboMJVU .marker.cross{stroke:#333333;}#mermaid-svg-nftfpjWEXGboMJVU svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-nftfpjWEXGboMJVU p{margin:0;}#mermaid-svg-nftfpjWEXGboMJVU .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-nftfpjWEXGboMJVU .cluster-label text{fill:#333;}#mermaid-svg-nftfpjWEXGboMJVU .cluster-label span{color:#333;}#mermaid-svg-nftfpjWEXGboMJVU .cluster-label span p{background-color:transparent;}#mermaid-svg-nftfpjWEXGboMJVU .label text,#mermaid-svg-nftfpjWEXGboMJVU span{fill:#333;color:#333;}#mermaid-svg-nftfpjWEXGboMJVU .node rect,#mermaid-svg-nftfpjWEXGboMJVU .node circle,#mermaid-svg-nftfpjWEXGboMJVU .node ellipse,#mermaid-svg-nftfpjWEXGboMJVU .node polygon,#mermaid-svg-nftfpjWEXGboMJVU .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-nftfpjWEXGboMJVU .rough-node .label text,#mermaid-svg-nftfpjWEXGboMJVU .node .label text,#mermaid-svg-nftfpjWEXGboMJVU .image-shape .label,#mermaid-svg-nftfpjWEXGboMJVU .icon-shape .label{text-anchor:middle;}#mermaid-svg-nftfpjWEXGboMJVU .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-nftfpjWEXGboMJVU .rough-node .label,#mermaid-svg-nftfpjWEXGboMJVU .node .label,#mermaid-svg-nftfpjWEXGboMJVU .image-shape .label,#mermaid-svg-nftfpjWEXGboMJVU .icon-shape .label{text-align:center;}#mermaid-svg-nftfpjWEXGboMJVU .node.clickable{cursor:pointer;}#mermaid-svg-nftfpjWEXGboMJVU .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-nftfpjWEXGboMJVU .arrowheadPath{fill:#333333;}#mermaid-svg-nftfpjWEXGboMJVU .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-nftfpjWEXGboMJVU .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-nftfpjWEXGboMJVU .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-nftfpjWEXGboMJVU .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-nftfpjWEXGboMJVU .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-nftfpjWEXGboMJVU .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-nftfpjWEXGboMJVU .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-nftfpjWEXGboMJVU .cluster text{fill:#333;}#mermaid-svg-nftfpjWEXGboMJVU .cluster span{color:#333;}#mermaid-svg-nftfpjWEXGboMJVU div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-nftfpjWEXGboMJVU .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-nftfpjWEXGboMJVU rect.text{fill:none;stroke-width:0;}#mermaid-svg-nftfpjWEXGboMJVU .icon-shape,#mermaid-svg-nftfpjWEXGboMJVU .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-nftfpjWEXGboMJVU .icon-shape p,#mermaid-svg-nftfpjWEXGboMJVU .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-nftfpjWEXGboMJVU .icon-shape .label rect,#mermaid-svg-nftfpjWEXGboMJVU .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-nftfpjWEXGboMJVU .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-nftfpjWEXGboMJVU .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-nftfpjWEXGboMJVU :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 全球
有限区域
待建模空间场
建模区域
选择全球球谐 SH
比较球冠谐 SCH 与局部基线
确定基函数与截断阶次
测站观测拟合系数
任意位置重建空间场
常见应用有全球重力场和大地水准面、地磁场、全球电离层 VTEC、全球气象场 ,以及区域 ZTD/ZWD 场或气象模式误差场。球冠谐并不保证在所有区域都优于普通多项式或残差格网:效果取决于观测分布、场的复杂度、模型阶次和高程处理 2--4。
2. SH 与 SCH 的数学原理
2.1 先明确坐标
严格的球面角向函数采用地心纬度 ψ \psi ψ、经度 λ \lambda λ,或余纬 θ = π / 2 − ψ \theta=\pi/2-\psi θ=π/2−ψ。这与 BLH 中的大地纬度 B B B 并非同一概念。由地心地固坐标 ECEF ( X , Y , Z ) (X,Y,Z) (X,Y,Z) 得:
ψ = atan2 ( Z , X 2 + Y 2 ) , λ = atan2 ( Y , X ) . (1) \psi=\operatorname{atan2}\!\left(Z,\sqrt{X^2+Y^2}\right),\qquad \lambda=\operatorname{atan2}(Y,X). \tag{1} ψ=atan2(Z,X2+Y2 ),λ=atan2(Y,X).(1)
变量: X , Y , Z X,Y,Z X,Y,Z 为 ECEF 坐标(m); ψ , λ \psi,\lambda ψ,λ 分别为地心纬度和经度(rad); atan2 \operatorname{atan2} atan2 是保留象限的反正切函数。实际经验模型也可能用大地纬度建基,但必须在服务端、客户端使用同一约定,不能将其正交性质直接当作严格球面球谐的性质。
2.2 全球球谐(SH)展开
对参考高度上的球面标量场 F ( ψ , λ ) F(\psi,\lambda) F(ψ,λ),实数形式的截断展开为:
F ( ψ , λ ) ≈ ∑ n = 0 N ∑ m = 0 n P ˉ n m ( sin ψ ) C n m cos ( m λ ) + S n m sin ( m λ ) . (2) F(\psi,\lambda)\approx \sum_{n=0}^{N}\sum_{m=0}^{n} \bar P_{nm}(\sin\psi) \leftC_{nm}\\cos(m\\lambda)+S_{nm}\\sin(m\\lambda)\\right. \tag{2} F(ψ,λ)≈n=0∑Nm=0∑nPˉnm(sinψ)Cnmcos(mλ)+Snmsin(mλ).(2)
变量: F F F 为待建模量(拟合 ZTD 时单位 m); n , m n,m n,m 分别为球谐度(degree)与次(order), 0 ≤ m ≤ n 0\le m\le n 0≤m≤n; N N N 为最高截断度; P ˉ n m \bar P_{nm} Pˉnm 为按约定归一化的缔合勒让德函数(无量纲); C n m , S n m C_{nm},S_{nm} Cnm,Snm 为待估系数(单位同 F F F); ψ , λ \psi,\lambda ψ,λ 均为 rad。**注意:**归一化方式、Condon--Shortley 相位、经度正方向必须一致,否则不同实现的系数不可直接混用。
因为 sin ( 0 λ ) = 0 \sin(0\lambda)=0 sin(0λ)=0, S n 0 S_{n0} Sn0 不是独立参数。若保留完整的 0 ≤ m ≤ n ≤ N 0\le m\le n\le N 0≤m≤n≤N,系数数目为:
K S H = ( N + 1 ) 2 . (3) K_{\mathrm{SH}}=(N+1)^2. \tag{3} KSH=(N+1)2.(3)
变量: K S H K_{\mathrm{SH}} KSH 为独立实系数数量; N N N 为最高截断度。例如 N = 2 N=2 N=2 有 9 个参数, N = 3 N=3 N=3 有 16 个。这里是全球球谐的完整三角截断,不宜不加限定地推广到任意 SCH 索引集合。
2.3 球冠谐(SCH)展开
仅对中国等有限区域拟合时,全球球谐在完整球面上的正交性,在有限测站区域内一般不再成立。SCH 通过球冠中心、球冠半张角和边界条件定义区域基函数 1,2。
设球冠中心为 ( ψ 0 , λ 0 ) (\psi_0,\lambda_0) (ψ0,λ0),测点为 ( ψ , λ ) (\psi,\lambda) (ψ,λ),二者角距 ϑ \vartheta ϑ 满足:
cos ϑ = sin ψ 0 sin ψ + cos ψ 0 cos ψ cos ( λ − λ 0 ) . (4) \cos\vartheta= \sin\psi_0\sin\psi+ \cos\psi_0\cos\psi\cos(\lambda-\lambda_0). \tag{4} cosϑ=sinψ0sinψ+cosψ0cosψcos(λ−λ0).(4)
局部方位角可规定为球冠中心朝向测点、由北顺时针旋转的方向:
α = atan2 ( cos ψ sin ( λ − λ 0 ) , cos ψ 0 sin ψ − sin ψ 0 cos ψ cos ( λ − λ 0 ) ) . (5) \alpha=\operatorname{atan2}\!\left( \cos\psi\sin(\lambda-\lambda_0), \cos\psi_0\sin\psi-\sin\psi_0\cos\psi\cos(\lambda-\lambda_0) \right). \tag{5} α=atan2(cosψsin(λ−λ0),cosψ0sinψ−sinψ0cosψcos(λ−λ0)).(5)
变量: ( ψ 0 , λ 0 ) (\psi_0,\lambda_0) (ψ0,λ0) 为球冠中心地心纬度、经度(rad); ( ψ , λ ) (\psi,\lambda) (ψ,λ) 为测点地心纬度、经度(rad); ϑ \vartheta ϑ 为中心角距(rad); α \alpha α 为定义好的局部方位角(rad)。在中心点 ϑ = 0 \vartheta=0 ϑ=0 时方位角本身无定义,软件需作数值特判;对正规角向基函数,中心点的非零次项应按其极限处理。
球冠半张角为 ϑ 0 \vartheta_0 ϑ0 时,区域内满足 0 ≤ ϑ ≤ ϑ 0 0\le\vartheta\le\vartheta_0 0≤ϑ≤ϑ0。球冠中心到边界的球面弧长为 D = R ϑ 0 D=R\vartheta_0 D=Rϑ0,其中 R R R 为选定球体半径(如近似取 6371 k m 6371\ \mathrm{km} 6371 km), D D D 与 R R R 单位一致;球冠半径不是服务区东西跨度。
用于参考高度标量场拟合的一种 SCH 角向表达为:
F ( ϑ , α ) ≈ ∑ ( k , m ) ∈ I P ν k m m ( cos ϑ ) c k m cos ( m α ) + d k m sin ( m α ) . (6) F(\vartheta,\alpha)\approx \sum_{(k,m)\in\mathcal I} P_{\nu_{km}}^m(\cos\vartheta) \leftc_{km}\\cos(m\\alpha)+d_{km}\\sin(m\\alpha)\\right. \tag{6} F(ϑ,α)≈(k,m)∈I∑Pνkmm(cosϑ)ckmcos(mα)+dkmsin(mα).(6)
变量: I \mathcal I I 为保留的索引集合; m m m 为非负整数次; k k k 为根的索引; ν k m \nu_{km} νkm 为由球冠边界条件确定的特征度 (通常非整数); P ν k m m P_{\nu_{km}}^m Pνkmm 为非整数度缔合勒让德函数; c k m , d k m c_{km},d_{km} ckm,dkm 为展开系数,单位同 F F F; ϑ , α \vartheta,\alpha ϑ,α 为球冠局部坐标(rad)。 m = 0 m=0 m=0 的正弦项为零,不估计 d k 0 d_{k0} dk0。以上是表面标量场的角向形式,无需照搬地磁势模型中的径向因子。
经典 Haines 球冠谐的一组索引约定是:
{ ∂ P ν k m m ( cos ϑ ) ∂ ϑ ∣ ϑ = ϑ 0 = 0 , k − m 为偶数(Neumann) , P ν k m m ( cos ϑ 0 ) = 0 , k − m 为奇数(Dirichlet) . (7) \begin{cases} \displaystyle\left.\frac{\partial P_{\nu_{km}}^m(\cos\vartheta)}{\partial\vartheta}\right|{\vartheta=\vartheta_0}=0, &k-m\text{ 为偶数(Neumann)},\\6pt P{\nu_{km}}^m(\cos\vartheta_0)=0, &k-m\text{ 为奇数(Dirichlet)}. \end{cases} \tag{7} ⎩ ⎨ ⎧∂ϑ∂Pνkmm(cosϑ) ϑ=ϑ0=0,Pνkmm(cosϑ0)=0,k−m 为偶数(Neumann),k−m 为奇数(Dirichlet).(7)
变量: ϑ 0 \vartheta_0 ϑ0 为球冠边界半张角; ν k m \nu_{km} νkm 为相应边界条件的特征根; k − m k-m k−m 的奇偶性用于区分两类函数。Neumann 表示边界法向角导数为零;Dirichlet 表示基函数边界值为零。每一类内部可正交,两类合用并不整体正交,不可把全部系数当成彼此独立的正交投影 1,2。
若具体实现恰好使用 0 ≤ m ≤ k ≤ K max 0\le m\le k\le K_{\max} 0≤m≤k≤Kmax 的完整三角索引,并对两类根作上述交错编号,则独立实系数也可为 ( K max + 1 ) 2 (K_{\max}+1)^2 (Kmax+1)2;只取一类根、删减基函数或采用不同截断规则时,应按实际索引逐项计数。
3. GNSS ZTD:水平变化与高程变化是两件事
3.1 ZTD、ZHD、ZWD 与 PPP 观测方程
Z T D ( h ) = Z H D ( h ) + Z W D ( h ) . (8) \mathrm{ZTD}(h)=\mathrm{ZHD}(h)+\mathrm{ZWD}(h). \tag{8} ZTD(h)=ZHD(h)+ZWD(h).(8)
变量: Z T D \mathrm{ZTD} ZTD 为天顶总延迟; Z H D \mathrm{ZHD} ZHD 为天顶静力延迟; Z W D \mathrm{ZWD} ZWD 为天顶湿延迟,均为 m; h h h 为测点高程(m)。通常可根据气压较准确地计算 ZHD,而湿延迟变化快,往往需要利用 GNSS 观测估计 6。
实际 GNSS 观测发生在倾斜方向,其大气延迟可近似写为:
T s l a n t = m h ( e ) Z H D + m w ( e ) Z W D + T g r a d . (9) T_{\mathrm{slant}}=m_h(e)\,\mathrm{ZHD}+m_w(e)\,\mathrm{ZWD}+T_{\mathrm{grad}}. \tag{9} Tslant=mh(e)ZHD+mw(e)ZWD+Tgrad.(9)
变量: T s l a n t T_{\mathrm{slant}} Tslant 为斜路径大气延迟(m); e e e 为卫星高度角; m h , m w m_h,m_w mh,mw 分别为静力和湿延迟映射函数(无量纲); T g r a d T_{\mathrm{grad}} Tgrad 为水平梯度等非对称效应(m)。广域 ZTD 模型提供的是天顶先验,不是直接等于每颗卫星的斜路径改正。 精密 PPP/PPP-AR 通常仍要考虑残余 ZWD 的估计、先验约束和梯度模型。
3.2 为什么要进行高程归算?
从物理上看,某高度处的 ZTD 是该高度以上大气柱的累计延迟。以简化的竖直大气柱为例:
T ( h ) ≡ Z T D ( h ) ≈ 10 − 6 ∫ h h t o p N ( z ) d z . (10) T(h)\equiv\mathrm{ZTD}(h)\approx10^{-6} \int_{h}^{h_{\mathrm{top}}}\mathcal N(z)\,\mathrm dz. \tag{10} T(h)≡ZTD(h)≈10−6∫hhtopN(z)dz.(10)
变量: T ( h ) T(h) T(h) 为高度 h h h 的累计 ZTD(m); z z z 为垂向积分坐标(m); h t o p h_{\mathrm{top}} htop 为足够高的积分上界(m); N ( z ) = 10 6 ( n a i r − 1 ) \mathcal N(z)=10^6(n_{\mathrm{air}}-1) N(z)=106(nair−1) 为中性大气折射度(无量纲); n a i r n_{\mathrm{air}} nair 为折射率。此式忽略射线弯曲等高精度效应,用于理解垂向规律。
测站海拔由 100 m 增至 2000 m 时,即使经纬度接近,ZTD 也会有明显差别。若直接用只含 ( ψ , λ ) (\psi,\lambda) (ψ,λ) 的基函数拟合未归算的原始 ZTD,就可能把高差造成的垂向变化 误认为水平变化。SH/SCH 只描述角向变化,不会自动解决高度问题。
实际还要区分 GNSS 椭球高、正高和气象模式的位势高度。近似关系 H ≈ h − N g H\approx h-N_g H≈h−Ng 中, H H H 为正高(m), h h h 为椭球高(m), N g N_g Ng 为大地水准面起伏(m),勿与折射度 N \mathcal N N 混淆;位势高度按气象数据规范转换。
4. 单层 ZTD 模型:一张水平场 + 一套垂向关系
这里的单层 是工程定义:在统一参考高程 h 0 h_0 h0 拟合一张 ZTD 水平场,再用一套垂向递减关系恢复用户高度。不是说大气物理上只有一层,也不是电离层单层薄壳模型。
4.1 逆尺度高度
令 T ( h ) > 0 T(h)>0 T(h)>0,定义 ZTD 的逆尺度高度(inverse scale height):
β ( h ) = − ∂ ln T ( h ) ∂ h ≈ 10 − 6 N ( h ) T ( h ) . (11) \beta(h)=-\frac{\partial\ln T(h)}{\partial h} \approx\frac{10^{-6}\mathcal N(h)}{T(h)}. \tag{11} β(h)=−∂h∂lnT(h)≈T(h)10−6N(h).(11)
变量: β \beta β 为 ZTD 相对高程递减率( m − 1 \mathrm{m}^{-1} m−1); T ( h ) T(h) T(h) 为高度 h h h 的累计 ZTD(m); N ( h ) \mathcal N(h) N(h) 为该处折射度; h h h 为同一垂向坐标系中的高度(m)。右侧近似源于式(10)。β \beta β 是相对递减率,而非以 m/m 表示的固定绝对斜率。
4.2 单层指数归算与球谐拟合
在研究的高程范围内取常数 β \beta β,则:
T ( p , h , t ) = T 0 ( p , t ) exp − β ( h − h 0 ) . (12) T(\mathbf p,h,t)=T_0(\mathbf p,t)\exp-\\beta(h-h_0). \tag{12} T(p,h,t)=T0(p,t)exp−β(h−h0).(12)
测站 i i i 的 ZTD 归算至参考高程:
T i ( 0 ) = T i exp β i ( h i − h 0 ) . (13) T_i^{(0)}=T_i\exp\\beta_i(h_i-h_0). \tag{13} Ti(0)=Tiexpβi(hi−h0).(13)
再拟合水平场:
T 0 ( p , t ) = ∑ j = 1 K a j ( t ) Y j ( p ) . (14) T_0(\mathbf p,t)=\sum_{j=1}^{K}a_j(t)Y_j(\mathbf p). \tag{14} T0(p,t)=j=1∑Kaj(t)Yj(p).(14)
变量(式 12--14): p \mathbf p p 为水平球面坐标或球冠坐标; h , h i , h 0 h,h_i,h_0 h,hi,h0 分别为用户、测站及参考高程(m,采用同一高程基准); t t t 为历元; T i T_i Ti 为第 i i i 站实测 ZTD(m); T i ( 0 ) T_i^{(0)} Ti(0) 为归算后的等效 ZTD(m); T 0 T_0 T0 为参考高程的水平 ZTD 场(m); β , β i \beta,\beta_i β,βi 为递减率( m − 1 \mathrm{m}^{-1} m−1); Y j Y_j Yj 为第 j j j 个无量纲 SH/SCH 基函数; a j a_j aj 为待估系数(m); K K K 为基函数数目。
**算例:**若 h 0 = 100 m h_0=100\ \mathrm m h0=100 m、 T 0 = 2.40 m T_0=2.40\ \mathrm m T0=2.40 m、 β = 1.3 × 10 − 4 m − 1 \beta=1.3\times10^{-4}\ \mathrm{m}^{-1} β=1.3×10−4 m−1,则 h = 1200 m h=1200\ \mathrm m h=1200 m 处:
T ( 1200 ) = 2.40 exp − 1.3 × 10 − 4 ( 1200 − 100 ) ≈ 2.08 m . (15) T(1200)=2.40\exp-1.3\\times10\^{-4}(1200-100)\approx2.08\ \mathrm m. \tag{15} T(1200)=2.40exp−1.3×10−4(1200−100)≈2.08 m.(15)
上述 β \beta β 仅用于演示,不能作为中国各区域通用的高程递减率。若 β \beta β 随时空变化,可由气象垂直剖面、经验格网或预报产品提供,不应仅凭不同位置的地面 GNSS ZTD 就认为能够唯一分离水平结构与垂向结构。
5. 分层 ZTD 模型:让不同高度段具有不同递减规律
5.1 方案 A:一张水平场 + 多段逆尺度高度
该方案仍只拟合一张参考高度 ZTD 场 ,但从参考高度 h 0 h_0 h0 到目标高度 h h h 的过程中,不同高度段采用不同 β ℓ \beta_\ell βℓ:
T ( p , h , t ) = T 0 ( p , t ) exp − ∫ h 0 h β ( z , p , t ) d z . (16) T(\mathbf p,h,t)=T_0(\mathbf p,t) \exp\!\left-\\int_{h_0}\^{h}\\beta(z,\\mathbf p,t)\\,\\mathrm dz\\right. \tag{16} T(p,h,t)=T0(p,t)exp−∫h0hβ(z,p,t)dz.(16)
当 h ≥ h 0 h\ge h_0 h≥h0,且各层 β ℓ \beta_\ell βℓ 为分段常数:
T ( h ) = T 0 exp − ∑ ℓ = 1 L β ℓ Δ h ℓ , ∑ ℓ = 1 L Δ h ℓ = h − h 0 . (17) T(h)=T_0\exp\!\left-\\sum_{\\ell=1}\^{L}\\beta_\\ell\\Delta h_\\ell\\right, \qquad\sum_{\ell=1}^{L}\Delta h_\ell=h-h_0. \tag{17} T(h)=T0exp−ℓ=1∑LβℓΔhℓ,ℓ=1∑LΔhℓ=h−h0.(17)
变量: L L L 为垂向分层数; z z z 为高度积分变量(m); β ℓ \beta_\ell βℓ 为第 ℓ \ell ℓ 层逆尺度高度( m − 1 \mathrm{m}^{-1} m−1); Δ h ℓ \Delta h_\ell Δhℓ 为 h 0 , h h_0,h h0,h 与该层高程区间的交叠长度(m); T 0 , T ( h ) T_0,T(h) T0,T(h) 为参考高程和目标高程的累计 ZTD(m); p , t \mathbf p,t p,t 为水平位置和历元。若 h < h 0 h<h_0 h<h0,直接使用式(16)的带符号积分,不能把式(17)中定义的非负交叠长度照搬。
对已知大气剖面的两层界 z ℓ − 1 , z ℓ z_{\ell-1},z_\ell zℓ−1,zℓ,平均递减率可由累计 ZTD 求得:
β ℓ ≈ ln T ( z ℓ − 1 ) − ln T ( z ℓ ) z ℓ − z ℓ − 1 . (18) \beta_\ell\approx \frac{\ln T(z_{\ell-1})-\ln T(z_\ell)}{z_\ell-z_{\ell-1}}. \tag{18} βℓ≈zℓ−zℓ−1lnT(zℓ−1)−lnT(zℓ).(18)
变量: z ℓ − 1 , z ℓ z_{\ell-1},z_\ell zℓ−1,zℓ 为第 ℓ \ell ℓ 层的上下边界高度(m); T ( z ℓ − 1 ) , T ( z ℓ ) > 0 T(z_{\ell-1}),T(z_\ell)>0 T(zℓ−1),T(zℓ)>0 为分别从两个边界向上积分 得到的累计 ZTD(m); β ℓ \beta_\ell βℓ 为该高度段平均逆尺度高度( m − 1 \mathrm{m}^{-1} m−1)。两层界累计 ZTD 的差值才是其间空气柱的延迟,不能把不同高度的累计 ZTD 相加。
Zhang 等(2020)研究中国区域的一个四层案例 4:
| 层 | 高程区间 |
|---|---|
| 1 | 0--0.8 km |
| 2 | 0.8--2.0 km |
| 3 | 2.0--3.5 km |
| 4 | 3.5--6.0 km |
这些边界是特定研究采用的分层配置 ,并非通用 GNSS 标准。该论文研究的是高程归算的四层逆尺度高度格网,不能误解为"四个高度面分别做 SCH 拟合"。其验证效果也不能直接当作新工程的预期精度。
5.2 方案 B:多个参考高度面分别拟合水平场
若已有气象模式多高度累计 ZTD,可在 L L L 个高度面分别拟合:
T ℓ ( p , t ) = ∑ j = 1 K ℓ a ℓ j ( t ) Y ℓ j ( p ) , ℓ = 1 , ... , L . (19) T_\ell(\mathbf p,t)=\sum_{j=1}^{K_\ell}a_{\ell j}(t)Y_{\ell j}(\mathbf p), \qquad\ell=1,\ldots,L. \tag{19} Tℓ(p,t)=j=1∑Kℓaℓj(t)Yℓj(p),ℓ=1,...,L.(19)
位于相邻高度面 h ℓ < h < h ℓ + 1 h_\ell<h<h_{\ell+1} hℓ<h<hℓ+1 之间的用户,可采用对数插值:
ln T ( h ) = ( 1 − w ) ln T ℓ + w ln T ℓ + 1 , w = h − h ℓ h ℓ + 1 − h ℓ . (20) \ln T(h)=(1-w)\ln T_\ell+w\ln T_{\ell+1}, \qquad w=\frac{h-h_\ell}{h_{\ell+1}-h_\ell}. \tag{20} lnT(h)=(1−w)lnTℓ+wlnTℓ+1,w=hℓ+1−hℓh−hℓ.(20)
变量: T ℓ T_\ell Tℓ 为参考高度 h ℓ h_\ell hℓ 上从该高度向上积分 的累计 ZTD(m); L L L 为参考高度面数量; K ℓ K_\ell Kℓ 为该高度面的基函数数目; Y ℓ j Y_{\ell j} Yℓj 为该面的无量纲基函数; a ℓ j a_{\ell j} aℓj 为其拟合系数(m); h ℓ , h ℓ + 1 , h h_\ell,h_{\ell+1},h hℓ,hℓ+1,h 为两相邻参考高程及用户高程(m); w w w 为无量纲插值权重。要求 T ℓ , T ℓ + 1 > 0 T_\ell,T_{\ell+1}>0 Tℓ,Tℓ+1>0,且应控制因各面独立拟合导致的不合理层间增大或不连续。地表 GNSS ZTD 本身不足以给出所有高度面的独立观测真值,需气象剖面等外部信息。
5.3 单层与两种分层方案对比
| 比较项 | 单层 | 分层 A:多段递减率 | 分层 B:多高度水平场 |
|---|---|---|---|
| 水平模型 | 一张 SH/SCH 场 | 一张 SH/SCH 场 | 各参考高度面分别拟合 |
| 垂向描述 | 一段指数关系 | 分段指数关系 | 多高度面插值或其他物理约束 |
| 所需辅助资料 | 单段递减率 | 分层递减率 | 多高度累计 ZTD |
| 主要优势 | 简单,易播发 | 更适应明显高差 | 三维表达更灵活 |
| 主要风险 | 垂向模型偏差 | 分层参数、层界误差 | 参数量大,层间一致性差 |
选择原则:优先建立单层基线;复杂地形且有可信气象剖面时评估分层 A;只有确有多高度资料和三维需求时才考虑分层 B。单层与分层是垂向参数化的区分 ,SH 与 SCH 是水平方向基函数的选择,两者可以自由组合,不应混为同一维度的分类。
#mermaid-svg-QFCHsDDXWj0FwJnU{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-QFCHsDDXWj0FwJnU .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-QFCHsDDXWj0FwJnU .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-QFCHsDDXWj0FwJnU .error-icon{fill:#552222;}#mermaid-svg-QFCHsDDXWj0FwJnU .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-QFCHsDDXWj0FwJnU .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-QFCHsDDXWj0FwJnU .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-QFCHsDDXWj0FwJnU .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-QFCHsDDXWj0FwJnU .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-QFCHsDDXWj0FwJnU .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-QFCHsDDXWj0FwJnU .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-QFCHsDDXWj0FwJnU .marker{fill:#333333;stroke:#333333;}#mermaid-svg-QFCHsDDXWj0FwJnU .marker.cross{stroke:#333333;}#mermaid-svg-QFCHsDDXWj0FwJnU svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-QFCHsDDXWj0FwJnU p{margin:0;}#mermaid-svg-QFCHsDDXWj0FwJnU .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-QFCHsDDXWj0FwJnU .cluster-label text{fill:#333;}#mermaid-svg-QFCHsDDXWj0FwJnU .cluster-label span{color:#333;}#mermaid-svg-QFCHsDDXWj0FwJnU .cluster-label span p{background-color:transparent;}#mermaid-svg-QFCHsDDXWj0FwJnU .label text,#mermaid-svg-QFCHsDDXWj0FwJnU span{fill:#333;color:#333;}#mermaid-svg-QFCHsDDXWj0FwJnU .node rect,#mermaid-svg-QFCHsDDXWj0FwJnU .node circle,#mermaid-svg-QFCHsDDXWj0FwJnU .node ellipse,#mermaid-svg-QFCHsDDXWj0FwJnU .node polygon,#mermaid-svg-QFCHsDDXWj0FwJnU .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-QFCHsDDXWj0FwJnU .rough-node .label text,#mermaid-svg-QFCHsDDXWj0FwJnU .node .label text,#mermaid-svg-QFCHsDDXWj0FwJnU .image-shape .label,#mermaid-svg-QFCHsDDXWj0FwJnU .icon-shape .label{text-anchor:middle;}#mermaid-svg-QFCHsDDXWj0FwJnU .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-QFCHsDDXWj0FwJnU .rough-node .label,#mermaid-svg-QFCHsDDXWj0FwJnU .node .label,#mermaid-svg-QFCHsDDXWj0FwJnU .image-shape .label,#mermaid-svg-QFCHsDDXWj0FwJnU .icon-shape .label{text-align:center;}#mermaid-svg-QFCHsDDXWj0FwJnU .node.clickable{cursor:pointer;}#mermaid-svg-QFCHsDDXWj0FwJnU .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-QFCHsDDXWj0FwJnU .arrowheadPath{fill:#333333;}#mermaid-svg-QFCHsDDXWj0FwJnU .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-QFCHsDDXWj0FwJnU .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-QFCHsDDXWj0FwJnU .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-QFCHsDDXWj0FwJnU .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-QFCHsDDXWj0FwJnU .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-QFCHsDDXWj0FwJnU .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-QFCHsDDXWj0FwJnU .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-QFCHsDDXWj0FwJnU .cluster text{fill:#333;}#mermaid-svg-QFCHsDDXWj0FwJnU .cluster span{color:#333;}#mermaid-svg-QFCHsDDXWj0FwJnU div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-QFCHsDDXWj0FwJnU .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-QFCHsDDXWj0FwJnU rect.text{fill:none;stroke-width:0;}#mermaid-svg-QFCHsDDXWj0FwJnU .icon-shape,#mermaid-svg-QFCHsDDXWj0FwJnU .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-QFCHsDDXWj0FwJnU .icon-shape p,#mermaid-svg-QFCHsDDXWj0FwJnU .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-QFCHsDDXWj0FwJnU .icon-shape .label rect,#mermaid-svg-QFCHsDDXWj0FwJnU .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-QFCHsDDXWj0FwJnU .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-QFCHsDDXWj0FwJnU .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-QFCHsDDXWj0FwJnU :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 测站 ZTD 与位置高度
垂向建模方式
气象剖面或垂向经验参数
单层高程归算
分层 A: 分段高程归算
分层 B: 多高度累计 ZTD
在参考高度拟合一张 SH/SCH 场
各高度面分别拟合场
恢复用户高度的 ZTD
高度插值获得用户 ZTD
6. 参数怎么拟合?如何避免病态和过拟合?
在一个历元,将 M M M 个测站的高程归算结果组成 y \mathbf y y,选取 K K K 个基函数:
y 1 ⋮ y M ⏟ y = Y 1 ( p 1 ) ⋯ Y K ( p 1 ) ⋮ ⋱ ⋮ Y 1 ( p M ) ⋯ Y K ( p M ) ⏟ A a 1 ⋮ a K ⏟ x + ε . (21) \underbrace{\begin{bmatrix}y_1\\\vdots\\y_M\end{bmatrix}}{\mathbf y} = \underbrace{\begin{bmatrix} Y_1(\mathbf p_1)&\cdots&Y_K(\mathbf p_1)\\ \vdots&\ddots&\vdots\\ Y_1(\mathbf p_M)&\cdots&Y_K(\mathbf p_M) \end{bmatrix}}{\mathbf A} \underbrace{\begin{bmatrix}a_1\\\vdots\\a_K\end{bmatrix}}_{\mathbf x} +\boldsymbol\varepsilon. \tag{21} y y1⋮yM =A Y1(p1)⋮Y1(pM)⋯⋱⋯YK(p1)⋮YK(pM) x a1⋮aK +ε.(21)
用加权、必要时带正则化的最小二乘估计:
x ^ = arg min x ∥ W 1 / 2 ( A x − y ) ∥ 2 2 + μ ∥ L x ∥ 2 2 . (22) \widehat{\mathbf x}= \underset{\mathbf x}{\arg\min}\left \\bigl\\\|\\mathbf W\^{1/2}(\\mathbf A\\mathbf x-\\mathbf y)\\bigr\\\|_2\^2 +\\mu\\bigl\\\|\\mathbf L\\mathbf x\\bigr\\\|_2\^2\\right. \tag{22} x =xargmin W1/2(Ax−y) 22+μ Lx 22.(22)
变量: M M M 为建模测站数; K K K 为系数数目; y i y_i yi 为第 i i i 站在同一参考高程的 ZTD 或选定残差(m); p i \mathbf p_i pi 为其水平坐标; A \mathbf A A 为 M × K M\times K M×K 设计矩阵; x = ( a 1 , ... , a K ) T \mathbf x=(a_1,\ldots,a_K)^\mathsf T x=(a1,...,aK)T 为待估系数(m); ε \boldsymbol\varepsilon ε 为误差(m); x ^ \widehat{\mathbf x} x 为估计值; W \mathbf W W 为权矩阵; W 1 / 2 \mathbf W^{1/2} W1/2 为满足 ( W 1 / 2 ) T W 1 / 2 = W (\mathbf W^{1/2})^\mathsf T\mathbf W^{1/2}=\mathbf W (W1/2)TW1/2=W 的矩阵因子; μ ≥ 0 \mu\ge0 μ≥0 为正则化强度; L \mathbf L L 为约束矩阵; ∥ ⋅ ∥ 2 \|\cdot\|_2 ∥⋅∥2 为欧氏范数。
工程上重点检查:
- 测站足够不等于可解。 M ≥ K M\ge K M≥K 只是必要的数量条件之一,仍需检查矩阵秩、条件数、站网分布和边缘振荡。
- 优先 QR/SVD。 不显式求 (\\mathbf A\^\\mathsf T\\mathbf W\\mathbf A)\^{-1};高阶模型可用交叉验证选择截断阶次与正则化。
- 权阵要考虑归算误差。 高程归算的系统误差会传入 y \mathbf y y,不能只使用测站原始 ZTD 的随机精度。
- SCH 不能直接照搬 SH 的正交求系数。 混合两类球冠边界基函数后须实际建矩阵并求解 2。
6.1 气象背景 + 球谐残差:广域业务的实用选择
也可不直接拟合全部 ZTD,而先由气象模式提供背景,再拟合差值:
T p r e d ( p , h , t ) = T b g ( p , h , t ) + Δ T m o d e l ( p , h , t ) . (23) T^{\mathrm{pred}}(\mathbf p,h,t)=T^{\mathrm{bg}}(\mathbf p,h,t) +\Delta T^{\mathrm{model}}(\mathbf p,h,t). \tag{23} Tpred(p,h,t)=Tbg(p,h,t)+ΔTmodel(p,h,t).(23)
变量: T p r e d T^{\mathrm{pred}} Tpred 为用户最终预测 ZTD(m); T b g T^{\mathrm{bg}} Tbg 为相同位置、高程、历元的背景 ZTD(m); Δ T m o d e l \Delta T^{\mathrm{model}} ΔTmodel 为利用测站"观测减背景"拟合的残差(m); p , h , t \mathbf p,h,t p,h,t 分别表示位置、高程和历元。
关键限制:残差可以是负数,不能把式(11)的 ln T \ln T lnT 或单层指数规律无条件直接用于残差 。若残差只拟合参考高度面,则须单独指定残差如何随高度传播(例如经验缩放或分层拟合),并进行外符合验证。Cao 等(2021)使用 SCH 主要描述气象预报的系统偏差参数场,不是简单以 SCH 代替全部原始 ZTD 5。
对于可靠的测站气压,可先计算 ZHD,再拟合 ZWD 或其残差。ZHD 与 ZWD 的垂直衰减规律并不相同,不能无依据地共享同一个递减率。VMF3/GPT3 可提供气象及映射函数先验,但映射函数模型不等于 ZTD 水平拟合模型 6。
7. "广域"具体有多大?
没有统一的"超过多少公里才算广域"的行业硬阈值。 实际含义是:区域跨度较大、存在明显气象及地形差异,单个城市级低阶局部模型难以充分表达。下面为便于选型的工程经验分级,不是标准定义。
| 大致最大水平跨度 | 常见场景 | 建模建议 |
|---|---|---|
| 数十至约 100 km | 城市 CORS | 优先多项式、残差格网;SCH 通常非首选 |
| 约 100--500 km | 地市群、省域的一部分 | 比较多项式、格网与低阶 SCH |
| 约 500--2000 km | 大省域、跨省 | 重点检查 SCH、分区与高程归算 |
| 约 2000--5000 km | 全国、大陆区域 | 结合 SCH/SH、气象背景与分层模型 |
| 全球 | 全球统一模型 | 全球 SH、全球格网或 NWP |
**不要混淆:**服务区最大跨度、球冠弧长半径、服务面积、测站平均间距、模型空间分辨率,这五者不是一回事。区域扩大也不等于模型能表达所有小尺度水汽变化。
对 GNSS ZTD 实际工程,可先按如下顺序评估:城市/济南周边已有十系数多项式与 a 0 + a_0+ a0+残差格网可作为基线;山东省域可加入低阶 SCH 对照;中国尺度更需要处理高海拔与平原的高差,并结合气象背景、分区或球冠谐 3--5。研究使用过全国球冠谐,不意味着其效果可直接移植为某项目的精度指标。
8. 实时广域对流层建模:服务端到 PPP 用户端
#mermaid-svg-BkrJNTEIs8369rz5{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-BkrJNTEIs8369rz5 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-BkrJNTEIs8369rz5 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-BkrJNTEIs8369rz5 .error-icon{fill:#552222;}#mermaid-svg-BkrJNTEIs8369rz5 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-BkrJNTEIs8369rz5 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-BkrJNTEIs8369rz5 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-BkrJNTEIs8369rz5 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-BkrJNTEIs8369rz5 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-BkrJNTEIs8369rz5 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-BkrJNTEIs8369rz5 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-BkrJNTEIs8369rz5 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-BkrJNTEIs8369rz5 .marker.cross{stroke:#333333;}#mermaid-svg-BkrJNTEIs8369rz5 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-BkrJNTEIs8369rz5 p{margin:0;}#mermaid-svg-BkrJNTEIs8369rz5 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-BkrJNTEIs8369rz5 .cluster-label text{fill:#333;}#mermaid-svg-BkrJNTEIs8369rz5 .cluster-label span{color:#333;}#mermaid-svg-BkrJNTEIs8369rz5 .cluster-label span p{background-color:transparent;}#mermaid-svg-BkrJNTEIs8369rz5 .label text,#mermaid-svg-BkrJNTEIs8369rz5 span{fill:#333;color:#333;}#mermaid-svg-BkrJNTEIs8369rz5 .node rect,#mermaid-svg-BkrJNTEIs8369rz5 .node circle,#mermaid-svg-BkrJNTEIs8369rz5 .node ellipse,#mermaid-svg-BkrJNTEIs8369rz5 .node polygon,#mermaid-svg-BkrJNTEIs8369rz5 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-BkrJNTEIs8369rz5 .rough-node .label text,#mermaid-svg-BkrJNTEIs8369rz5 .node .label text,#mermaid-svg-BkrJNTEIs8369rz5 .image-shape .label,#mermaid-svg-BkrJNTEIs8369rz5 .icon-shape .label{text-anchor:middle;}#mermaid-svg-BkrJNTEIs8369rz5 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-BkrJNTEIs8369rz5 .rough-node .label,#mermaid-svg-BkrJNTEIs8369rz5 .node .label,#mermaid-svg-BkrJNTEIs8369rz5 .image-shape .label,#mermaid-svg-BkrJNTEIs8369rz5 .icon-shape .label{text-align:center;}#mermaid-svg-BkrJNTEIs8369rz5 .node.clickable{cursor:pointer;}#mermaid-svg-BkrJNTEIs8369rz5 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-BkrJNTEIs8369rz5 .arrowheadPath{fill:#333333;}#mermaid-svg-BkrJNTEIs8369rz5 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-BkrJNTEIs8369rz5 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-BkrJNTEIs8369rz5 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-BkrJNTEIs8369rz5 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-BkrJNTEIs8369rz5 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-BkrJNTEIs8369rz5 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-BkrJNTEIs8369rz5 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-BkrJNTEIs8369rz5 .cluster text{fill:#333;}#mermaid-svg-BkrJNTEIs8369rz5 .cluster span{color:#333;}#mermaid-svg-BkrJNTEIs8369rz5 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-BkrJNTEIs8369rz5 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-BkrJNTEIs8369rz5 rect.text{fill:none;stroke-width:0;}#mermaid-svg-BkrJNTEIs8369rz5 .icon-shape,#mermaid-svg-BkrJNTEIs8369rz5 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-BkrJNTEIs8369rz5 .icon-shape p,#mermaid-svg-BkrJNTEIs8369rz5 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-BkrJNTEIs8369rz5 .icon-shape .label rect,#mermaid-svg-BkrJNTEIs8369rz5 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-BkrJNTEIs8369rz5 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-BkrJNTEIs8369rz5 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-BkrJNTEIs8369rz5 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 可用
不可用
GNSS 基准站估计 ZTD/ZWD
历元对齐与异常值质控
实时 NWP 或可信经验气象先验
背景 ZTD 与垂向递减参数
坐标和高程基准统一
高程归算或背景残差
选择 SH/SCH/格网基线并构造矩阵
加权拟合 交叉验证与质量门限
模型可用?
播发系数与全部模型元数据
降低阶次或回退基线模型
用户计算位置与高程处 ZTD 先验
PPP/PPP-AR 映射函数及剩余参数估计
服务端输入: 测站 ZTD 应与同一 GNSS 时间历元对齐;对流层状态应排查收敛、周跳、多路径、轨道钟差误差及不良模糊度解。测站"固定坐标 + PPP-AR"不保证其输出 ZTD 就是真值。
气象数据: ERA5/ERA5T 主要适合历史研究与建立统计先验;ERA5T 约滞后实时 5 天,不能直接当成当前 30 s 历元的实时气象数据。在线运行应采用可及时获得的预报产品或其他在线气象先验,并记录预报起报时刻和有效时次 8,9。
播发元数据: 必须明确定义历元和有效期、SH/SCH 类型、球冠中心与半张角、坐标与高程基准、勒让德函数归一化、截断索引、系数顺序和单位、参考高度、垂向参数,以及不可用时的回退方式。30 s 调度建议基于GNSS 观测历元,不是无校准的本机时钟。
用户端: 按一致的球面角向坐标重建参考高度场,处理用户高程;结合静力/湿延迟映射函数,并估计剩余 ZWD。模型过期、用户超出球冠或垂向模型适用高度时,不应静默外推。
9. 怎样验证模型确实提高精度?
对独立测试样本定义:
e i = T i m o d e l − T i r e f , B i a s = 1 Q ∑ i = 1 Q e i , R M S E = 1 Q ∑ i = 1 Q e i 2 . (24) e_i=T_i^{\mathrm{model}}-T_i^{\mathrm{ref}},\qquad \mathrm{Bias}=\frac1Q\sum_{i=1}^{Q}e_i,\qquad \mathrm{RMSE}=\sqrt{\frac1Q\sum_{i=1}^{Q}e_i^2}. \tag{24} ei=Timodel−Tiref,Bias=Q1i=1∑Qei,RMSE=Q1i=1∑Qei2 .(24)
变量: e i e_i ei 为第 i i i 个样本模型减参考 ZTD 的误差(m); T i m o d e l T_i^{\mathrm{model}} Timodel、 T i r e f T_i^{\mathrm{ref}} Tiref 分别为预测与独立参考 ZTD(m); Q Q Q 为测试样本数;Bias 为平均偏差(m);RMSE 为均方根误差(m)。参考站 ZTD 也有不确定度,应注明其生成方法。
建议同时报告误差 STD(说明分母约定)与 P 95 ( ∣ e ∣ ) P_{95}(|e|) P95(∣e∣)(绝对误差 95% 分位数)。ZTD 绝对误差 P95 不是水平定位 CEP95。
验证按三层展开:建模站内符合 → 整站留出空间外符合 → 跨日期时间外符合 。使用不同测站、不同天气和季节对比;按地形高差、站网密度与球冠边缘位置分组。基线与新模型必须使用相同历元、测站划分、参考值和误差口径。除了 ZTD 误差,还应比较 PPP/PPP-AR 收敛时间、定位 RMS/CEP95、CPU 耗时、带宽与播发延迟,不能仅凭内符合判断算法优劣。
10. 工程实现中的几个常见误区
| 容易混淆的说法 | 正确理解 |
|---|---|
| "球冠谐就是把球谐经纬度缩放到中国" | 严格 SCH 还需球冠坐标、特征度与边界条件 |
| "球冠谐天然在中国更准" | 必须通过相同数据条件下的独立验证确认 |
| "分层就是把 ZTD 分成多层再相加" | 各高度 ZTD 是向上积分的累计量,相邻累计值之差才是层延迟 |
| "四层模型 = 四次 SCH 拟合" | 四层高程递减 与多高度水平拟合是不同实现 |
| "提高截断阶次一定更好" | 容易病态、边缘振荡和空间外推失真 |
| "残差可以和 ZTD 使用同一对数递减率" | 残差可为负,不能直接取对数;需另定垂向模型 |
| "GNSS ZTD 改正 = 斜路径大气延迟改正" | 还需映射函数和必要的残余参数估计 |
| "实时取 ERA5T 就是实时气象" | ERA5T 为滞后数日的再分析初始版本 |
**可操作的选型顺序:**先固定真实可复现的十系数或 a 0 + a_0+ a0+格网基线;再对比统一高程归算(单层/分层 A);最后在相同垂向策略下比较多项式、SH、SCH 和背景残差拟合。只有独立空间外符合和用户 PPP 指标获得稳定收益,才增加模型复杂度。
11. 参考文献
文中以 序号 对应下列来源;论文提供方法示例,不表示本文对其工程效果作了跨数据集保证。
- Haines, G. V. (1985). Spherical cap harmonic analysis. Journal of Geophysical Research: Solid Earth , 90 (B3), 2583--2591. DOI: 10.1029/JB090iB03p02583。经典球冠谐、非整数特征度与边界条件。
- Korte, M., & Holme, R. (2003). Regularization of spherical cap harmonics. Geophysical Journal International , 153 (1), 253--262. DOI: 10.1046/j.1365-246X.2003.01898.x。球冠谐两类函数的非完全正交性与正则化。
- Qian, C., Liu, H., & He, C. (2014). The Research on the Regional Precise Troposphere Delay by using Spherical Cap Harmonic Analysis. Proceedings of ION GNSS+ 2014 , 51--59. ION 论文页。区域 GNSS ZTD 的 SCH 拟合案例。
- Zhang, S., Wang, X., Li, Z., et al. (2020). A New Four-Layer Inverse Scale Height Grid Model of China for Zenith Tropospheric Delay Correction. IEEE Access , 8 , 210171--210182. DOI: 10.1109/ACCESS.2020.3038678。单层与四层垂向递减、高程归算。
- Cao, L., Zhang, B., Li, J., Yao, Y., Liu, L., Ran, Q., & Xiong, Z. (2021). A Regional Model for Predicting Tropospheric Delay and Weighted Mean Temperature in China Based on GRAPES_MESO Forecasting Products. Remote Sensing , 13 (13), 2644. DOI: 10.3390/rs13132644。气象预报系统偏差参数的 SCH 空间拟合。
- Landskron, D., & Böhm, J. (2018). VMF3/GPT3: refined discrete and empirical troposphere mapping functions. Journal of Geodesy , 92 , 349--360. DOI: 10.1007/s00190-017-1066-2。GNSS 大气先验及映射函数。
- Ma, Y., Liu, H., Xu, G., & Lu, Z. (2021). Empirical Orthogonal Function Analysis and Modeling of Global Tropospheric Delay Spherical Harmonic Coefficients. Remote Sensing , 13 (21), 4385. DOI: 10.3390/rs13214385。全球 ZTD 球谐系数建模案例。
- ECMWF. ERA5T (ERA5 Initial Release Data). 数据说明。再分析数据及约 5 天延迟。
- ECMWF. Open data. 数据门户。可用于在线气象背景的预报产品信息;具体时效以选用产品为准。
- Zhang, J., Zuo, X., Guo, S., Xie, S., Yang, X., Li, Y., & Yue, X. (2024). A New Grid Zenith Tropospheric Delay Model Considering Time-Varying Vertical Adjustment and Diurnal Variation over China. Remote Sensing , 16 (11), 2023. DOI: 10.3390/rs16112023。中国区域高程变化与日变化建模案例。
- Petit, G., & Luzum, B. (eds.) (2010). IERS Conventions (2010) , Technical Note 36, Chapter 9: Models for atmospheric propagation delays. IERS 官方页面。ZHD/ZWD、映射函数及 GNSS 大气延迟模型。