发明名称 一种高程数据脱密与恢复方法
摘要 本发明公开了一种基于线性与非线性混合模型的高程数据脱密与恢复处理办法,包括如下过程:(1)针对高程数据的脱密处理过程,包括非线性变换参数生成、线性参数生成、密钥保存、原始高程数据脱密处理等步骤;(2)针对脱密后高程数据的恢复处理过程,包括密钥读取、脱密后高程数据恢复等步骤。本发明的方法能有效保障高程数据的安全,同时维持高程数据的相对位置关系基本不变,为国民经济建设中高程数据的使用提供有效的技术手段。
申请公布号 CN103559452A 申请公布日期 2014.02.05
申请号 CN201310526900.5 申请日期 2013.10.30
申请人 南京师范大学 发明人 周卫;王芙蓉;高隆杰;高奋生;王海荣
分类号 G06F21/60(2013.01)I 主分类号 G06F21/60(2013.01)I
代理机构 南京知识律师事务所 32207 代理人 李媛媛
主权项 一种高程数据脱密与恢复方法,其特征在于,包括如下过程:(一)高程数据的脱密过程步骤11:确定脱密变换量输入高程数据总体变换量sumpara和非线性变换量nonlinear,其中,0<nonlinear<=sumpara;步骤12:确定高程数据范围打开原始高程数据H,获取其最小外接矩形R,其中,R左下角坐标为(xmin,ymin),右上角坐标为(xmax,ymax);步骤13:计算非线性变换参数a0、a1、a2、a3、a4、a5、非线性变换缩放系数scale和线性变换量linear,具体步骤如下:a)获取高程点数据,设高程点集合为Points={(Pxi,Pyi,Pzi)|i=1,2,...,k},其中k为高程点个数;b)判断高程点数量,如果k<6,则返回错误,否则根据公式(1)对高程点集合Points进行最小二乘解算,得到非线性变换参数a0、a1、a2、a3、a4、a5;Pzi=a0+a1Pxi+a2Pyi+a3Pxi2+a4PxiPyi+a5Pyi2    (1)c)在最小外接矩形R范围内生成m*n个均匀样本点组成样本点集合SamplePoints={(Sxj,Syj)|j=1,2,...,num},其中m是X方向样本点数量,n是Y方向样本点数量,m>=3,n>=3,num=m*n,根据公式(2)和非线性变换参数a0、a1、a2、a3、a4、a5计算样本点高程值,得到三维样本点集合SamplePoints={(Sxj,Syj,Szj)|j=1,2,...,num};Szj=a0+a1Sxj+a2Syj+a3Sxj2+a4SxjSyj+a5Syj2    (2)d)遍历三维样本点集合SamplePoints,获取其高程值中的最大值hMax和最小值hMin,根据公式(3)计算高程非线性变换放大或缩小倍数scale,scale=nonlinear/(hMax‑hMin)    (3)e)遍历三维样本点集合SamplePoints,根据公式(4)计算每个样本点新的高程值,生成新的三维样本点集合SamplePoints’={(Sxj,Syj,Szj’)|j=1,2,...,num},Szj’=Szj*scale    (4)f)根据公式(5)计算高程线性变换量linear, <mrow> <mi>linear</mi> <mo>=</mo> <mi>sumpara</mi> <mo>-</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>num</mi> </munderover> <msup> <msub> <mi>Sz</mi> <mi>j</mi> </msub> <mo>&prime;</mo> </msup> <mo>/</mo> <mi>num</mi> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> </mrow>步骤14:修改原始数据高程值,具体步骤如下:a)根据公式(6)和非线性变换参数a0、a1、a2、a3、a4、a5计算利用原始高程点拟合的高程值Pzi’;Pzi’=a0+a1Pxi+a2Pyi+a3Pxi2+a4PxiPyi+a5Pyi2    (6)b)根据公式(7)计算脱密后高程点集合Points中高程值Pzi”,生成脱密后的高程点集合Points’={(Pxi,Pyi,Pzi”)|i=1,2,...,k};Pzi″=Pzi+Pzi′*scale+linear    (7)步骤15:根据公式(8)计算高程脱密中误差RMSE, <mrow> <mi>RMSE</mi> <mo>=</mo> <msqrt> <munderover> <mrow> <mi>&Sigma;</mi> </mrow> <mrow> <mi>i</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>k</mi> </munderover> <mi></mi> <msup> <mrow> <mo>(</mo> <msup> <msub> <mi>P</mi> <mi>z</mi> </msub> <mrow> <mo>&prime;</mo> <mo>&prime;</mo> </mrow> </msup> <mo>-</mo> <msub> <mi>Pz</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>/</mo> <mi>num</mi> </msqrt> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>8</mn> <mo>)</mo> </mrow> </mrow>步骤16:保存脱密后的高程数据DH,非线性变换参数a0‑a5及非线性变换放大或缩小倍数scale、线性变换量linear,并组成密钥Key,使用DES对称加密算法对密钥Key进行加密并存入密钥文件Key.txt;(二)脱密后高程数据的恢复过程步骤21:读取密钥文件Key.txt,使用DES算法解密后提取密钥Key;步骤22:打开脱密后的高程数据DH,获取脱密后的高程点集合Points’={(Pxi,Pyi,Pzi”)|i=1,2,...,k},根据密钥中非线性变换参数a0‑a5和公式(6)计算利用高程点拟合的高程值Pzi’;步骤23:根据公式(9)及密钥和生成的高程值Pzi’计算每个高程点恢复后的高程值Pzi,生成恢复后的高程点集合Points={(Pxi,Pyi,Pzi”)|i=1,2,...,k},Pzi=Pzi″‑Pzi′*scale‑linear    (9)步骤24:保存恢复后的高程数据RH。
地址 210097 江苏省南京市鼓楼区宁海路122号