1.一种基于三角函数的矢栅地理数据可逆脱密方法,其特征在于:包括以下步骤:(1)建立三角函数模型
采用由正、余弦函数组成的在实数空间内任意阶连续可导的非线性函数模型,其表达式如下所示:f(x)=b(a sin(ω1x)+(1-a)cos(ω2x)) (1)其中b为振幅参数,形态参数a用于控制函数的形状,ω1,ω2决定三角函数的周期;
(2)建立三角函数脱密模型
(21)设计脱密模型
根据式(1)的三角函数模型,以x坐标为自变量对y坐标进行三角函数变换,并对x坐标施加扰动 建立基于三角函数的脱密模型:同时,以y坐标为自变量对x坐标进行三角函数变换,并对y坐标施加扰动 建立基于三角函数的脱密模型:从二者中选择一个作为脱密模型;
(22)确定数据范围:输入具有相同空间参考的矢量地理数据和栅格地理数据,获取数据范围;
(23)解算模型参数:在保证三角函数图像均匀变化,没有突变的条件下,设定形态参数a,根据数据范围或者输入的周期T,按照式(4)计算周期参数ω1和ω2:式中,t用于控制三角函数图像形状;
根据输入的目标脱密精度RMS,由式(5)求取偏移量
式中,μ∈[0,1];
根据式(6)求取振幅参数b的初始值:
将计算得到的参数带入式(2)或(3)中建立三角函数脱密模型;
(24)样本点选择:以矢量地理数据和栅格地理数据的图幅范围作为全局样本,取x方向的宽度为xlength,y方向的宽度为ylength,设定间隔为interval,在全局样本中均匀的选取num=(xlength/interval)*(ylength/interval)个点作为计算全图中误差的样本点;
(25)中误差的迭代控制:采用步骤(23)建立的脱密模型对样本点ps(ssXi,ssYi),i=1,
2,...num做脱密处理,得到脱密后的样本点坐标Ts(tsXi,tsYi),i=1,2,....num,并由式(7)计算样本点的中误差RMSdecrypt:将RMSdecrypt与脱密指标d进行比较,如果|RMSdecrypt-d|>ε则根据式(8)调整b来缩放全图中误差:迭代步骤(23)~(25)直到中误差达到目标脱密精度,执行步骤(26);
(26)输出三角函数脱密模型用于脱密处理:输出模型的五参数a,b,ω1,ω2,(3)矢栅地理数据脱密处理(31)数据输入:将矢量地理数据的所有要素转化为点集Pi(xi,yi),作为输入,并创建与原始矢量地理数据具有相同数据格式和坐标系统的新矢量地理数据来存储脱密后的数据;
对于栅格地理数据需获取数据的六参数包括左上角点坐标sP0(x0,y0)、像元的长度pX和宽度pY、栅格行数Row和列数Col以及波段数量Band,并创建与原数据具有相同数据格式、空间参考和六参数的新栅格地理数据;
(32)矢量地理数据脱密处理:将步骤(31)获取的原数据点集Pi(xi,yi)带入步骤(26)输出的脱密模型中计算得到脱密后坐标 然后根据脱密后的点集重新创建要素,输入到脱密数据中;
(33)栅格地理数据脱密处理:循环处理所有波段的每个像元,将新图像的行列号tN(i,j),i=1,2,...,Col;j=1,2,...,Row带入式(9)中,计算其对应的坐标tPij(txij,tyij):根据步骤(26)输出的脱密模型转换得到原图像像元坐标sPij(sxij,syij),根据公式(10)计算原图像像元坐标对应的像元行列号sN(a,b):式中, 表示向上取整;
如果0≤a≤Col&&0≤b≤Row,提取原图像中像元对应的像素值vij,将像素值vij赋给tN(i,j)所对应的像元;如果a<0||a>Col||b<0||b>Row,将0赋给tN(i,j)所对应的像元:(34)输出脱密后数据:将脱密后的矢量地理数据和栅格地理数据叠加输出;
(4)建立三角函数恢复模型
将步骤(26)输出的脱密模型五参数代入式(11)和(12)中建立三角函数恢复模型:式(11)是x方向恢复,式(12)是y方向恢复,输出恢复模型用于脱密数据的恢复处理,根据脱密的方向选择采用x方向恢复还是y方向恢复;
(5)矢栅地理数据的恢复处理
(51)数据输入:将脱密矢量地理数据的所有要素转化为点集Pi(xi,yi),作为输入,并创建与脱密矢量地理数据具有相同数据格式和空间参考的新矢量地理数据来存储恢复数据;
获取脱密栅格地理数据的六参数包括左上角点坐标sP0(x0,y0)、像元的长度pX和宽度pY、栅格行数Row和列数Col以及波段数量Band,并创建与原数据具有相同数据格式、空间参考和六参数的新栅格地理数据;
(52)矢量地理数据恢复处理:将步骤(51)获取的矢量地理数据点集Pi(xi,yi)带入步骤(4)输出的恢复模型进行计算,得到恢复后坐标Pi′(xi′,yi′),根据恢复后的点集重新创建要素,并输入到矢量恢复数据中;
(53)栅格地理数据恢复处理:循环处理栅格地理数据的所有波段中的像元,将恢复数据的行列号tN(i,j),i=1,2,...,Col;j=1,2,...,Row代入式(9)中,计算其对应的坐标tPij(txij,tyij),根据步骤(4)输出的恢复模型将恢复数据坐标转换为脱密数据坐标sPij(sxij,syij);根据公式(10)计算原数据像元坐标对应的像元行列号sN(a,b),如果0≤a≤Col&&0≤b≤Row,提取脱密数据中该像素点对应的像素值vij,将像素值vij赋给tN(i,j)对应的像元;如果a<0||a>Col||b<0||b>Row,将0赋给tN(i,j)对应的像元;
(54)输出恢复数据:将恢复后的矢栅地理数据叠加输出。