CN103093414A - 一种dom栅格数据脱密与恢复方法 - Google Patents

一种dom栅格数据脱密与恢复方法 Download PDF

Info

Publication number
CN103093414A
CN103093414A CN2013100232786A CN201310023278A CN103093414A CN 103093414 A CN103093414 A CN 103093414A CN 2013100232786 A CN2013100232786 A CN 2013100232786A CN 201310023278 A CN201310023278 A CN 201310023278A CN 103093414 A CN103093414 A CN 103093414A
Authority
CN
China
Prior art keywords
pixel
raster data
control point
data
formula
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2013100232786A
Other languages
English (en)
Other versions
CN103093414B (zh
Inventor
闫娜
周卫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Normal University
Original Assignee
Nanjing Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Normal University filed Critical Nanjing Normal University
Priority to CN201310023278.6A priority Critical patent/CN103093414B/zh
Publication of CN103093414A publication Critical patent/CN103093414A/zh
Application granted granted Critical
Publication of CN103093414B publication Critical patent/CN103093414B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种DOM栅格数据脱密与恢复方法,属于地理信息安全领域。该方法包括以下步骤:(1)密钥生成过程:确定数据范围,确定数据变换量,计算线性和非线性变换参数;(2)脱密过程:读取密钥文件,根据密钥处理每个像元,保存脱密后的栅格数据;(3)恢复过程:打开脱密后的栅格数据循环处理每个像元。本方法针对DOM栅格数据的安全保护问题,在保证数据拓扑关系不发生改变的前提下,根据密钥可对数据进行脱密,脱密后的数据依据密钥可进行恢复。本方法具有随机性、渐变性、可逆性等特点,提高了DOM栅格数据脱密的可靠性,完善了地理信息安全保护的理论与方法体系,可用于DOM栅格数据的公开发布等方面。

Description

一种DOM栅格数据脱密与恢复方法
技术领域
本发明属于地理信息安全领域,具体涉及一种针对DOM栅格数据脱密与恢复方法。
背景技术
栅格数据作为一种基础地理数据,直接关系到国家安全和利益,其安全保护研究十分重要,在应用上是要加以限制的。栅格数据脱密主要包括降低栅格数据的分辨率和转换空间精度。降低栅格数据的分辨率可以使用重采样改变像元大小的方法,转换空间精度主要是指利用一定的数学模型转换像元在空间中的位置。栅格空间坐标转换主要包括多项式变换、仿射变换、样条变换等。一次多项式和仿射变换是线性变换,易于恢复;样条变换和二次、三次多项式变换是非线性变换,效果较显著,但是难以恢复,所以需要研究变换效果好,在没有密钥的情况下又难以恢复的栅格数据脱密与恢复方法。
发明内容
本发明的目的是针对现有脱密方法存在的缺陷,提供一种非线性混合模型对DOM栅格数据进行脱密与恢复处理的方法,具有误差的随机性、算法的可逆性和难以破解等特点。
本发明的目的是通过以下技术方案实现的:一种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、偏角
Figure BDA00002760607600013
倾角ω、旋角κ,具体步骤如下:
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)计算偏角
Figure BDA00002760607600025
倾角ω和旋角κ,根据公式(7)利用最小二乘法对新坐标的源控制点集合FromPoints’中源控制点和目标控制点集合ToPoints’中目标控制点进行拟合解算得到偏角
Figure BDA00002760607600026
倾角ω、旋角κ,
g)计算线性变换中误差accuracy1,具体步骤如下:在最小外接矩形R范围内均匀选取s1*s2个样本点,s1*s2>m*n,组成误差计算源控制点集合BPoints={(Bxt,Byt)|t=1,2,...s1*s2},根据公式(8)和偏角
Figure BDA00002760607600028
倾角ω、旋角κ计算目标控制点坐标得到误差计算目标控制点集合APoints={(Axt,Ayt)|t=1,2,...s1*s2},(Bxt’,Byt’)是对误差计算源控制点(Bxt,Byt)进行归一化处理得到的坐标,
Figure BDA00002760607600031
根据公式(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,得到最终的偏角
Figure BDA00002760607600034
倾角ω、旋角κ;
步骤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+j3Fxt 2j4Fyt 2+j5FxtFyt+j6FxtFyt 2+j7Fxt 2Fyt+j8Fyt 3+j9Fyt 3(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+j3Bxt 2+j4Byt 2+j5BxtByt+j6BxtByt 2+j7Bxt 2Byt+j8Byt 3+j9Byt 3(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),
Figure BDA00002760607600045
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
Figure BDA00002760607600052
其中,
Figure BDA00002760607600053
表示向下取整,
步骤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),
Figure BDA00002760607600062
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。
本发明提出了一种非线性混合模型对DOM栅格数据进行脱密与恢复处理。本方法针对DOM栅格数据的安全保护问题,在保证数据拓扑关系不发生改变的前提下,根据密钥可对数据进行脱密,脱密后的数据依据密钥可进行恢复。本方法具有随机性、渐变性、可逆性等特点,提高了DOM栅格数据脱密的可靠性,完善了地理信息安全保护的理论与方法体系;本发明脱密和恢复后的栅格数据范围和原栅格数据图幅范围相同,如果原栅格数据存在与之相邻的栅格数据且其每个像元都有像元值,则脱密后的栅格数据不会存在黑边和接边问题,大大提高了数据的可用性;DOM栅格数据的恢复算法可用于对脱密后的数据进行实距量测等,本发明可用于DOM栅格数据的公开发布等方面。
附图说明
图1是本发明方法脱密过程流程图。
图2是本发明方法恢复过程流程图。
图3是本发明实施例选用的原始栅格数据。
图4是本发明实施例脱密后的栅格数据。
图5是本发明实施例恢复后的栅格数据
具体实施方式
下面结合附图对本发明的实施例做详细说明。
本实施例选择tif格式栅格数据,对数据进行读取、脱密与恢复操作,进一步详细说明本发明。本实施例选择某一栅格数据(如图3)作为原始栅格数据,包括以下步骤:
(一)密钥生成过程
步骤11,确定数据范围:获取原始栅格数据Raster的最小外接矩形R,R左下角坐标为(299000,354000),右上角坐标为(299500.00486,354500.00486),根据公式(1)得数据中心点坐标(xmid,ymid)、数据长度XL和数据宽度YL;
x mid = 299250.00243 y mid = 354250.00243 XL = 500.004859999986 Yl = 500.004859999986
步骤12,确定数据变换量:具体步骤如下:输入数据总体变换量total=50,非线性变换量nonlinear=10,根据公式(2)得到线性变换量linear=48.9897948556636;
步骤13,计算线性变换量linear引起的中误差,确定影响变换效果的参数:焦距f、航高H、偏角
Figure BDA00002760607600072
倾角ω、旋角κ,具体步骤如下:
a)焦距f=0.15,
b)根据公式(3)计算航高H=3333.36573333324,
c)根据公式(4)计算线性变化量linear的扰动范围linearExtent=6.99927102316117,
d)生成控制点集合,具体步骤如下:在最小外接矩形R范围内生成4*3个均匀网格,在每个网格中随机选取一个控制点,组成源控制点集合FromPoints={(Fxt,Fyt)|t=1,2,...4*3},根据公式(5)计算每个目标控制点坐标(Txt,Tyt)组成目标控制点集合ToPoints={(Txt,Tyt)|t=1,2,...4*3},
e)坐标归一化,根据公式(6)对源控制点集合FromPoints和目标控制点集合ToPoints进行归一化处理得到新坐标的源控制点集合FromPoints’={(Fxt’,Fyt’)|t=1,2,...4*3}和目标控制点集合ToPoints’={(Txt’,Tyt’)|t=1,2,...4*3},
f)计算偏角倾角ω和旋角κ,根据公式(7)利用最小二乘法对新坐标的源控制点集合FromPoints’中源控制点和目标控制点集合ToPoints’中目标控制点进行拟合解算得到偏角倾角ω=0.0143859160009854、旋角κ=0.00171113885383085,
g)计算线性变换中误差accuracy1,具体步骤如下:在最小外接矩形R范围内均匀选取100*100个样本点,组成误差计算源控制点集合BPoints={(Bxt,Byt)|t=1,2,...100*100},根据公式(8)和偏角
Figure BDA00002760607600083
倾角ω和旋角κ计算目标控制点坐标得到误差计算目标控制点集合APoints={(Axt,Ayt)|t=1,2,...100*100},(Bxt’,Byt’)是对误差计算源控制点(Bxt,Byt)进行归一化处理得到的坐标,根据公式(9)计算中误差accuracy1=68.0488754948298,
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,...4*3},
i)循环步骤e)-h),当accuracy1=49.0043372348528时|linear/accuracy1-1|<=0.01,得到最终的偏角
Figure BDA00002760607600085
倾角ω=0.0103597661835137、旋角κ=0.00123380279867298;
步骤14,计算非线性变换量nonlinear引起的中误差,确定参数j0-j9,具体步骤如下:
a)生成控制点高程值Fzt,利用公式(11)计算控制点高程值最小值hMin=7.0533234616974,在(hMin,H)和(-H,-hMin)范围内给每个控制点随机选取一个值作为高程值Fzt,生成三维源控制点集合FromPoints={(Fxt,Fyt,Fzt)|t=1,2,...4*3},
b)根据公式(12)对生成的三维源控制点集合FromPoints进行最小二乘解算,得到参数j0=334993952、j1=-8706.607421875、j2=6016.97875976563、j3=-0.0133545268326998、j4=-0.015282241627574、j5=0.0288193542510271、j6=-3.75795892182396E-08、j7=1.34009283669911E-08、j8=3.11356203042124E-08、j9=7.85700038363757E-09,
c)计算非线性变换中误差accuracy2,具体步骤如下:把步骤13中g)步中生成的BPoints作为误差计算源控制点集合,根据公式(13)和参数j0-j9解算每个源控制点(Bxt,Byt)的Bzt值,得到三维源控制点集合BPoints={(Bxt,Byt,Bzt)|t=1,2,...,100*100},根据公式(14)对三维源控制点集合BPoints进行计算得到目标控制点集合APoints={(Axt,Ayt)|t=1,2,...,100*100},根据公式(15)计算中误差accuracy2=171.403130188463,
d)循环步骤a)-c),直至|nonlinear/accuracy2-1|<=0.01,得到最终参数j0=-61101631、j1=-1740.00621032715、j2=1563.04531860352、j3=0.00178630302252714、j4=-0.00287107258918695、j5=0.00299284062202787、j6=-1.17702832480582E-08、j7=6.1607428603061E-09、j8=-8.11415323820341E-10、j9=4.03725997077942E-09;
步骤15,焦距f、航高H、偏角
Figure BDA00002760607600091
倾角ω、旋角κ、数据中心点坐标(xmid,ymid)、参数j0-j9组成密钥Key,用非对称加密算法RSA对密钥Key进行加密并存入密钥文件Key.txt;
(二)脱密过程
步骤21,读取密钥文件Key.txt,解密后提取密钥Key;
步骤22,打开原始栅格数据Raster,根据原始栅格数据Raster创建新栅格数据CRaster,新栅格数据CRaster的空间参照、栅格起点O(299000,354000.00014)、像元长PX=0.500004859999986与宽PY=0.500004859999986、栅格行数row=1000与列数column=1000等属性与原始栅格数据Raster相同,但需添加一个波段,即如果原始栅格数据Raster有3个波段,则新栅格数据CRaster有4个波段,栅格像素类型改为PT_DOUBLE;
步骤23,循环处理每个像元,具体步骤如下:
a)获取像元坐标与像元值,设每个像元中心点为像元坐标,根据公式(16)得每个像元的坐标为pi,j(xi,j,yi,j,zi,j),若波段值bs<4,则获取原栅格数据像元pi,j的像元值赋值给vi,j,若波段值bs=4则此像元的像元值vi,j=zi,j
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),
d)判断像元pi,j”是否在新栅格数据范围CRaster范围内,具体步骤如下:如果299000≤xi,j″≤299500.00486,354000≤yi,j″≤354500.00486,则像元pi,j”在新栅格数据CRaster内,根据公式(19)得到像元pi,j”在新栅格数据CRaster中的对应像元cpa,b(xi,j”,yi,j”),给像元cpa,b赋值即像元值cva,b=vi,j
步骤24,填充缺失像元,具体步骤如下:如果波段值bs=4,则判断像元cpa,b周围的8个像元是否每个波段像元值全为0,如果是则为缺失像元,将像元cpa,b的每个波段的像元值cva,b赋值给缺失像元;
步骤25,循环步骤23到24,直至每个波段处理完毕;
步骤26,如果原栅格数据存在与之相邻的栅格数据,则打开此相邻的栅格数据,判断相邻的栅格数据脱密后是否有像元落在新栅格数据CRaster中,如果有,循环步骤23到步骤26,直至相邻数据处理完毕,本实施例中原栅格数据存在与之相邻的8个栅格数据,所以需对这8个栅格数据进行循环处理,全部处理完成后保存脱密后的栅格数据CRaster;
(三)恢复过程
步骤31,读取密钥文件Key.txt,解密后提取密钥Key;
步骤32,打开脱密后的栅格数据CRaster,根据脱密后的栅格数据CRaster创建新的栅格数据IRaster,新栅格数据IRaster的空间参照、栅格起点O(299000,354000.00014)、像元长PX=0.500004859999986与宽PY=0.500004859999986、栅格行数row=1000与列数column=1000等属性与栅格数据CRaster相同,但需减少一个波段,即如果原始栅格数据CRaster有4个波段,则新栅格数据IRaster有3个波段;
步骤33,循环处理每个像元,具体步骤如下:
a)获取像元坐标与像元高程值,设每个像元中心点为像元坐标,根据公式(16)中xi,j,yi,j的计算公式得每个像元的坐标为pi,j(xi,j,yi,j),获取栅格数据CRaster波段值为4的像元的像元值并赋值给zi,j,得到像元的坐标为pi,j(xi,j,yi,j,zi,j),若波段值bs<4,则获取原栅格数据像元pi,j的像元值赋值给vi,j
b)坐标归一化,根据公式(20)和密钥Key,对每个像元坐标pi,j(xi,j,yi,j,zi,j)进行计算,得到像元坐标pi,j’(xi,j’,yi,j’,zi,j),
c)转换像元坐标,根据公式(21)和密钥Key对每个坐标pi,j’(xi,j’,yi,j’,zi,j)进行计算,得到恢复后的像元坐标pi,j”(xi,j”,yi,j”,zi,j),
d)判断像元pi,j”是否在新栅格数据范围IRaster范围内,具体步骤如下:如果299000≤xi,j″≤299500.00486,354000≤yi,j″≤354500.00486,则像元pi,j”在新栅格数据IRaster内,根据公式(19)得到像元pi,j”在新栅格数据IRaster中的对应像元ipa,b(xi,j”,yi,j”),给像元ipa,b赋值即像元值iva,b=vi,j
步骤34,填充缺失像元,具体步骤如下:如果波段值bs=3,则判断像元ipa,b周围的8个像元是否每个波段像元值全为0,如果是则为缺失像元,将像元ipa,b的每个波段的像元值iva,b赋值给缺失像元;
步骤35,循环步骤33到34,直至每个波段处理完毕;
步骤36,如果脱密栅格数据存在与之相邻的栅格数据,则打开此相邻的栅格数据,判断相邻的栅格数据恢复后是否有像元落在新栅格数据IRaster中,如果有,循环步骤33到步骤36,直至相邻数据处理完毕,本实施例中原栅格数据存在与之相邻的8个栅格数据,所以需对这8个栅格数据进行循环处理,全部处理完成后保存恢复后的数据IRaster。
本发明脱密前或恢复后可对数据进行重采样以降低栅格数据分辨率,本发明实施例在保证数据拓扑关系不发生改变的前提下对栅格数据进行脱密和恢复,可根据需求设定参数以达到所需的脱密效果,脱密后的数据根据密钥可进行恢复。

