GPS纠偏算法
对于未知点LNGx,LATx,对于进行0.1精度取整,得坐标点LNG0, LAT0,并以此为基点得到包络未知点LNGx, LATx的其他三个坐标点数值(例如:111.111,44.444按0.1精度取整后得到111.1, 44.4, 其他三个包络点为111.1, 44.5, 111.2,44.4, 111.2, 44.5, 具体示意见下图)
从已知偏移表中查出四个坐标点的偏移量,分别记为 OSLNG0, OSLAT0 … OSLNG3, OSLAT3(见图示)
根据LNG1,LAT1和LNG0, LAT1的偏移量进行线性插值,计算出LNGx, LAT1的偏移量OSLNG5,OSLAT5, 方法出下(VB代码):
r = Abs(LNGx - LNG0)
r1 = Abs(LNG1 - LNGx)
If (r0 < 0.00000000001) Then
OSLNG5 = OSLNG3
OSLAT5=OSLAT3
ElseIf (r1 < 0.00000000001) Then
OSLNG5 = OSLNG2
OSLAT5=OSLAT2
Else
OSLNG5 = (OSLNG3 / r0 + OSLNG2 / r1) / (1 / r0 + 1 / r1)
OSLAT5 = (OSLAT3 / r0 + OSLAT2 / r1) / (1 / r0 + 1 / r1)
End If
同法可计算得到OSLNG4, OSLAT4,之后,根据LNGx, LAT0和LNGx, LAT1的位置,同法可计算出OSLNGx和OSLATx
原理:在小尺度内加偏的曲线函数可以近似地用直线代替进行估算