一種高程數(shù)據(jù)脫密與恢復(fù)方法
【專利摘要】本發(fā)明公開了一種基于線性與非線性混合模型的高程數(shù)據(jù)脫密與恢復(fù)處理辦法,包括如下過程:(1)針對高程數(shù)據(jù)的脫密處理過程,包括非線性變換參數(shù)生成、線性參數(shù)生成、密鑰保存、原始高程數(shù)據(jù)脫密處理等步驟;(2)針對脫密后高程數(shù)據(jù)的恢復(fù)處理過程,包括密鑰讀取、脫密后高程數(shù)據(jù)恢復(fù)等步驟。本發(fā)明的方法能有效保障高程數(shù)據(jù)的安全,同時維持高程數(shù)據(jù)的相對位置關(guān)系基本不變,為國民經(jīng)濟(jì)建設(shè)中高程數(shù)據(jù)的使用提供有效的技術(shù)手段。
【專利說明】一種高程數(shù)據(jù)脫密與恢復(fù)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于地理信息安全領(lǐng)域,具體涉及一種基于線性與非線性混合模型進(jìn)行高程數(shù)據(jù)的脫密與恢復(fù)的方法。
【背景技術(shù)】
[0002]高程數(shù)據(jù)是國家機(jī)密數(shù)據(jù),事關(guān)國家安全,在全球信息化的大趨勢下,高程數(shù)據(jù)安全保護(hù)問題越來越突出。根據(jù)國家相關(guān)法律法規(guī),公開地圖的位置精度不高于50m,等高距不小于50m,數(shù)字高程模型格網(wǎng)不小于IOOm ;相關(guān)文獻(xiàn)中也提到地形景觀與特征、圖幅的最高點、主要山峰等制高點的地理位置及高程、沖溝比高、陡崖比高等影響較大的地貌信息應(yīng)刪除;某些地方數(shù)據(jù)標(biāo)準(zhǔn)中要求高程涉密圖層如等高線、高程點等涉密圖層信息應(yīng)進(jìn)行屏蔽處理,不予顯示。目前,我國對高程數(shù)據(jù)的處理多數(shù)是進(jìn)行刪除,不對外發(fā)布。而一些對外公布的高程數(shù)據(jù)不統(tǒng)一、不準(zhǔn)確、甚至相差很多,不利于國民經(jīng)濟(jì)建設(shè)中重要地理信息數(shù)據(jù)的使用。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的在于:針對高程數(shù)據(jù)的特點,提出一種線性與非線性混合模型對高程數(shù)據(jù)進(jìn)行脫密與恢復(fù)處理的方法,具有隨機(jī)性、可逆性和難以破解等特點。
[0004]為了實現(xiàn)上述目的,本發(fā)明采取的技術(shù)方案:
[0005]一種高程數(shù)據(jù)脫密與恢復(fù)方法,包括如下過程:
[0006](一)高程數(shù)據(jù)的脫密過程
[0007]步驟11:確定脫密變換量
[0008]輸入高程數(shù)據(jù)總體變換量sumpara和非線性變換量nonlinear,其中,O〈nonlinear〈=sumpara ;
[0009]步驟12:確定高程數(shù)據(jù)范圍
[0010]打開原始高程數(shù)據(jù)H,獲取其最小外接矩形R,其中,R左下角坐標(biāo)為(xmin,ymin),右上角坐標(biāo)為(X_, Ymax );
[0011]步驟13:計算非線性變換參數(shù)ad、ap a2、a3、a4、a5、非線性變換縮放系數(shù)scale和線性變換量linear,具體步驟如下:
[0012]a)獲取高程點數(shù)據(jù),設(shè)高程點集合為Points= ((Pxi, Pyi, Pzi) | i=l,2,...,k},其中k為高程點個數(shù);
[0013]b)判斷高程點數(shù)量,如果k〈6,則返回錯誤,否則根據(jù)公式(I)對高程點集合Points進(jìn)行最小二乘解算,得到非線性變換參數(shù)a。、a” a2、a3、a4、a5 ;
[0014]Pzi=a0+a1Pxi+a2Pyi+a3Pxi2+a4PxiPyi+a5Pyi2 (I)
[0015]c)在最小外接矩形R范圍內(nèi)生成m*n個均勻樣本點組成樣本點集合SamplePoints= ((Sxj, Syj) j=l,2,..., num},其中m是X方向樣本點數(shù)量,η是Y方向樣本點數(shù)量,m>=3, n>=3, num=m*n,根據(jù)公式(2)和非線性變換參數(shù)a。、a” a2、a3、a4、a5計算樣本點高程值,得到三維樣本點集合 SamplePoints= {(Sxj, Syj, Szj) j=l, 2,..., num};
[0016]SzJ=a0+a1SxJ+a2SyJ+a3SxJ2+a4SxJSyJ+a5SyJ2 (2)
[0017]d)遍歷三維樣本點集合SamplePoints,獲取其高程值中的最大值hMax和最小值hMin,根據(jù)公式(3)計算高程非線性變換放大或縮小倍數(shù)scale,
[0018]scale=nonlinear/ (hMax-hMin) (3)
[0019]e)遍歷三維樣本點集合SamplePoints,根據(jù)公式(4)計算每個樣本點新的高程值,生成新的三維樣本點集合 SamplePoints’ = {(Sxj, Syj, Sz/ ) j=l, 2,..., num},
[0020]Sz/ =Szfscale (4)
[0021]f )根據(jù)公式(5)計算高程線性變換量linear,
num
[0022]linear = Sumpara- ^Szj'/num(5)
j=o [0023]步驟14:修改原始數(shù)據(jù)高程值,具體步驟如下:
[0024]a)根據(jù)公式(6)和非線性變換參數(shù)a。、B1 > a2、a3、a4、a5計算利用原始高程點擬合的高程值Pz/ ;
[0025]Pz/ =a0+a1Pxi+a2Pyi+a3Pxi2+a4PxiPyi+a5Pyi2 (6)
[0026]b)根據(jù)公式(7)計算脫密后高程點集合Points中高程值Pzi”,生成脫密后的高程點集合 Points’ =KPxi, Pyi, Pz/,) | i=l,2,..., k};
[0027]Pzi" =Pz^Pzi' *scale+l inear (7)
[0028]步驟15:根據(jù)公式(8)計算高程脫密中誤差RMSE,
[0029]RMSE= [^(IV-Pzi)Vnum(8)
V i=0
[0030]步驟16:保存脫密后的高程數(shù)據(jù)DH,非線性變換參數(shù)%-&5及非線性變換放大或縮小倍數(shù)scale、線性變換量linear,并組成密鑰Key,使用DES對稱加密算法對密鑰Key進(jìn)行加密并存入密鑰文件Key.txt ;
[0031](二)脫密后高程數(shù)據(jù)的恢復(fù)過程
[0032]步驟21:讀取密鑰文件Key.txt,使用DES算法解密后提取密鑰Key ;
[0033]步驟22:打開脫密后的高程數(shù)據(jù)DH,獲取脫密后的高程點集合Points’ =KPxi, Pyi, Pz/,) | i=l,2,...,k},根據(jù)密鑰中非線性變換參數(shù)a0_a5和公式(6)計算利用高程點擬合的高程值Pz/ ;
[0034]步驟23:根據(jù)公式(9)及密鑰和生成的高程值Pz/計算每個高程點恢復(fù)后的高程值 Pzi,生成恢復(fù)后的高程點集合 Points= ((Pxi, Pyi, Pz/,) | i=l,2,..., k},
[0035]Pzi=Pzi" -Pzi' *scale_linear (9)
[0036]步驟24:保存恢復(fù)后的高程數(shù)據(jù)RH。
[0037]本發(fā)明提出了一種基于線性與非線 性混合模型對高程數(shù)據(jù)進(jìn)行脫密與恢復(fù)處理。本方法針對高程數(shù)據(jù)的安全保護(hù)問題,可對高程數(shù)據(jù)進(jìn)行脫密并生成密鑰,脫密后的高程數(shù)據(jù)依據(jù)密鑰可進(jìn)行無損恢復(fù)。本方法具有隨機(jī)性、漸變性、可逆性等特點,提高了高程數(shù)據(jù)脫密的可靠性,完善了地理信息安全保護(hù)的理論與方法體系,可用于高程數(shù)據(jù)的公開發(fā)布等方面?!緦@綀D】
【附圖說明】
[0038]圖1是本發(fā)明技術(shù)中高程數(shù)據(jù)脫密流程圖;
[0039]圖2是本發(fā)明技術(shù)中脫密后高程數(shù)據(jù)的恢復(fù)流程圖;
[0040]圖3是本發(fā)明實施例選用的原始高程數(shù)據(jù);
[0041]圖4是本發(fā)明實施例中原始高程數(shù)據(jù)和脫密后高程數(shù)據(jù)疊加的效果圖。
【具體實施方式】
[0042]下面結(jié)合附圖和實施例,對本發(fā)明做進(jìn)一步詳細(xì)說明。
[0043]本實施例選擇存儲高程信息的Shp格式數(shù)據(jù),對此高程數(shù)據(jù)進(jìn)行讀取、脫密與恢復(fù)操作,進(jìn)一步詳細(xì)說明本發(fā)明。本實施例選擇某一地區(qū)的高程數(shù)據(jù)(如圖3)作為原始高程數(shù)據(jù),包括以下步驟:
[0044](一)高程數(shù)據(jù)的脫密過程
[0045]步驟11:確定脫密變換量,輸入高程數(shù)據(jù)總體變換量sumpara=50,非線性變換量nonlinear=20o
[0046]步驟12:確定高程數(shù)據(jù)范圍。
[0047]打開原始高程數(shù)據(jù)H,獲取其最小外接矩形R,R左下角坐標(biāo)為(141577.585,155000.146),右上角坐標(biāo)為(141998.033,155110.818)。
[0048]步驟13:計算非線性變換參數(shù)a。、B1, a2、a3、a4、a5,非線性變換縮放系數(shù)scale和線性變換量linear,具體步驟如下:
[0049]a)獲取高程點數(shù)據(jù),設(shè)高程點集合為Points= ((Pxi, Pyi, Pzi) | i=l,2,...,k},原始高程數(shù)據(jù)中含有54個點,即k=54 ;
[0050]b)判斷高程點數(shù)量,因為k>6,所以根據(jù)公式(I)對高程點集合Points進(jìn)行最小二乘解算,得到非線性變換參數(shù)a0=37700253.9824946,&1=-169.496814603265,a2=-331.179406500571, a3=0.000390428498003928, a4=0.000378834101406952,a5=0.000894502471199572 ;
[0051]c)在最小外接矩形R范圍內(nèi)生成5*5個均勻樣本點組成樣本點集合 SamplePoints= {(SXj, Syj) I j=l, 2,num},其中 num=25,根據(jù)公式(2)和非線性變換參數(shù)參數(shù)a。、a” a2、a3、a4、a5計算樣本點高程值得到三維樣本點集合SamplePoints= {(Sxj, Syj, Szj) | j=l,2,...,num};
[0052]d)遍歷三維樣本點集合SamplePoints,獲取其高程值中的最大值hMax=84.6063826978207 和最小值 hMin=46.5374782718718,根據(jù)公式(3)計算高程非線性變換放大或縮小倍數(shù)scale=0.525363161918771 ;
[0053]e)遍歷三維樣本點集合SamplePoints,根據(jù)公式(4)計算每個樣本點新的高程值,生成新的三維樣本點集合 SamplePoints= {(Sxj, Syj, Sz/ ) j=l, 2,..., num};
[0054]f)根據(jù)公式(5)計算高程線性變換量linear=19.6364626611889。
[0055]步驟14:修改原始數(shù)據(jù)高程值,具體步驟如下:
[0056]a)根據(jù)公式(6)和非線性變換參數(shù)a。、a” a2、a3、a4、a5計算利用原始高程點擬合的高程值Pz/,取原始高程中一點P (141705.379,155019.834,74.6),其擬合的高程值為58.5472699590027 ;
[0057]b)根據(jù)公式(7)計算脫密后高程點集合Points中高程值Ρζ/,=124.995041528562,生成脫密后的高程點集合 Points’ ={ (Pxi, Pyi, PziO 11=1,2,...,54};
[0058]步驟15:根據(jù)公式(8)計算高程脫密中誤差RMSE=47.2365688607939。
[0059]步驟16:保存脫密后的高程數(shù)據(jù)DH,非線性變換參數(shù)%-&5及非線性變換放大或縮小倍數(shù)scale、線性變換量linear,并組成密鑰Key,使用DES對稱加密算法對密鑰Key進(jìn)行加密并存入密鑰文件Key.txt。
[0060](二)脫密后高程數(shù)據(jù)的恢復(fù)過程
[0061]步驟21:讀取密鑰文件Key.txt,使用DES對稱加密算法解密后提取密鑰Key。
[0062]步驟22:打開脫密后的高程數(shù)據(jù)DH,獲取脫密后的高程點集合Points’ =KPxi, Pyi, Pz/,) | i=l,2,...,k},根據(jù)密鑰中參數(shù)a0_a5和公式(6)計算利用高程點擬合的高程值Pz/,選取脫密后高程中一點P’ (141705.379, 155019.834, 124.995041528562),計算擬合的高程值為58.5472699590027。
[0063]步驟23:由密鑰和生成的高程值Pz/,根據(jù)公式(9)計算每個高程點恢復(fù)后的高程值 Pzi= {74.6,...},生成恢復(fù)后的高程點集合 Points= {(Pxi, Pyi, Pzi") | i=l,2,...,54}。
[0064]步驟24:保存恢復(fù)后的高程數(shù)據(jù)RH。
[0065]本發(fā)明實施例中僅以Shp格式高程數(shù)據(jù)為例進(jìn)行脫密與恢復(fù)操作,該方法也可用于數(shù)字高程模型等其他格式高程數(shù)據(jù)。
[0066]本發(fā)明可根據(jù)高程數(shù)據(jù)脫密變換量進(jìn)行高程脫密,脫密后的高程數(shù)據(jù)可根據(jù)密鑰進(jìn)行無損恢復(fù)。本發(fā)明的方法能有效保障高程數(shù)據(jù)的安全,同時維持高程數(shù)據(jù)的相對位置關(guān)系基本不變,為國民經(jīng)濟(jì)建設(shè)中高程數(shù)據(jù)的使用提供有效的技術(shù)手段。
【權(quán)利要求】
1.一種高程數(shù)據(jù)脫密與恢復(fù)方法,其特征在于,包括如下過程: (一)高程數(shù)據(jù)的脫密過程 步驟11:確定脫密變換量 輸入高程數(shù)據(jù)總體變換量sumpara和非線性變換量nonlinear,其中,CKnonlinear〈=sumpara ; 步驟12:確定高程數(shù)據(jù)范圍 打開原始高程數(shù)據(jù)H,獲取其最小外接矩形R,其中,R左下角坐標(biāo)為(xmin,ymin),右上角坐標(biāo)為(xmax,ymax); 步驟13:計算非線性變換參數(shù)a。、a” a2、a3、a4、a5、非線性變換縮放系數(shù)scale和線性變換量linear,具體步驟如下: a)獲取高程點數(shù)據(jù),設(shè)高程點集合為Points={(Pxi, Pyi, Pzi) i=l,2,...,k},其中k為高程點個數(shù); b)判斷高程點數(shù)量,如果k〈6,則返回錯誤,否則根據(jù)公式(I)對高程點集合Points進(jìn)行最小二乘解算,得到非線性變換參數(shù)a。、B1^a2, a3、a4、a5 ;
Pzi=a0+a1Pxi+a2Pyi+a3Pxi2+a4PxiPyi+a5Pyi2 (I) c)在最小外接矩形R范圍內(nèi)生成m*n個均勻樣本點組成樣本點集合SamplePoints= ((Sxj, Syj) j=l,2,..., num},其中m是X方向樣本點數(shù)量,η是Y方向樣本點數(shù)量,m>=3, n>=3, num=m*n,根據(jù)公式(2)和非線性變換參數(shù)a。、a” a2、a3、a4、a5計算樣本點高程值,得到三維樣本點集合 SamplePoints= {(Sxj, Syj, Szj) j=l, 2,..., num};
SzJ=a0+a1SxJ+a2SyJ+a3SxJ2+a4SxJSyJ+a5SyJ2 (2) d)遍歷三維樣本點集合SamplePoints,獲取其高程值中的最大值hMax和最小值hMin,根據(jù)公式(3)計算高程非線性變換放大或縮小倍數(shù)scale, scale=nonlinear/ (hMax-hMin) (3) e)遍歷三維樣本點集合SamplePoints,根據(jù)公式(4)計算每個樣本點新的高程值,生成新的三維樣本點集合 SamplePoints’ =KSxj, Syj, Sz/ ) | j=l, 2,, num}, Sz/ =SzjAscale (4) f)根據(jù)公式(5)計算高程線性變換量linear,
【文檔編號】G06F21/60GK103559452SQ201310526900
【公開日】2014年2月5日 申請日期:2013年10月30日 優(yōu)先權(quán)日:2013年10月30日
【發(fā)明者】周衛(wèi), 王芙蓉, 高隆杰, 高奮生, 王海榮 申請人:南京師范大學(xué)