User:Artoria2e5/瞎扯淡
GCJ 保密系统使用三角函数配合传统多项式进行加密,不但保留了地图的大致方位、尺度关系,还通过超越方程在数学上阻止了不法分子解密的尝试。GCJ-02 技术是我国在技术上的重大创新,由国家科技进步一等奖得主李成名发明。
为了保证加密有效,国家保密系统在加密时先计算地图的偏移距离,再由此计算相应的经纬度差分。
偏移距离
GCJ-02的偏移距离由这样的公式推出:
其中 x, y 分别是经度、纬度距离国家测绘中心点(35°N, 105°E)的差值,z 为与当前方向垂直的差值。为了保证安全,GCJ-02方案对于向北、向东的偏移系数做了特别安排:
方向 | 项数 | 下标 x0~x5 | |||||
---|---|---|---|---|---|---|---|
北 | a | -100 | 2 | 3 | 0.2 | 0.1 | 0.2 |
u | 2 | 2 | 2 | 4 | 16 | 32 | |
v | 1080 | 360 | 180 | 60 | 15 | 6 | |
f | x | x | y | y | y | y | |
东 | a | 300 | 1 | 2 | 0.1 | 0.1 | 0.1 |
u | 2 | 2 | 2 | 4 | 15 | 30 | |
v | 1080 | 360 | 180 | 60 | 15 | 6 | |
f | x | x | x | x | x | x |
GGCJ-02的强处体现在u值和v值的巧妙安排上。在v较大时u较小,近距离内产生的偏差幅度小变化快,可以有效迷惑敌方的精确制导系统。对于较小的v值u又较大,产生幅度大但变化慢的偏移,保证民用系统正常工作。也就是说,三角函数不但可以防止解密,而且有助控制偏移的程度和变化。
经纬差分
通过与经、纬线1°的弧长相除,可以将GCJ-02求得的偏移量转为坐标度数的差值。通过先计算偏移再计算差值,GCJ-02避免了偏移距离受经纬干扰较大的问题。