[发明专利]一种DOM栅格数据脱密与恢复方法有效
申请号: | 201310023278.6 | 申请日: | 2013-01-22 |
公开(公告)号: | CN103093414A | 公开(公告)日: | 2013-05-08 |
发明(设计)人: | 闫娜;周卫 | 申请(专利权)人: | 南京师范大学 |
主分类号: | G06T1/00 | 分类号: | G06T1/00 |
代理公司: | 南京知识律师事务所 32207 | 代理人: | 李媛媛 |
地址: | 210046 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种DOM栅格数据脱密与恢复方法,属于地理信息安全领域。该方法包括以下步骤:(1)密钥生成过程:确定数据范围,确定数据变换量,计算线性和非线性变换参数;(2)脱密过程:读取密钥文件,根据密钥处理每个像元,保存脱密后的栅格数据;(3)恢复过程:打开脱密后的栅格数据循环处理每个像元。本方法针对DOM栅格数据的安全保护问题,在保证数据拓扑关系不发生改变的前提下,根据密钥可对数据进行脱密,脱密后的数据依据密钥可进行恢复。本方法具有随机性、渐变性、可逆性等特点,提高了DOM栅格数据脱密的可靠性,完善了地理信息安全保护的理论与方法体系,可用于DOM栅格数据的公开发布等方面。 | ||
搜索关键词: | 一种 dom 栅格 数据 恢复 方法 | ||
【主权项】:
1.一种DOM栅格数据脱密与恢复方法,其特征在于,包括如下过程:(一)密钥生成过程步骤11,确定数据范围:获取原始栅格数据Raster的最小外接矩形R,R左下角坐标为(xmin,ymin),右上角坐标为(xmax,ymax),根据公式(1)得数据中心点坐标(xmid,ymid)、数据长度XL和数据宽度YL;x mid = ( x min + x max ) / 2 y mid = ( y min + y max ) / 2 XL = x max - x min YL = y max - y min - - - ( 1 ) ]]> 步骤12,确定数据变换量:具体步骤如下:输入数据总体变换量total,total>0,非线性变换量nonlinear,0<nonlinear<=total,根据公式(2)得到线性变换量linear;linear = total 2 - nonlinear 2 - - - ( 2 ) ]]> 步骤13,计算线性变换量linear引起的中误差,确定影响变换效果的参数:焦距f、航高H、偏角
倾角ω、旋角κ,具体步骤如下:a)焦距f∈(0,1),b)根据公式(3)计算航高H,H XL * YL / f - - - ( 3 ) ]]> c)根据公式(4)计算线性变化量linear的扰动范围linearExtent,linearExtent = linear - - - ( 4 ) ]]> d)生成控制点集合,具体步骤如下:在最小外接矩形R范围内生成m*n个均匀网格,在每个网格中随机选取一个控制点,组成源控制点集合FromPoints={(Fxt,Fyt)|t=1,2,...m*n},m*n>=10,根据公式(5)计算每个目标控制点坐标(Txt,Tyt)组成目标控制点集合ToPoints={(Txt,Tyt)|t=1,2,...m*n},Tx t = Fx t + dir 1 × linear + random 1 × linearExtent Ty t = Fy t + dir 2 × linear + random 2 × linearExtent - - - ( 5 ) ]]> 其中:方向参数dir1∈{1,-1}、dir2∈{1,-1},控制点扰动参数random1和控制点扰动参数random2在[-1.0,1.0]范围内随机选取,e)坐标归一化,根据公式(6)对预案控制点集合FromPoints和目标控制点集合ToPoints进行归一化处理得到新坐标的源控制点集合FromPoints’={(Fxt’,Fyt’)|t=1,2,...m*n}和目标控制点集合ToPoints’={(Txt’,Tyt’)|t=1,2,...m*n},Fx t ′ = ( Fx t - x mid ) * f / H Fy t ′ = ( Fy t - y mid ) * f / H Tx t ′ = ( Tx t - m mid ) * f / H Ty t ′ = ( Ty t - y mid ) * f / H - - - ( 6 ) ]]> f)计算偏角
倾角ω和旋角κ,根据公式(7)利用最小二乘法对新坐标的源控制点集合FromPoints’中源控制点和目标控制点集合ToPoints’中目标控制点进行拟合解算得到偏角
倾角ω、旋角κ,
g)计算线性变换中误差accuracy1,具体步骤如下:在最小外接矩形R范围内均匀选取s1*s2个样本点,s1*s2>m*n,组成误差计算源控制点集合BPoints={(Bxt,Byt)|t=1,2,...s1*s2},根据公式(8)和偏角
倾角ω、旋角κ计算目标控制点坐标得到误差计算目标控制点集合APoints={(Axt,Ayt)|t=1,2,...s1*s2},(Bxt’,Byt’)是对误差计算源控制点(Bxt,Byt)进行归一化处理得到的坐标,
根据公式(9)计算中误差accuracy1,accuracy 1 = Σ ( ( Ax t - Bx t ) 2 + ( Ay t - By t ) 2 ) / s 1 * s 2 - - - ( 9 ) ]]> h)调节目标控制点集合,具体步骤如下:如果|linear/accuracy1-1|>0.01,则根据公式(10)调节每个原目标控制点坐标(Txt,Tyt),得到新的目标控制点坐标(NTxt,NTyt),用新的目标控制点替代原目标控制点即Txt=NTxt、Tyt=NTyt,得到目标控制点集合ToPoints={(Txt,Tyt)|t=1,2,...m*n},NTx t = Fx t + ( linear / accurac y 1 ) ( Tx t - Fx t ) NTy t = Fy t + ( linear / accurac y 1 ) ( Ty t - Fy t ) - - - ( 10 ) ]]> i)循环步骤e)-h)直至|linear/accuracy1-1|<=0.01,得到最终的偏角
倾角ω、旋角κ;步骤14,计算非线性变换量nonlinear引起的中误差,确定参数j0-j9,具体步骤如下:a)生成控制点高程值Fzt,利用公式(11)计算控制点高程值最小值hMin,在(hMin,H)和(-H,-hMin)范围内给每个控制点随机选取一个值作为高程值Fzt,生成三维源控制点集合FromPoints={(Fxt,Fyt,Fzt)|t=1,2,...m*n},hMin = H * nonlinear / ( x mid - x min ) 2 + ( y mid - y min ) 2 - - - ( 11 ) ]]> b)根据公式(12)对生成的三维源控制点集合FromPoints进行最小二乘解算,得到参数j0-j9,Fzt=j0+j1Fxt+j2Fyt+j3Fxt2+j4Fyt2+j5FxtFyt+j6FxtFyt2+j7Fxt2Fyt+j8Fyt3+j9Fyt3(12)c)计算非线性变换中误差accuracy2,具体步骤如下:把步骤13中g)步中生成的BPoints作为误差计算源控制点集合,根据公式(13)和参数j0-j9解算每个源控制点(Bxt,Byt)的Bzt值,得到三维源控制点集合BPoints={(Bxt,Byt,Bzt)|t=1,2,...,s1*s2},Bzt=j0+j1Bxt+j2Byt+j3Bxt2+j4Byt2+j5BxtByt+j6BxtByt2+j7Bxt2Byt+j8Byt3+j9Byt3(13)根据公式(14)对三维源控制点集合BPoints进行计算得到目标控制点集合APoints={(Axt,Ayt)|t=1,2,...,s1*s2},Ax t = ( - f ( Bx t - x mid ) / ( Bz t - H ) ) * H / f + x mid Ay t = ( - f ( By t - y mid ) / ( Bz t - H ) ) * H / f + y mid - - - ( 14 ) ]]> 根据公式(15)计算中误差accuracy2,accuracy 2 = Σ ( ( Ax t - Bx t ) 2 + ( Ay t - B t ) 2 ) s 1 * s 2 - - - ( 15 ) ]]> d)循环步骤a)-c),直至|nonlinear/accuracy2-1|<=0.01,得到最终参数j0-j9;步骤15,焦距f、航高H、偏角
倾角ω、旋角κ、数据中心点坐标(xmid,ymid)、参数j0-j9组成密钥Key,用非对称加密算法RSA对密钥Key进行加密并存入密钥文件Key.txt;(二)脱密过程步骤21,读取密钥文件Key.txt,解密后提取密钥Key;步骤22,打开原始栅格数据Raster,根据原始栅格数据Raster创建新栅格数据CRaster,新栅格数据CRaster的空间参照、栅格起点O(xo,yo)、像元长PX与宽PY、栅格行数row与列数column等属性与原始栅格数据Raster相同,但需添加一个波段,即如果原始栅格数据Raster有band个波段,则新栅格数据CRaster有band+1个波段,栅格像素类型改为PT_DOUBLE;步骤23,循环处理每个像元,具体步骤如下:a)获取像元坐标与像元值,设每个像元中心点为像元坐标,根据公式(16)得每个像元的坐标为pi,j(xi,j,yi,j,zi,j),若波段值bs<band+1,则获取原栅格数据像元pi,j的像元值赋值给vi,j,若波段值bs=band+1,则此像元的像元值vi,j=zi,j,x i , j = x o + i * PX + PX / 2 y i , j = y o - j * PY - PY / 2 z i , j = j 0 + j 1 x i , j + j 2 y i , j + j 3 x i , j 2 + j 4 y i , j 2 + j 5 x i , j y i , j + j 6 x i , j y i , j 2 + j 7 x i , j 2 y i , j + j 8 y i , j 3 + j 9 y i , j 3 - - - ( 16 ) ]]> 其中:i=0,1,2,...,column-1;j=0,1,2,...,row-1;b)转换像元坐标,根据公式(17)和密钥Key,对每个像元坐标pi,j(xi,j,yi,j,zi,j)进行计算,得到像元坐标pi,j’(xi,j’,yi,j’,zi,j),
c)坐标归一化,根据密钥Key和公式(18)对每个像元坐标pi,j’进行归一化处理得到脱密后像元坐标pi,j”(xi,j”,yi,j”,zi,j),x i , j ′ ′ = x mid + x i , j ′ * H / f y i , j ′ ′ = y mid + y i , j ′ * H / f - - - ( 18 ) ]]> d)判断像元pi,j”是否在新栅格数据CRaster范围内,具体步骤如下:如果xo≤xi,j″≤xo+PX*column,yo≤yi,j″≤yo+PY*row,则像元pi,j”在新栅格数据CRaster内,根据公式(19)得到像元pi,j”在新栅格数据CRaster中的对应像元cpa,b(xi,j”,yi,j”),给像元cpa,b赋值即像元值cva,b=vi,j;
其中,
表示向下取整,步骤24,填充缺失像元,具体步骤如下:如果波段值bs=band+1,则判断像元cpa,b周围的8个像元是否每个波段像元值全为0,如果是则为缺失像元,将像元cpa,b的每个波段的像元值cva,b赋值给缺失像元;步骤25,循环步骤23到24,直至每个波段处理完毕;步骤26,如果原栅格数据存在与之相邻的栅格数据,则打开此相邻的栅格数据,判断相邻的栅格数据脱密后是否有像元落在新栅格数据CRaster中,如果有,循环步骤23到步骤26,直至相邻数据处理完毕,保存脱密后的栅格数据CRaster;(三)恢复过程步骤31,读取密钥文件Key.txt,解密后提取密钥Key;步骤32,打开脱密后的栅格数据CRaster,根据脱密后的栅格数据CRaster创建新的栅格数据IRaster,新栅格数据IRaster的空间参照、栅格起点O(xo,yo)、像元长PX与宽PY、栅格行数row与列数column等属性与栅格数据CRaster相同,但需减少一个波段,即如果原始栅格数据CRaster有band+1个波段,则新栅格数据IRaster有band个波段;步骤33,循环处理每个像元,具体步骤如下:a)获取像元坐标与像元高程值,设每个像元中心点为像元坐标,根据公式(16)中xi,j,yi,j的计算公式得每个像元的坐标为pi,j(xi,j,yi,j),获取栅格数据CRaster波段值为band+1的像元的像元值并赋值给zi,j,得到像元的坐标为pi,j(xi,j,yi,j,zi,j),若波段值bs<band+1,则获取原栅格数据像元pi,j的像元值赋值给vi,j,b)坐标归一化,根据公式(20)和密钥Key,对每个像元坐标pi,j(xi,j,yi,j,zi,j)进行计算,得到像元坐标pi,j’(xi,j’,yi,j’,zi,j),x i , j ′ = ( x i , j - x mid ) * f / H y i , j ′ = ( y i , j - y mid ) * f / H - - - ( 20 ) ]]> c)转换像元坐标,根据公式(21)和密钥Key对每个坐标pi,j’(xi,j’,yi,j’,zi,j)进行计算,得到恢复后的像元坐标pi,j”(xi,j”,yi,j”,zi,j),
d)判断像元pi,j”是否在新栅格数据IRaster范围内,具体步骤如下:如果xo≤xi,j″≤xo+PX*column,yo≤yi,j″≤yo+PY*row,则像元pi,j”在新栅格数据IRaster内,根据公式(19)得到像元pi,j”在新栅格数据IRaster中的对应像元ipa,b(xi,j”,yi,j”),给像元ipa,b赋值即像元值iva,b=vi,j;步骤34,填充缺失像元,具体步骤如下:如果波段值bs=band,则判断像元ipa,b周围的8个像元是否每个波段像元值全为0,如果是则为缺失像元,将像元ipa,b的每个波段的像元值iva,b赋值给缺失像元;步骤35,循环步骤33到34,直至每个波段处理完毕;步骤36,如果脱密栅格数据存在与之相邻的栅格数据,则打开此相邻的栅格数据,判断相邻的栅格数据恢复后是否有像元落在新栅格数据IRaster中,如果有,循环步骤33到步骤36,直至相邻数据处理完毕,保存恢复后的数据IRaster。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京师范大学,未经南京师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310023278.6/,转载请声明来源钻瓜专利网。
- 上一篇:一种湿法回收气体装置
- 下一篇:具有物理按键的背部触控式手机
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置