Claims (1)

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)计算偏角
Figure FDA00002760607500022
倾角ω和旋角κ,根据公式(7)利用最小二乘法对新坐标的源控制点集合FromPoints’中源控制点和目标控制点集合ToPoints’中目标控制点进行拟合解算得到偏角
Figure FDA00002760607500023
倾角ω、旋角κ,
g)计算线性变换中误差accuracy1,具体步骤如下:在最小外接矩形R范围内均匀选取s1*s2个样本点,s1*s2>m*n,组成误差计算源控制点集合BPoints={(Bxt,Byt)|t=1,2,...s1*s2},根据公式(8)和偏角
Figure FDA00002760607500025
倾角ω、旋角κ计算目标控制点坐标得到误差计算目标控制点集合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,得到最终的偏角
Figure FDA00002760607500031
倾角ω、旋角κ;
步骤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+j3Fxt 2+j4Fyt 2+j5FxtFyt+j6FxtFyt 2+j7Fxt 2Fyt+j8Fyt 3+j9Fyt 3(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+j3Bxt 2+j4Byt 2+j5BxtByt+j6BxtByt 2+j7Bxt 2Byt+j8Byt 3+j9Byt 3(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、偏角
Figure FDA00002760607500035
倾角ω、旋角κ、数据中心点坐标(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),
Figure FDA00002760607500042
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
Figure FDA00002760607500044
其中,
Figure FDA00002760607500045
表示向下取整,
步骤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),
Figure FDA00002760607500052
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。
CN201310023278.6A 2013-01-22 2013-01-22 一种dom栅格数据脱密与恢复方法 Expired - Fee Related CN103093414B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310023278.6A CN103093414B (zh) 2013-01-22 2013-01-22 一种dom栅格数据脱密与恢复方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310023278.6A CN103093414B (zh) 2013-01-22 2013-01-22 一种dom栅格数据脱密与恢复方法

Publications (2)

Publication Number Publication Date
CN103093414A true CN103093414A (zh) 2013-05-08
CN103093414B CN103093414B (zh) 2015-11-18

Family

ID=48205950

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310023278.6A Expired - Fee Related CN103093414B (zh) 2013-01-22 2013-01-22 一种dom栅格数据脱密与恢复方法

Country Status (1)

Country Link
CN (1) CN103093414B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103559452A (zh) * 2013-10-30 2014-02-05 南京师范大学 一种高程数据脱密与恢复方法
CN106778347A (zh) * 2016-12-22 2017-05-31 南京师范大学 一种基于三角函数的矢栅地理数据可逆脱密方法
CN107341170A (zh) * 2017-02-20 2017-11-10 江苏速度信息科技股份有限公司 一种地名普查数据脱密的方法
CN109002724A (zh) * 2018-06-07 2018-12-14 南京师范大学 一种基于紧支撑径向基函数的dem局部脱密与恢复方法
CN111161123A (zh) * 2019-12-11 2020-05-15 宝略科技(浙江)有限公司 一种针对三维实景数据的脱密方法及装置
CN111192361A (zh) * 2019-12-17 2020-05-22 南京泛在地理信息产业研究院有限公司 一种基于几何代数的地理向量场数据脱密与恢复方法
CN112883389A (zh) * 2021-02-09 2021-06-01 上海凯馨信息科技有限公司 支持特征保持的可逆脱敏算法
CN115082641A (zh) * 2022-08-19 2022-09-20 航天宏图信息技术股份有限公司 一种基于网格化多邻域插值的点云栅格化方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009258836A (ja) * 2008-04-14 2009-11-05 Murata Mach Ltd データ変換装置
CN102332079A (zh) * 2011-09-16 2012-01-25 南京师范大学 基于误差随机干扰的gis矢量数据伪装与还原方法
CN102509056A (zh) * 2011-09-28 2012-06-20 南京师范大学 基于要素几何精度弱化的gis矢量数据伪装与还原方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009258836A (ja) * 2008-04-14 2009-11-05 Murata Mach Ltd データ変換装置
CN102332079A (zh) * 2011-09-16 2012-01-25 南京师范大学 基于误差随机干扰的gis矢量数据伪装与还原方法
CN102509056A (zh) * 2011-09-28 2012-06-20 南京师范大学 基于要素几何精度弱化的gis矢量数据伪装与还原方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103559452A (zh) * 2013-10-30 2014-02-05 南京师范大学 一种高程数据脱密与恢复方法
CN103559452B (zh) * 2013-10-30 2016-03-30 南京师范大学 一种高程数据脱密与恢复方法
CN106778347A (zh) * 2016-12-22 2017-05-31 南京师范大学 一种基于三角函数的矢栅地理数据可逆脱密方法
CN107341170A (zh) * 2017-02-20 2017-11-10 江苏速度信息科技股份有限公司 一种地名普查数据脱密的方法
CN109002724A (zh) * 2018-06-07 2018-12-14 南京师范大学 一种基于紧支撑径向基函数的dem局部脱密与恢复方法
CN109002724B (zh) * 2018-06-07 2021-03-23 南京师范大学 一种基于紧支撑径向基函数的dem局部脱密与恢复方法
CN111161123A (zh) * 2019-12-11 2020-05-15 宝略科技(浙江)有限公司 一种针对三维实景数据的脱密方法及装置
CN111192361A (zh) * 2019-12-17 2020-05-22 南京泛在地理信息产业研究院有限公司 一种基于几何代数的地理向量场数据脱密与恢复方法
CN112883389A (zh) * 2021-02-09 2021-06-01 上海凯馨信息科技有限公司 支持特征保持的可逆脱敏算法
CN115082641A (zh) * 2022-08-19 2022-09-20 航天宏图信息技术股份有限公司 一种基于网格化多邻域插值的点云栅格化方法及装置
CN115082641B (zh) * 2022-08-19 2022-12-02 航天宏图信息技术股份有限公司 一种基于网格化多邻域插值的点云栅格化方法及装置

Also Published As

Publication number Publication date
CN103093414B (zh) 2015-11-18

Similar Documents

Publication Publication Date Title
CN103093414B (zh) 一种dom栅格数据脱密与恢复方法
Kucharik et al. A comparative study of interface reconstruction methods for multi-material ALE simulations
CN111223053A (zh) 基于深度图像的数据增强方法
KR101723738B1 (ko) 딕셔너리 학습 기반 해상도 향상 장치 및 방법
CN105335748A (zh) 图像特征提取方法和系统
CN101604439A (zh) 一种基于多混沌系统的彩色图像加密方法
CN102063496B (zh) 空间数据化简方法及装置
CN106778347B (zh) 一种基于三角函数的矢栅地理数据可逆脱密方法
JP2011170851A (ja) 幾何学変換を行うためのシステム、方法及び記憶媒体
CN104268825B (zh) 一种对密文图像进行图像处理的方法
US9800852B1 (en) Color reconstruction
CN103024421A (zh) 自由视点电视中的虚拟视点合成方法
CN103179319A (zh) 一种双混沌系统数学图像加密方法
CN103067159A (zh) 一种gis矢量数据可逆脱密方法
CN103971317A (zh) 一种基于分数阶混沌映射的图像加密方法
CN104077536A (zh) 基于径向基函数的gis矢量数据可逆脱密方法
CN111161123B (zh) 一种针对三维实景数据的脱密方法及装置
CN103020496A (zh) 一种数学水印加密实现方法
CN106127669B (zh) 基于保面积Baker映射的混沌图像加密方法
KR20150065302A (ko) 영상정합 기법에 의한 위성영상 3차원 위치결정에 관한 방법
KR101901535B1 (ko) 위조 방지 이미지의 생성 방법 및 장치
CN103456031A (zh) 一种区域图像插值的新方法
CN116611114B (zh) 基于图像文件的头文件实现地图栅格数据加密及偏移方法
Su et al. A robust color image watermarking scheme in the fusion domain based on LU factorization
CN108174053B (zh) 一种有向面积和扑克牌映射的解密区域限定图像加密方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20151118

Termination date: 20180122