[go: up one dir, main page]

CN103067159B - A kind of reversible DecryptDecryption method of GIS vector data - Google Patents

A kind of reversible DecryptDecryption method of GIS vector data Download PDF

Info

Publication number
CN103067159B
CN103067159B CN201210586283.3A CN201210586283A CN103067159B CN 103067159 B CN103067159 B CN 103067159B CN 201210586283 A CN201210586283 A CN 201210586283A CN 103067159 B CN103067159 B CN 103067159B
Authority
CN
China
Prior art keywords
prime
key
formula
control point
accuracy
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.)
Expired - Fee Related
Application number
CN201210586283.3A
Other languages
Chinese (zh)
Other versions
CN103067159A (en
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 CN201210586283.3A priority Critical patent/CN103067159B/en
Publication of CN103067159A publication Critical patent/CN103067159A/en
Application granted granted Critical
Publication of CN103067159B publication Critical patent/CN103067159B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种GIS矢量数据可逆脱密方法,属于地理信息安全领域。该方法包括如下过程:(1)密钥生成过程,包括确定数据范围、确定数据变换量、计算线性变换量引起的中误差并确定参数、计算非线性变换量引起的中误差并确定参数、用非对称加密算法RSA对密钥Key进行加密并存入密钥文件;(2)脱密过程,包括读取密钥文件,解密并提取密钥;打开原始矢量数据;获取要素点坐标集合;坐标归一化;循环处理;(3)恢复过程。本发明的方法具有随机性、渐变性、可逆性等特点,提高了GIS矢量数据脱密的可靠性,完善了地理信息安全保护的理论与方法体系,可用于GIS矢量数据的公开发布等方面。

The invention discloses a reversible decryption method for GIS vector data, which belongs to the field of geographic information security. The method includes the following processes: (1) The key generation process, including determining the data range, determining the data transformation amount, calculating the medium error caused by the linear transformation quantity and determining the parameters, calculating the medium error caused by the nonlinear transformation quantity and determining the parameters, and using The asymmetric encryption algorithm RSA encrypts the key Key and stores it in the key file; (2) Decryption process, including reading the key file, decrypting and extracting the key; opening the original vector data; obtaining the coordinate set of feature points; Normalization; loop processing; (3) recovery process. The method of the present invention has the characteristics of randomness, gradual change, reversibility, etc., improves the reliability of GIS vector data decryption, improves the theory and method system of geographic information security protection, and can be used for the public release of GIS vector data and the like.

Description

一种GIS矢量数据可逆脱密方法A Reversible Decryption Method for GIS Vector Data

技术领域technical field

本发明属于地理信息安全领域,具体涉及一种针对GIS矢量数据的可逆脱密方法。The invention belongs to the field of geographic information security, and in particular relates to a reversible decryption method for GIS vector data.

背景技术Background technique

测绘地理信息事关拓展发展空间,事关国家安全。尤其在全球信息化的大趋势下,地理信息安全保护问题越来越突出。矢量数据具有精度高、输出质量好、数据量小等特点,应用十分广泛,其安全保护研究十分重要。Surveying and mapping geographic information is related to expanding development space and national security. Especially under the general trend of global informatization, the issue of geographic information security protection is becoming more and more prominent. Vector data has the characteristics of high precision, good output quality, and small data volume. It is widely used, and its security protection research is very important.

根据国家相关法律法规,矢量数据公开使用需要经过脱密处理,脱密包括空间精度脱密和属性脱密两个方面。空间精度脱密使用专业脱密技术进行要素的位移,降低其精度,且脱密后的数据在没有密钥的情况下不易恢复。目前常用的空间精度脱密方法包括投影转换法、空间变换法、随机误差干扰法等。投影转换法是可逆的;数据空间变换法包括相似变换、仿射变换和射影变换等,这几种变换方法是线性变换,易于恢复,脱密处理的可靠性差;随机误差干扰法有的会存在不能保证要素的拓扑关系或算法不可逆等缺点。According to the relevant laws and regulations of the country, the public use of vector data needs to be declassified. The declassification includes two aspects: spatial precision declassification and attribute declassification. Spatial precision decryption uses professional decryption technology to displace elements, reducing its accuracy, and the declassified data is not easy to recover without a key. At present, the commonly used spatial precision declassification methods include projection transformation method, spatial transformation method, random error interference method and so on. The projection transformation method is reversible; the data space transformation method includes similar transformation, affine transformation and projective transformation, etc. These transformation methods are linear transformations, easy to recover, and the reliability of decryption processing is poor; some random error interference methods will exist Disadvantages such as the topological relationship of the elements or the irreversibility of the algorithm cannot be guaranteed.

发明内容Contents of the invention

本发明针对现有脱密方法存在的缺陷,提供一种非线性混合模型对矢量数据进行脱密处理的方法,具有误差的随机性、要素关系的拓扑性、算法的可逆性和难以破解等特点。Aiming at the defects existing in the existing decryption methods, the present invention provides a method for decrypting vector data with a nonlinear mixed model, which has the characteristics of randomness of errors, topology of element relationships, reversibility of algorithms, and difficulty in deciphering. .

一种GIS矢量数据可逆脱密方法,以线图层为例,包括如下过程:A method for reversible decryption of GIS vector data, taking a line layer as an example, includes the following process:

(一)密钥生成过程(1) Key generation process

步骤11,确定数据范围:获取原始矢量数据V的最小外接矩形R,R左下角坐标为(xmin,ymin),右上角坐标为(xmax,ymax),根据公式(1)得数据中心点坐标(xmid,ymid)、数据长度XL和数据宽度YL;Step 11, determine the data range: obtain the minimum circumscribed rectangle R of the original vector data V, the coordinates of the lower left corner of R are (x min , y min ), the coordinates of the upper right corner are (x max , y max ), and the data are obtained according to formula (1) Center point coordinates (x mid , y mid ), data length XL and data width YL;

xx midmiddle == (( xx minmin ++ xx maxmax )) // 22 ythe y midmiddle == (( ythe y minmin ++ ythe y maxmax )) // 22 XLXL == xx maxmax -- xx minmin YLYL == ythe y maxmax -- ythe y minmin -- -- -- (( 11 ))

步骤12,确定数据变换量:具体步骤如下:输入数据总体变换量offset,offset>0,非线性变换量nonlinear,0<nonlinear<=offset,根据公式(2)得到线性变换量linear;Step 12, determine the amount of data transformation: the specific steps are as follows: the overall transformation amount offset of the input data, offset>0, the nonlinear transformation amount nonlinear, 0<nonlinear<=offset, and the linear transformation amount linear is obtained according to formula (2);

linearlinear == offsetoffset 22 -- nonlinearnonlinear 22 -- -- -- (( 22 ))

步骤13,计算线性变换量linear引起的中误差,确定影响变换效果的参数:焦距f、航高H、偏角倾角ω、旋角κ,具体步骤如下:Step 13, calculate the medium error caused by the linear transformation amount linear, and determine the parameters that affect the transformation effect: focal length f, flying height H, deflection angle Inclination ω, rotation κ, the specific steps are as follows:

c)焦距f∈(0,1),c) focal length f ∈ (0, 1),

d)根据公式(3)计算航高H,d) Calculate flight height H according to formula (3),

Hh == XLXL ** YLYL // ff -- -- -- (( 33 ))

c)根据公式(4)计算线性变化量linear的扰动范围linearExtent,c) Calculate the disturbance range linearExtent of the linear variation linear according to formula (4),

linearExtentlinearExtent == linearlinear -- -- -- (( 44 ))

d)生成控制点集合,具体步骤如下:在最小外接矩形R范围内生成m*n(m*n>=6)个均匀控制点组成源控制点集合FromPoints={(Fxi,Fyi)|i=1,2,...m*n};根据公式(5)计算每个目标控制点坐标(Txi,Tyi)组成目标控制点集合ToPoints={(Txi,Tyi)|i=1,2,...m*n},d) Generate a set of control points, the specific steps are as follows: Generate m*n (m*n>=6) uniform control points within the range of the smallest circumscribed rectangle R to form a source control point set FromPoints={(Fx i , Fy i )| i=1, 2,...m*n}; Calculate each target control point coordinates (Txi, Ty i ) according to the formula (5) to form a set of target control points ToPoints={(Txi, Ty i ) | i =1,2,...m*n},

TxTx ii == FxFx ii ++ dirdir 11 &times;&times; linearlinear ++ randomrandom 11 &times;&times; linearExtentlinearExtent TyTy ii == FyFy ii ++ dirdir 22 &times;&times; linearlinear ++ randomrandom 22 &times;&times; linearExtentlinearExtent -- -- -- (( 55 ))

其中:方向参数dir1在[0.0,1.0]范围内,方向参数控制点扰动参数random1和random2在[-1.0,1.0]范围内随机选取,Among them: the direction parameter dir 1 is in the range of [0.0, 1.0], the direction parameter The control point disturbance parameters random 1 and random 2 are randomly selected in the range [-1.0, 1.0],

e)坐标归一化,根据公式(6)对源控制点集合FromPoints和目标控制点集合ToPoints进行归一化处理得到新坐标集合FromPoints’={(Fxi’,Fyi’)|i=1,2,...m*n},ToPoints’={(Txi’,Tyi’)|i=1,2,...m*n},e) Coordinate normalization, according to the formula (6), the source control point set FromPoints and the target control point set ToPoints are normalized to obtain a new coordinate set FromPoints'={(Fx i ', Fy i ')|i=1 , 2,...m*n}, ToPoints'={(Tx i ', Ty i ')|i=1, 2,...m*n},

FxFx ii &prime;&prime; == (( FxFx ii -- xx midmiddle )) ** ff // Hh FyFy ii &prime;&prime; == (( FyFy ii -- ythe y midmiddle )) ** ff // Hh TxTx ii &prime;&prime; == (( TxTx ii -- xx midmiddle )) ** ff // Hh TyTy ii &prime;&prime; == (( TyTy ii -- ythe y midmiddle )) ** ff // Hh -- -- -- (( 66 ))

f)计算偏角倾角ω、旋角κ,根据公式(7)利用最小二乘法对FromPoints’中源控制点和ToPoints’中目标控制点进行拟合解算得到偏角倾角ω、旋角κ,f) Calculation of declination Inclination ω and rotation κ, according to the formula (7), use the least squares method to fit and solve the source control point in FromPoints' and the target control point in ToPoints' to obtain the deflection angle Inclination ω, rotation κ,

g)计算线性变换中误差accuracy1,具体步骤如下:根据公式(8)转换源控制点集合FromPoints’坐标得到目标控制点集合ToPoints”={(Txi”,Tyi”)|i=1,2,...m*n},g) Calculating the error accuracy 1 in the linear transformation, the specific steps are as follows: convert the coordinates of the source control point set FromPoints' according to the formula (8) to obtain the target control point set ToPoints"={(Tx i ", Ty i ")|i=1, 2,...m*n},

根据公式(9)计算中误差accuracy1,Calculate the medium error accuracy1 according to the formula (9),

accuracyaccuracy 11 == &Sigma;&Sigma; (( (( TxTx ii &prime;&prime; &prime;&prime; -- FxFx ii )) 22 ++ (( TyTy ii &prime;&prime; &prime;&prime; -- FyFy ii )) 22 )) // (( mm ** nno )) -- -- -- (( 99 ))

h)调节目标控制点集合,具体步骤如下:如果|linear/accuracy1-1|>0.01,则根据公式(10)调节每个原目标控制点坐标(Txi,Tyi),得到新的目标控制点坐标(NTxi,NTyi),用新的目标控制点替代原目标控制点即Txi=NTxi、Tyi=NTyi,得到目标控制点集合ToPoints={(Txi,Tyi)|i=1,2,...m*n},h) Adjust the set of target control points, the specific steps are as follows: If |linear/accuracy 1 -1|>0.01, adjust the coordinates (Tx i , Ty i ) of each original target control point according to formula (10) to obtain a new target Control point coordinates (NTx i , NTy i ), replace the original target control point with a new target control point, that is, Txi = NTxi , Ty i = NTy i , and get the set of target control points ToPoints={(Txi , Ty i ) |i=1,2,...m*n},

NTxNTx ii == FxFx ii ++ (( linearlinear // accuracyaccuracy )) (( TxTx ii -- FxFx ii )) NTyNTy ii == FyFy ii ++ (( linearlinear // accuracyaccuracy )) (( TyTy ii -- FyFy ii )) -- -- -- (( 1010 ))

i)循环步骤e)-h)直至|linear/accuracy1-1|<=0.01,得到最终的偏角倾角ω、旋角κ;i) Repeat steps e)-h) until |linear/accuracy 1 -1|<=0.01 to get the final declination Inclination ω, rotation κ;

步骤14,计算非线性变换量nonlinear引起的中误差,确定参数j0-j5,具体步骤如下:Step 14, calculate the medium error caused by the nonlinear transformation amount nonlinear, and determine the parameters j 0 -j 5 , the specific steps are as follows:

b)生成控制点高程,利用公式(11)计算源控制点集合FromPoints每个点位移nonlinear所需的高程Fzi,生成三维源控制点集合FromPoints={(Fxi,Fyi,Fzi)|i=1,2,...m*n},b) Generate control point elevations, use formula (11) to calculate the elevation Fz i required for each point displacement nonlinear of the source control point set FromPoints, and generate a three-dimensional source control point set FromPoints={(Fx i , Fy i , Fz i )| i=1,2,...m*n},

FzFz ii == Hh ** nonlinearnonlinear // (( xx midmiddle -- FxFx ii )) 22 ++ (( ythe y midmiddle -- FyFy ii )) 22 -- -- -- (( 1111 ))

b)根据公式(12)对生成的三维源控制点集合FromPoints进行最小二乘解算,得到参数j0-j5b) According to the formula (12), perform the least squares calculation on the generated 3D source control point set FromPoints, and obtain the parameters j 0 -j 5 ,

Fzi=j0+j1Fxi+j2Fyi+j3Fxi 2+j4Fyi 2+j5FxiFyi(12)Fz i =j 0 +j 1 Fx i +j 2 Fy i +j 3 Fx i 2 +j 4 Fy i 2 +j 5 Fx i Fy i (12)

c)计算非线性变换中误差accuracy2,具体步骤如下:根据公式(12)和参数j0-j5解算每个源控制点的Fzi值,保存到三维源控制点集合FromPoints中,根据公式(13)对三维源控制点集合FromPoints进行计算得到目标控制点集合ToPoints={(Txi,Tyi)|i=1,2,...m*n},c) Calculating the error accuracy 2 in the nonlinear transformation, the specific steps are as follows: Calculate the Fz i value of each source control point according to formula (12) and parameters j 0 -j 5 , save it in the three-dimensional source control point set FromPoints, according to Formula (13) calculates the three-dimensional source control point set FromPoints to obtain the target control point set ToPoints={(Tx i , Ty i )|i=1, 2,...m*n},

TxTx ii == (( -- ff (( FxFx ii -- xx midmiddle )) // (( FzFz ii -- Hh )) )) ** Hh // ff ++ xx midmiddle TyTy ii == (( -- ff (( FyFy ii -- ythe y midmiddle )) // (( FzFz ii -- Hh )) )) ** Hh // ff ++ ythe y midmiddle -- -- -- (( 1313 ))

根据公式(14)计算中误差accuracy2Calculate the medium error accuracy 2 according to formula (14),

accuracyaccuracy 22 == &Sigma;&Sigma; (( (( TxTx ii -- FxFx ii )) 22 ++ (( TyTy ii -- FyFy ii )) 22 )) // (( mm ** nno )) -- -- -- (( 1414 ))

d)调节源控制点高程值,如果|nonlinear/accuracy2-1|>0.01,则根据公式(15)调节每个源控制点坐标高程值,得到新的高程值NFzi,用新高程值替代原高程值即Fzi=NFzi,得到三维源控制点集合FromPoints={(Fxi,Fyi,Fzi)|i=1,2,...m*n},d) Adjust the elevation value of the source control point. If |nonlinear/accuracy 2 -1|>0.01, adjust the coordinate elevation value of each source control point according to formula (15) to obtain a new elevation value NFzi, and replace the original elevation value with the new elevation value The elevation value is Fzi=NFzi, and the three-dimensional source control point set FromPoints={(Fx i , Fy i , Fz i )|i=1, 2,...m*n} is obtained,

NFzNFz ii &Element;&Element; (( FzFz ii // 22 ,, (( nonlinearnonlinear // accuracyaccuracy 22 )) ** FzFz ii )) ifif (( nonlinearnonlinear // accuracyaccuracy 22 >> 11 )) NFzNFz ii &Element;&Element; (( (( nonlinearnonlinear // accuracyaccuracy 22 )) ** FzFz ii // 22 ,, FzFz ii )) ifif (( nonlinearnonlinear // accuracyaccuracy 22 << 11 )) -- -- -- (( 1515 ))

e)循环步骤b)-d),直至|nonlinear/accuracy2-1|<=0.01,得到最终参数j0-j5e) Repeat steps b)-d) until |nonlinear/accuracy 2 -1|<=0.01, to obtain the final parameters j 0 -j 5 ;

步骤15,焦距f、航高H、偏角倾角ω、旋角κ、数据中心点坐标(xmid,ymid)、参数j0-j5组成密钥Key,用非对称加密算法RSA对密钥Key进行加密并存入密钥文件Key.txt;Step 15, focal length f, flying height H, deflection angle Inclination ω, rotation κ, data center point coordinates (x mid , y mid ), and parameters j 0 -j 5 form the key Key, which is encrypted with the asymmetric encryption algorithm RSA and stored in the key file Key. txt;

(二)脱密过程(2) Decryption process

步骤21,读取密钥文件Key.txt,解密后提取密钥Key,打开原始矢量数据V;Step 21, read the key file Key.txt, extract the key Key after decryption, and open the original vector data V;

步骤22,生成每个点高程值zj,转换坐标,具体步骤如下:Step 22, generate the elevation value z j of each point, and transform the coordinates, the specific steps are as follows:

a)提取矢量数据V的要素点坐标,得到要素点坐标集合P={(xj,yj,zj)|j=1,2,...,k},其中k为要素包含的点个数,a) Extract the element point coordinates of the vector data V, and obtain the element point coordinate set P={(x j , y j , z j )|j=1, 2, ..., k}, where k is the point contained in the element number,

b)根据密钥Key和公式(16)循环计算集合P中每一个点坐标pj(xj,yj,zj)的高程值zj并保存到集合P中,b) According to the key Key and the formula (16), the elevation value z j of each point coordinate p j (x j , y j , z j ) in the set P is cyclically calculated and saved in the set P,

zj=j0+j1xj+j2yj+j3xj 2+j4yj 2+j5xjyj(16)z j =j 0 +j 1 x j +j 2 y j +j 3 x j 2 +j 4 y j 2 +j 5 x j y j (16)

c)根据公式(17)和密钥Key,对每个点坐标pj(xj,yj,zj)进行计算,得到点坐标集合P’={(xj’,yj’,zj)|j=1,2,...,k};c) According to the formula (17) and the key Key, calculate the coordinates p j (x j , y j , z j ) of each point, and obtain the set of point coordinates P'={(x j ', y j ', z j )|j=1,2,...,k};

步骤23,坐标归一化,根据密钥Key和公式(18)对每个点坐标pj’(xj’,yj’,zj)进行归一化处理得到脱密后点坐标集合P”={(xj”,yj”,zj)|j=1,2,...,k};Step 23, coordinate normalization, according to the key Key and formula (18), normalize each point coordinate p j '(x j ', y j ', z j ) to obtain the decrypted point coordinate set P "={(x j ", y j ", z j )|j=1, 2, ..., k};

xx jj &prime;&prime; &prime;&prime; == xx midmiddle ++ xx jj &prime;&prime; ** Hh // ff ythe y jj &prime;&prime; &prime;&prime; == ythe y midmiddle ++ ythe y jj &prime;&prime; ** Hh // ff -- -- -- (( 1818 ))

步骤24,循环步骤22到23,直至每个要素处理完毕,保存脱密后的数据文件W;Step 24, loop steps 22 to 23, until each element is processed, save the data file W after decryption;

(三)恢复过程(3) Recovery process

步骤31,读取密钥文件Key.txt,解密后提取密钥Key,打开脱密后的矢量数据W;Step 31, read the key file Key.txt, extract the key Key after decryption, and open the decrypted vector data W;

步骤32,坐标归一化,具体步骤如下:Step 32, coordinate normalization, the specific steps are as follows:

a)提取矢量数据W的要素点坐标,得到坐标集合P”={(xj”,yj”,zj)|j=1,2,...,k},a) Extract the coordinates of the element points of the vector data W, and obtain the coordinate set P”={(x j ”, y j ”, z j )|j=1, 2, ..., k},

b)根据密钥Key和公式(19),对集合P”集合中每个点坐标pj”(xj”,yj”,zj)进行归一化处理生成点坐标集合P’={(xj’,yj’,zj)|j=1,2,...,k;b) According to the key Key and formula (19), normalize the coordinates p j ”(x j ”, y j ”, z j ) of each point in the set P” to generate a set of point coordinates P’={ (x j ', y j ', z j )|j=1, 2, ..., k;

xx jj &prime;&prime; == (( xx jj &prime;&prime; &prime;&prime; -- xx midmiddle )) ** ff // Hh ythe y jj &prime;&prime; == (( ythe y jj &prime;&prime; &prime;&prime; -- ythe y midmiddle )) ** ff // Hh -- -- -- (( 1919 ))

步骤33,转换坐标,根据公式(20)和密钥Key对每个点坐标pj’(xj’,yj’,zj)进行计算,然后将高程值zj置零,得到恢复后的点坐标pj(xj,yj,0),生成坐标集合P={(xj,yj,0)|j=1,2,...,k};Step 33, convert the coordinates, calculate the coordinates p j '(x j ', y j ', z j ) of each point according to the formula (20) and the key Key, and then set the elevation value z j to zero, and get the recovered Point coordinates p j (x j , y j , 0), generate coordinate set P={(x j , y j , 0)|j=1, 2,..., k};

步骤34,循环步骤32到33,直至每个要素处理完毕,保存恢复后的数据文件Q。Step 34, loop steps 32 to 33 until each element is processed, and save the restored data file Q.

本发明提出了一种非线性混合模型对GIS矢量数据进行脱密与恢复处理。本方法针对GIS矢量数据的安全保护问题,在保证矢量数据拓扑关系不发生改变的前提下,根据密钥可对数据进行脱密,脱密后的数据依据密钥可进行无损恢复。本方法具有随机性、渐变性、可逆性等特点,提高了GIS矢量数据脱密的可靠性,完善了地理信息安全保护的理论与方法体系,可用于GIS矢量数据的公开发布等方面。The invention proposes a nonlinear mixed model to decipher and recover GIS vector data. This method aims at the security protection problem of GIS vector data, under the premise of ensuring that the topological relationship of the vector data does not change, the data can be decrypted according to the key, and the decrypted data can be restored without loss according to the key. This method has the characteristics of randomness, gradual change, and reversibility, which improves the reliability of GIS vector data decryption, improves the theory and method system of geographic information security protection, and can be used in the public release of GIS vector data.

附图说明Description of drawings

图1是本发明方法脱密过程流程图。Fig. 1 is a flow chart of the decryption process of the method of the present invention.

图2是本发明方法恢复过程流程图。Fig. 2 is a flowchart of the recovery process of the method of the present invention.

图3是本发明实施例选用的原始矢量数据。Fig. 3 is the original vector data selected by the embodiment of the present invention.

图4是本发明原始数据和脱密后矢量数据叠加的效果图。Fig. 4 is an effect diagram of superposition of the original data and the decrypted vector data according to the present invention.

具体实施方式detailed description

下面结合附图对本发明的实施例做详细说明。Embodiments of the present invention will be described in detail below in conjunction with the accompanying drawings.

本实施例选择shp格式矢量数据,对数据进行读取、脱密与恢复操作,进一步详细说明本发明。本实施例选择某一建筑的shp线图层数据(如图3)作为原始矢量数据,包括以下步骤:In this embodiment, the vector data in shp format is selected, and operations of reading, deciphering and restoring the data are performed, and the present invention is further described in detail. The present embodiment selects the shp line layer data (as Fig. 3) of a certain building as original vector data, comprises the following steps:

(一)密钥生成过程(1) Key generation process

步骤11,确定数据范围:获取原始矢量数据V的最小外接矩形R,R左下角坐标为(123451.63676768,142705.11870332),右上角坐标为(123726.302067681,142994.494303319),根据公式(1)得数据中心点坐标(123588.969417681,142849.80650332)、数据长度XL=274.665300000459和数据宽度YL=289.375599998981;Step 11, determine the data range: obtain the minimum circumscribed rectangle R of the original vector data V, the coordinates of the lower left corner of R are (123451.63676768, 142705.11870332), the coordinates of the upper right corner are (123726.302067681, 142994.494303319), and the coordinates of the data center point ( 123588.969417681, 142849.80650332), data length XL=274.665300000459 and data width YL=289.375599998981;

步骤12,确定数据变换量:具体步骤如下:输入数据总体变换量offset=50,非线性变换量nonlinear=7,根据公式(2)得到线性变换量linear=49.5075751779463;Step 12, determine the amount of data transformation: the specific steps are as follows: the overall transformation amount of input data offset=50, the nonlinear transformation amount nonlinear=7, and the linear transformation amount linear=49.5075751779463 is obtained according to formula (2);

步骤13,计算线性变换量linear引起的中误差,确定影响变换效果的参数:焦距f、航高H、偏角倾角ω、旋角κ,具体步骤如下:Step 13, calculate the medium error caused by the linear transformation amount linear, and determine the parameters that affect the transformation effect: focal length f, flying height H, deflection angle Inclination ω, rotation κ, the specific steps are as follows:

e)焦距f=0.15,e) focal length f=0.15,

f)根据公式(3)计算航高H=1879.49681193348,f) According to the formula (3), calculate flight height H=1879.49681193348,

c)根据公式(4)计算线性变化量linear的扰动范围linearExtent=7.03616196359537,c) Calculating the disturbance range linearExtent=7.03616196359537 of the linear variation linear according to the formula (4),

d)生成控制点集合,具体步骤如下:在最小外接矩形R范围内生成4*4个均匀控制点组成源控制点集合FromPoints={(Fxi,Fyi)|i=1,2,...4*4};根据公式(5)计算每个目标控制点坐标(Txi,Tyi)组成目标控制点集合ToPoints={(Txi,Tyi)|i=1,2,...4*4},d) Generate a set of control points, the specific steps are as follows: Generate 4*4 uniform control points within the range of the smallest circumscribed rectangle R to form a source control point set FromPoints={(Fx i , Fy i )|i=1, 2, .. .4*4}; According to the formula (5), calculate the coordinates (Txi, Ty i ) of each target control point to form the set of target control points ToPoints={(Txi, Ty i ) | i =1, 2,... 4*4},

e)坐标归一化,根据公式(6)对源控制点集合FromPoints和目标控制点集合ToPoints进行归一化处理得到新坐标集合FromPoints’={(Fxi’,Fyi’)|i=1,2,...4*4},ToPoints’={(Txi’,Tyi’)|i=1,2,...4*4},e) Coordinate normalization, according to the formula (6), the source control point set FromPoints and the target control point set ToPoints are normalized to obtain a new coordinate set FromPoints'={(Fx i ', Fy i ')|i=1 , 2,...4*4}, ToPoints'={(Tx i ', Ty i ')|i=1, 2,...4*4},

f)计算偏角倾角ω、旋角κ,根据公式(7)利用最小二乘法对FromPoints’中源控制点和ToPoints’中目标控制点进行拟合解算得到偏角倾角ω=0.00921638185358357、旋角κ=0.0206308078601073,f) Calculation of declination Inclination ω and rotation κ, according to the formula (7), use the least squares method to fit and solve the source control point in FromPoints' and the target control point in ToPoints' to obtain the deflection angle Inclination ω=0.00921638185358357, rotation κ=0.0206308078601073,

g)计算线性变换中误差accuracy1,具体步骤如下:根据公式(8)转换源控制点集合FromPoints’坐标得到目标控制点集合ToPoints”={(Txi”,Tyi”)|i=1,2,...4*4},根据公式(9)计算中误差accuracy1=50.6202842886151,g) Calculating the error accuracy 1 in the linear transformation, the specific steps are as follows: convert the coordinates of the source control point set FromPoints' according to the formula (8) to obtain the target control point set ToPoints"={(Tx i ", Ty i ")|i=1, 2, ... 4*4}, the error accuracy 1 = 50.6202842886151 in the calculation according to the formula (9),

h)调节目标控制点集合,具体步骤如下:如果|linear/accuracy1-1|>0.01,则根据公式(10)调节每个原目标控制点坐标(Txi,Tyi),得到新的目标控制点坐标(NTxi,NTyi),用新的目标控制点替代原目标控制点即Txi=NTxi、Tyi=NTyi,得到目标控制点集合ToPoints={(Txi,Tyi)|i=1,2,...4*4},h) Adjust the set of target control points, the specific steps are as follows: If |linear/accuracy 1 -1|>0.01, adjust the coordinates (Tx i , Ty i ) of each original target control point according to formula (10) to obtain a new target Control point coordinates (NTxi, NTy i ), replace the original target control points with new target control points, that is , Txi = NTxi, Ty i = NTy i , and obtain the target control point set ToPoints={(Txi, Ty i ) |i=1,2,...4*4},

i)循环步骤e)-h),当accuracy1=49.5075776592392时|linear/accuracy1-1|<=0.01,得到最终的偏角倾角ω=0.00901382354283439、旋角κ=0.0201770830635741;i) Cycle steps e)-h), when accuracy 1 =49.5075776592392 |linear/accuracy 1 -1|<=0.01, the final declination angle is obtained Inclination ω=0.00901382354283439, rotation κ=0.0201770830635741;

步骤14,计算非线性变换量nonlinear引起的中误差,确定参数j0-j5,具体步骤如下:Step 14, calculate the medium error caused by the nonlinear transformation amount nonlinear, and determine the parameters j 0 -j 5 , the specific steps are as follows:

a)生成控制点高程,利用公式(11)计算源控制点集合FromPoints每个点位移nonlinear所需的高程Fzi,生成三维源控制点集合FromPoints={(Fxi,Fyi,Fzi)|i=1,2,...4*4},a) Generate control point elevations, use formula (11) to calculate the elevation Fz i required for each point displacement nonlinear of the source control point set FromPoints, and generate a three-dimensional source control point set FromPoints={(Fx i , Fy i , Fz i )| i=1,2,...4*4},

b)根据公式(12)对生成的三维源控制点集合FromPoints进行最小二乘解算,得到参数j0=-134576645.0625、j1=957.075539588928、j2=1056.14212036133、j3=-0.00386110281764473、j4=-0.00368852281107479、j5=-1.88736757991137E-05,b) According to formula (12), perform least squares calculation on the generated three-dimensional source control point set FromPoints, and obtain parameters j 0 =-134576645.0625, j 1 =957.075539588928, j 2 =1056.14212036133, j 3 =-0.00386110281764473, j 4 = -0.00368852281107479, j 5 =-1.88736757991137E-05,

c)计算非线性变换中误差accuracy2,具体步骤如下:根据公式(12)和参数j0-j5解算每个源控制点的Fzi值,保存到三维源控制点集合FromPoints中,根据公式(13)对三维源控制点集合FromPoints进行计算得到目标控制点集合ToPoints={(Txi,Tyi)|i=1,2,...4*4},根据公式(14)计算中误差accuracy2=8.33449148774509,c) Calculating the error accuracy 2 in the nonlinear transformation, the specific steps are as follows: Calculate the Fz i value of each source control point according to formula (12) and parameters j 0 -j 5 , save it in the three-dimensional source control point set FromPoints, according to Formula (13) calculates the three-dimensional source control point set FromPoints to obtain the target control point set ToPoints={(Tx i , Ty i )|i=1, 2, ... 4*4}, according to formula (14) calculation Error accuracy 2 = 8.33449148774509,

d)调节源控制点高程值,如果|nonlinear/accuracy2-1|>0.01,则根据公式(15)调节每个源控制点坐标高程值,得到新的高程值NFzi,用新高程值替代原高程值即Fzi=NFzi,得到三维源控制点集合FromPoints={(Fxi,Fyi,Fzi)|i=1,2,...4*4},d) Adjust the elevation value of the source control point. If |nonlinear/accuracy 2 -1|>0.01, adjust the coordinate elevation value of each source control point according to formula (15) to obtain a new elevation value NFzi, and replace the original elevation value with the new elevation value The elevation value is Fzi=NFzi, and the three-dimensional source control point set FromPoints={(Fx i , Fy i , Fz i )|i=1, 2,...4*4} is obtained,

e)循环步骤b)-d),当accuracy2=6.9961779687363时|nonlinear/accuracy2-1|<=0.01,得到最终参数j0=-92384371.34375、j1=544.834728956223、j2=822.104847669601、j3=-0.00253963583136851、j4=-0.00312865154306508、j5=0.000580351679673186;e) Cycle steps b)-d), when accuracy 2 =6.9961779687363 |nonlinear/accuracy 2 -1|<=0.01, the final parameters j 0 =-92384371.34375, j 1 =544.834728956223, j 2 = 822.104847669601, j -0.00253963583136851, j 4 =-0.00312865154306508, j 5 =0.000580351679673186;

步骤15,焦距f、航高H、偏角倾角ω、旋角κ、数据中心点坐标(xmid,ymid)、参数j0-j5组成密钥Key,用非对称加密算法RSA对密钥Key进行加密并存入密钥文件Key.txt;Step 15, focal length f, flying height H, deflection angle Inclination ω, rotation κ, data center point coordinates (x mid , y mid ), and parameters j 0 -j 5 form the key Key, which is encrypted with the asymmetric encryption algorithm RSA and stored in the key file Key. txt;

(二)脱密过程(2) Decryption process

步骤21,读取密钥文件Key.txt,解密后提取密钥Key,打开原始矢量数据V;Step 21, read the key file Key.txt, extract the key Key after decryption, and open the original vector data V;

步骤22,生成每个点高程值zj,转换坐标,具体步骤如下:Step 22, generate the elevation value z j of each point, and transform the coordinates, the specific steps are as follows:

a)提取矢量数据V的要素点坐标,得到要素点坐标集合P={(xj,yj,zj)|j=1,2,...,k},其中k为要素包含的点个数,下面以P中一点p(123677.937667681,142928.252103319,0)为例进行说明,a) Extract the element point coordinates of the vector data V, and obtain the element point coordinate set P={(x j , y j , z j )|j=1, 2, ..., k}, where k is the point contained in the element The number, the following takes a point p(123677.937667681, 142928.252103319, 0) in P as an example to illustrate,

b)根据密钥Key和公式(16)循环计算集合P中每一个点坐标pj(xj,yj,zj)的高程值zj并保存到集合P中,示例点p的高程值z=119.892017556354,b) According to the key Key and formula (16), the elevation value z j of each point coordinate p j (x j , y j , z j ) in the set P is cyclically calculated and saved in the set P, the elevation value of the example point p z=119.892017556354,

c)根据公式(17)和密钥Key,对每个点坐标pj(xj,yj,zj)进行计算,得到点坐标集合P’={(xj’,yj’,zj)|j=1,2,...,k},示例点p(123677.937667681,142928.252103319,119.892017556354)转换后的点坐标为p’(0.00402027927973795,0.00517358718854751,119.892017556354);c) According to the formula (17) and the key Key, calculate the coordinates p j (x j , y j , z j ) of each point, and obtain the set of point coordinates P'={(x j ', y j ', z j )|j=1, 2,..., k}, example point p(123677.937667681, 142928.252103319, 119.892017556354) and the converted point coordinates are p'(0.00402027927973795, 0.00517358718854751, 119.865);

步骤23,坐标归一化,根据密钥Key和公式(18)对每个点坐标pj’(xj’,yj’,zj)进行归一化处理得到脱密后点坐标集合P”={(xj”,yj”,zj)|j=1,2,...,k},点p’归一化后点坐标为p”(123639.34343161,142914.631440834,119.892017556354);Step 23, coordinate normalization, according to the key Key and formula (18), normalize each point coordinate p j '(x j ', y j ', z j ) to obtain the decrypted point coordinate set P "={(x j ", y j ", z j )|j=1, 2, ..., k}, the point p' coordinates after normalization is p" (123639.34343161, 142914.631440834, 119.892017556354);

步骤24,循环步骤22到23,直至每个要素处理完毕,保存脱密后的数据文件W;Step 24, loop steps 22 to 23, until each element is processed, save the data file W after decryption;

(三)恢复过程(3) Recovery process

步骤31,读取密钥文件Key.txt,解密后提取密钥Key,打开脱密后的矢量数据W;Step 31, read the key file Key.txt, extract the key Key after decryption, and open the decrypted vector data W;

步骤32,坐标归一化,具体步骤如下:Step 32, coordinate normalization, the specific steps are as follows:

a)提取矢量数据W的要素点坐标,得到坐标集合P”={(xj”,yj”,zj)|j=1,2,...,k},下面以点P”中一点p”(123639.34343161,142914.631440834,119.892017556354)为例进行说明,a) Extract the coordinates of the element points of the vector data W, and obtain the set of coordinates P”={(x j ”, y j ”, z j )|j=1, 2, ..., k}, the following is the point P” One point p" (123639.34343161, 142914.631440834, 119.892017556354) as an example to illustrate,

b)根据密钥Key和公式(19),对集合P”集合中每个点坐标pj”(xj”,yj”,zj)进行归一化处理生成点坐标集合P’={(xj’,yj’,zj)|j=1,2,...,k},对示例点p”进行归一化处理得到点p’(0.00402027927973827,0.00517358718854753,119.892017556354);b) According to the key Key and formula (19), normalize the coordinates p j ”(x j ”, y j ”, z j ) of each point in the set P” to generate a set of point coordinates P’={ (x j ', y j ', z j )|j=1, 2, ..., k}, normalize the example point p" to get point p'(0.00402027927973827, 0.00517358718854753, 119.892017556354);

步骤33,转换坐标,根据公式(20)和密钥Key对每个点坐标pj’(xj’,yj’,zj)进行计算,然后将高程值zj置零,得到恢复后的点坐标pj(xj,yj,0),生成坐标集合P={(xj,yj,0)|j=1,2,...,k},转换p’坐标得到恢复后的点坐标为p(123677.937667681,142928.252103319,0);Step 33, convert the coordinates, calculate the coordinates p j '(x j ', y j ', z j ) of each point according to the formula (20) and the key Key, and then set the elevation value z j to zero, and get the restored Point coordinates p j (x j , y j , 0), generate coordinate set P={(x j , y j , 0)|j=1, 2,..., k}, transform p' coordinates to be recovered The final point coordinates are p(123677.937667681, 142928.252103319, 0);

步骤34,循环步骤32到33,直至每个要素处理完毕,保存恢复后的数据文件Q。Step 34, loop steps 32 to 33 until each element is processed, and save the restored data file Q.

本发明实施例中仅以线图层为例进行矢量数据的脱密与恢复,该方法也可用于点图层和面图层的脱密与恢复。In the embodiment of the present invention, only the line layer is used as an example to decrypt and restore vector data, and this method can also be used for decryption and restoration of point layers and surface layers.

本发明在保证矢量数据拓扑关系不发生改变的前提下对矢量数据进行脱密和恢复,并可根据需求设定参数以达到所需的脱密效果,脱密后的数据根据密钥可进行无损恢复。The present invention deciphers and restores the vector data on the premise that the topological relationship of the vector data does not change, and can set parameters according to requirements to achieve the required deciphering effect, and the deciphered data can be deciphered according to the key. recover.

Claims (1)

1.一种GIS矢量数据可逆脱密方法,其特征在于,包括如下过程:1. A GIS vector data reversible deciphering method, is characterized in that, comprises following process: (一)密钥生成过程(1) Key generation process 步骤11,确定数据范围:获取原始矢量数据V的最小外接矩形R,R左下角坐标为(xmin,ymin),右上角坐标为(xmax,ymax),根据公式(1)得数据中心点坐标(xmid,ymid)、数据长度XL和数据宽度YL;Step 11, determine the data range: obtain the minimum circumscribed rectangle R of the original vector data V, the coordinates of the lower left corner of R are (x min , y min ), the coordinates of the upper right corner are (x max , y max ), and the data are obtained according to formula (1) Center point coordinates (x mid , y mid ), data length XL and data width YL; xx mm ii dd == (( xx mm ii nno ++ xx mm aa xx )) // 22 ythe y mm ii dd == (( ythe y mm ii nno ++ ythe y mm aa xx )) // 22 Xx LL == xx maxmax -- xx mm ii nno YY LL == ythe y maxmax -- ythe y mm ii nno -- -- -- (( 11 )) 步骤12,确定数据变换量:具体步骤如下:输入数据总体变换量offset,offset>0,非线性变换量nonlinear,0<nonlinear<=offset,根据公式(2)得到线性变换量linear;Step 12, determine the amount of data transformation: the specific steps are as follows: the overall transformation amount offset of the input data, offset>0, the nonlinear transformation amount nonlinear, 0<nonlinear<=offset, obtain the linear transformation amount linear according to formula (2); ll ii nno ee aa rr == offsetoffset 22 -- nonlinearnonlinear 22 -- -- -- (( 22 )) 步骤13,计算线性变换量linear引起的中误差,确定影响变换效果的参数:焦距f、航高H、偏角倾角ω、旋角κ,具体步骤如下:Step 13, calculate the medium error caused by the linear transformation amount linear, and determine the parameters that affect the transformation effect: focal length f, flying height H, deflection angle Inclination ω, rotation κ, the specific steps are as follows: 131)焦距f∈(0,1),131) focal length f ∈ (0,1), 132)根据公式(3)计算航高H,132) Calculate flight height H according to formula (3), Hh == Xx LL ** YY LL // ff -- -- -- (( 33 )) 133)根据公式(4)计算线性变换量linear的扰动范围linearExtent,133) Calculate the perturbation range linearExtent of the linear transformation amount linear according to formula (4), ll ii nno ee aa rr EE. xx tt ee nno tt == ll ii nno ee aa rr -- -- -- (( 44 )) 134)生成控制点集合,具体步骤如下:在最小外接矩形R范围内生成m*n个均匀控制点组成源控制点集合FromPoints={(Fxi,Fyi)|i=1,2,...m*n},m*n>=6;根据公式(5)计算每个目标控制点坐标(Txi,Tyi)组成目标控制点集合ToPoints={(Txi,Tyi)|i=1,2,...m*n},134) Generate a set of control points, the specific steps are as follows: Generate m*n uniform control points within the range of the smallest circumscribed rectangle R to form a set of source control points FromPoints={(Fx i , Fy i )|i=1, 2, .. .m*n}, m*n>=6; Calculate each target control point coordinates (Tx i , Ty i ) according to formula (5) to form a set of target control points ToPoints={(Tx i , Ty i )|i= 1, 2, ...m*n}, TxTx ii == FxFx ii ++ dirdir 11 &times;&times; ll ii nno ee aa rr ++ randomrandom 11 &times;&times; ll ii nno ee aa rr EE. xx tt ee nno tt TyTy ii == FyFy ii ++ dirdir 22 &times;&times; ll ii nno ee aa rr ++ randomrandom 22 &times;&times; ll ii nno ee aa rr EE. xx tt ee nno tt -- -- -- (( 55 )) 其中:方向参数dir1在[0.0,1.0]范围内,方向参数控制点扰动参数random1和random2在[-1.0,1.0]范围内随机选取,Among them: the direction parameter dir 1 is in the range of [0.0,1.0], the direction parameter The control point disturbance parameters random 1 and random 2 are randomly selected in the range of [-1.0,1.0], 135)坐标归一化,根据公式(6)对源控制点集合FromPoints和目标控制点集合ToPoints进行归一化处理得到新坐标集合FromPoints’={(Fxi’,Fyi’)|i=1,2,...m*n},ToPoints’={(Txi’,Tyi’)|i=1,2,...m*n},135) Coordinate normalization, according to the formula (6), the source control point set FromPoints and the target control point set ToPoints are normalized to obtain a new coordinate set FromPoints'={(Fx i ', Fy i ')|i=1 , 2,...m*n}, ToPoints'={(Tx i ', Ty i ')|i=1, 2,...m*n}, FxFx ii &prime;&prime; == (( FxFx ii -- xx mm ii dd )) ** ff // Hh FyFy ii &prime;&prime; == (( FyFy ii -- ythe y mm ii dd )) ** ff // Hh TxTx ii &prime;&prime; == (( TxTx ii -- xx mm ii dd )) ** ff // Hh TyTy ii &prime;&prime; == (( TyTy ii -- ythe y mm ii dd )) ** ff // Hh -- -- -- (( 66 )) 136)计算偏角倾角ω、旋角κ,根据公式(7)利用最小二乘法对FromPoints’中源控制点和ToPoints’中目标控制点进行拟合解算得到偏角倾角ω、旋角κ,136) Calculate declination Inclination ω and rotation κ, according to the formula (7), use the least squares method to fit and solve the source control point in FromPoints' and the target control point in ToPoints' to obtain the deflection angle Inclination ω, rotation κ, 137)计算线性变换中误差accuracy1,具体步骤如下:根据公式(8)转换源控制点集合FromPoints’坐标得到目标控制点集合ToPoints”={(Txi”,Tyi”)|i=1,2,...m*n},137) Calculate the error accuracy 1 in the linear transformation, and the specific steps are as follows: convert the source control point set FromPoints' coordinates according to the formula (8) to obtain the target control point set ToPoints"={(Tx i ", Ty i ")|i=1, 2,...m*n}, 根据公式(9)计算中误差accuracy1Calculate the medium error accuracy 1 according to the formula (9), accuracyaccuracy 11 == &Sigma;&Sigma; (( (( TxTx ii &prime;&prime; &prime;&prime; -- FxFx ii )) 22 ++ (( TyTy ii &prime;&prime; &prime;&prime; -- FyFy ii )) 22 )) // (( mm ** nno )) -- -- -- (( 99 )) 138)调节目标控制点集合,具体步骤如下:如果|linear/accuracy1-1|>0.01,则根据公式(10)调节每个原目标控制点坐标(Txi,Tyi),得到新的目标控制点坐标(NTxi,NTyi),用新的目标控制点替代原目标控制点即Txi=NTxi、Tyi=NTyi,得到新的目标控制点集合NTToPoints={(NTxi,NTyi)|i=1,2,...m*n},138) Adjust the set of target control points, the specific steps are as follows: If |linear/accuracy 1 -1|>0.01, then adjust the coordinates (Tx i , Ty i ) of each original target control point according to the formula (10) to obtain a new target Control point coordinates (NTx i , NTy i ), replace the original target control points with new target control points, that is, Txi = NTxi , Ty i = NTy i , and obtain a new set of target control points NTToPoints={(NTx i , NTy i )|i=1,2,...m*n}, NTxNTx ii == FxFx ii ++ (( ll ii nno ee aa rr // accuracyaccuracy 11 )) (( TxTx ii -- FxFx ii )) NTyNTy ii == FyFy ii ++ (( ll ii nno ee aa rr // accuracyaccuracy 11 )) (( TyTy ii -- FyFy ii )) -- -- -- (( 1010 )) 139)循环步骤135)-138)直至|linear/accuracy1-1|<=0.01,得到最终的偏角倾角ω、旋角κ;139) Repeat steps 135)-138) until |linear/accuracy 1 -1|<=0.01 to get the final declination Inclination ω, rotation κ; 步骤14,计算非线性变换量nonlinear引起的中误差,确定参数j0、j1、j2、j3、j4和j5,具体步骤如下:Step 14, calculate the medium error caused by the nonlinear transformation amount nonlinear, and determine the parameters j 0 , j 1 , j 2 , j 3 , j 4 and j 5 , the specific steps are as follows: 141)生成控制点高程,利用公式(11)计算源控制点集合FromPoints每个点位移nonlinear所需的高程Mzi,生成三维源控制点集合MFromPoints={(Mxi,Myi,Mzi)|i=1,2,...m*n},141) Generate control point elevations, use the formula (11) to calculate the elevation Mz i required for the nonlinear displacement of each point in the source control point set FromPoints, and generate a three-dimensional source control point set MFromPoints={(Mx i , My i , Mz i )| i=1,2,...m*n}, MzMz ii == Hh ** nno oo nno ll ii nno ee aa rr // (( xx mm ii dd -- MxMx ii )) 22 ++ (( ythe y mm ii dd -- MyMy ii )) 22 -- -- -- (( 1111 )) 142)根据公式(12)对生成的三维源控制点集合MFromPoints进行最小二乘解算,得到参数j0、j1、j2、j3、j4和j5142) According to the formula (12), perform the least squares calculation on the generated 3D source control point set MFromPoints, and obtain the parameters j 0 , j 1 , j 2 , j 3 , j 4 and j 5 , Mzi’=j0+j1Mxi+j2Myi+j3Mxi 2+j4Myi 2+j5MxiMyi(12)Mz i '=j 0 +j 1 Mx i +j 2 My i +j 3 Mx i 2 +j 4 My i 2 +j 5 Mx i My i (12) 143)计算非线性变换中误差accuracy2,具体步骤如下:根据公式(12)和参数j0、j1、j2、j3、j4和j5解算每个源控制点的Mzi’值,保存到三维源控制点集合MFromPoints中,根据公式(13)对三维源控制点集合MFromPoints进行计算得到目标控制点集合NToPoints={(Nxi,Nyi)|i=1,2,...m*n},143) Calculate the error accuracy 2 in the nonlinear transformation, the specific steps are as follows: calculate the Mz i ' of each source control point according to formula (12) and parameters j 0 , j 1 , j 2 , j 3 , j 4 and j 5 The value is stored in the three-dimensional source control point set MFromPoints, and the three-dimensional source control point set MFromPoints is calculated according to formula (13) to obtain the target control point set NToPoints={(Nx i , Ny i )|i=1, 2, .. .m*n}, Nxnx ii == (( -- ff (( MxMx ii -- xx mimi dd )) // (( MzMz ii &prime;&prime; -- Hh )) )) ** Hh // ff ++ xx mm ii dd NyNy ii == (( -- ff (( MyMy ii -- ythe y mm ii dd )) // (( MzMz ii &prime;&prime; -- Hh )) )) ** Hh // ff ++ ythe y mm ii dd -- -- -- (( 1313 )) 根据公式(14)计算中误差accuracy2Calculate the medium error accuracy 2 according to formula (14), accuracyaccuracy 22 == &Sigma;&Sigma; (( (( Nxnx ii -- MxMx ii )) 22 ++ (( TyTy ii -- MyMy ii )) 22 )) // (( mm ** nno )) -- -- -- (( 1414 )) 144)调节源控制点高程值,如果|nonlinear/accuracy2-1|>0.01,则根据公式(15)调节每个源控制点坐标高程值,得到新的高程值NMzi,用新高程值替代原高程值即Mzi=NMzi,得到三维源控制点集合MFromPoints={(Mxi,Myi,Mzi)|i=1,2,...m*n},144) Adjust the elevation value of the source control point, if |nonlinear/accuracy 2 -1|>0.01, then adjust the elevation value of each source control point coordinate according to the formula (15) to obtain a new elevation value NMz i , replace it with the new elevation value The original elevation value is Mz i =NMz i , and the three-dimensional source control point set MFromPoints={(Mx i ,My i ,Mz i )|i=1,2,...m*n} is obtained, NMzNM ii &Element;&Element; (( MzMz ii &prime;&prime; // 22 ,, (( nno oo nno ll ii nno ee aa rr // accuracyaccuracy 22 )) ** MzMz ii &prime;&prime; )) ii ff (( nno oo nno ll ii nno ee aa rr // accuracyaccuracy 22 >> 11 )) NMzNM ii &Element;&Element; (( (( nno oo nno ll ii nno ee aa rr // accuracyaccuracy 22 )) ** MzMz ii &prime;&prime; // 22 ,, MzMz ii &prime;&prime; )) ii ff (( nno oo nno ll ii nno ee aa rr // accuracyaccuracy 22 << 11 )) -- -- -- (( 1515 )) 145)循环步骤142)-144),直至|nonlinear/accuracy2-1|<=0.01,得到最终参数j0’、j1’、j2’、j3’、j4’和j5’;145) loop steps 142)-144), until |nonlinear/accuracy 2-1 |<=0.01, to obtain the final parameters j 0 ', j 1 ', j 2 ', j 3 ', j 4 ' and j 5 '; 步骤15,焦距f、航高H、偏角倾角ω、旋角κ、数据中心点坐标(xmid,ymid)、参数j0’、j1’、j2’、j3’、j4’和j5’组成密钥Key,用非对称加密算法RSA对密钥Key进行加密并存入密钥文件Key.txt;Step 15, focal length f, flying height H, deflection angle Inclination ω, rotation κ, data center point coordinates (x mid , y mid ), parameters j 0 ', j 1 ', j 2 ', j 3 ', j 4 ' and j 5 ' form the key Key, and use non The symmetric encryption algorithm RSA encrypts the key Key and stores it in the key file Key.txt; (二)脱密过程(2) Decryption process 步骤21,读取密钥文件Key.txt,解密后提取密钥Key,打开原始矢量数据V;Step 21, read the key file Key.txt, extract the key Key after decryption, and open the original vector data V; 步骤22,生成每个点高程值zj,转换坐标,具体步骤如下:Step 22, generate the elevation value z j of each point, and transform the coordinates, the specific steps are as follows: 221)提取矢量数据V的要素点坐标,得到要素点坐标集合P={(xj,yj,zj)|j=1,2,…,k},其中k为要素包含的点个数,221) Extract the element point coordinates of the vector data V, and obtain the element point coordinate set P={(x j ,y j ,z j )|j=1,2,...,k}, where k is the number of points contained in the element , 222)根据密钥Key和公式(16)循环计算集合P中每一个点坐标pj(xj,yj,zj)的高程值zj并保存到集合P中,222) According to the key Key and formula (16), the elevation value z j of each point coordinate p j (x j , y j , z j ) in the set P is cyclically calculated and stored in the set P, zj=j0’+j1’xj+j2’yj+j3’xj 2+j4’yj 2+j5’xjyj(16)z j =j 0 '+j 1 'x j +j 2 'y j +j 3 'x j 2 +j 4 'y j 2 +j 5 'x j y j (16) 223)根据公式(17)和密钥Key,对每个点坐标pj(xj,yj,zj)进行计算,得到点坐标集合P’={(xj’,yj’,zj)|j=1,2,…,k};223) Calculate each point coordinate p j (x j , y j , z j ) according to the formula (17) and the key Key, and obtain the point coordinate set P'={(x j ', y j ', z j )|j=1,2,...,k}; 步骤23,坐标归一化,根据密钥Key和公式(18)对每个点坐标pj’(xj’,yj’,zj)进行归一化处理得到脱密后点坐标集合P”={(xj”,yj”,zj)|j=1,2,…,k};Step 23, coordinate normalization, according to the key Key and formula (18), normalize each point coordinate p j '(x j ', y j ', z j ) to obtain the decrypted point coordinate set P "={(x j ",y j ", z j )|j=1,2,...,k}; xx jj &prime;&prime; &prime;&prime; == xx mm ii dd ++ xx jj &prime;&prime; ** Hh // ff ythe y jj &prime;&prime; &prime;&prime; == ythe y mm ii dd ++ ythe y jj &prime;&prime; ** Hh // ff -- -- -- (( 1818 )) 步骤24,循环步骤22到23,直至每个要素处理完毕,保存脱密后的矢量数据W;Step 24, loop through steps 22 to 23 until each element is processed, and save the decrypted vector data W; (三)恢复过程(3) Recovery process 步骤31,读取密钥文件Key.txt,解密后提取密钥Key,打开脱密后的矢量数据W;Step 31, read the key file Key.txt, extract the key Key after decryption, and open the decrypted vector data W; 步骤32,坐标归一化,具体步骤如下:Step 32, coordinate normalization, the specific steps are as follows: 321)提取矢量数据W的要素点坐标,得到坐标集合WP”={(wxj”,wyj”,wzj)|j=1,2,…,k},321) Extract the coordinates of the element points of the vector data W, and obtain the coordinate set WP"={(wx j ", wy j ", wz j )|j=1,2,...,k}, 322)根据密钥Key和公式(19),对集合WP”集合中每个点坐标wpj”(wxj”,wyj”,wzj)进行归一化处理生成点坐标集合WP’={(wxj’,wyj’,wzj)|j=1,2,…,k}};322) According to the key Key and formula (19), each point coordinate wp j "(wx j ", wy j ", wz j ) in the set WP" set is normalized to generate a point coordinate set WP'={ (wx j ',wy j ',wz j )|j=1,2,...,k}}; wxwx jj &prime;&prime; == (( wxwx jj &prime;&prime; &prime;&prime; -- xx mm ii dd )) ** ff // Hh wywy jj &prime;&prime; == (( wywy jj &prime;&prime; &prime;&prime; -- ythe y mm ii dd )) ** ff // Hh -- -- -- (( 1919 )) 步骤33,转换坐标,根据公式(20)和密钥Key对每个点坐标wpj’(wxj’,wyj’,wzj)进行计算,然后将高程值wzj置零,得到恢复后的点坐标wpj(wxj,wyj,0),生成坐标集合WP={(wxj,wyj,0)|j=1,2,…,k};Step 33, convert the coordinates, calculate the coordinates wp j '(wx j ', wy j ', wz j ) of each point according to the formula (20) and the key Key, and then set the elevation value wz j to zero to obtain the recovered Point coordinates wp j (wx j ,wy j ,0), generate coordinate set WP={(wx j ,wy j ,0)|j=1,2,...,k}; wxwx jj == xx mm ii dd ++ (( wzw jj -- Hh )) (( &omega;&omega; ff &kappa;&kappa; -- ff &phi;&phi; -- &omega;&omega; 22 wxwx jj &prime;&prime; -- wxwx jj &prime;&prime; ++ &phi;&omega;wy&phi;&omega;wy jj &prime;&prime; ++ &kappa;wy&kappa;wy jj &prime;&prime; )) (( f&kappa;f&kappa; 22 -- &omega;wy&omega;wy jj &prime;&prime; -- &phi;wx&phi;wx jj &prime;&prime; ++ ff -- &omega;&kappa;wx&omega;&kappa;wx jj &prime;&prime; ++ &phi;&kappa;wy&phi;&kappa;wy jj &prime;&prime; )) wywy jj == ythe y mm ii dd ++ (( wzw jj -- Hh )) (( &omega;&phi;wx&omega;&phi;wx jj &prime;&prime; -- &phi;&phi; 22 wywy jj &prime;&prime; -- wywy jj &prime;&prime; -- ff &omega;&omega; -- &kappa;wx&kappa;wx jj &prime;&prime; -- &phi;&phi; ff &kappa;&kappa; )) (( f&kappa;f&kappa; 22 -- &omega;wy&omega;wy jj &prime;&prime; -- &phi;wx&phi;wx jj &prime;&prime; ++ ff -- &omega;&kappa;wx&omega;&kappa;wx jj &prime;&prime; ++ &phi;&kappa;wy&phi;&kappa;wy jj &prime;&prime; )) -- -- -- (( 2020 )) 步骤34,循环步骤32到33,直至每个要素处理完毕,保存恢复后的矢量数据Q。Step 34, loop steps 32 to 33 until each element is processed, and save the restored vector data Q.
CN201210586283.3A 2012-12-28 2012-12-28 A kind of reversible DecryptDecryption method of GIS vector data Expired - Fee Related CN103067159B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210586283.3A CN103067159B (en) 2012-12-28 2012-12-28 A kind of reversible DecryptDecryption method of GIS vector data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210586283.3A CN103067159B (en) 2012-12-28 2012-12-28 A kind of reversible DecryptDecryption method of GIS vector data

Publications (2)

Publication Number Publication Date
CN103067159A CN103067159A (en) 2013-04-24
CN103067159B true CN103067159B (en) 2016-03-02

Family

ID=48109630

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210586283.3A Expired - Fee Related CN103067159B (en) 2012-12-28 2012-12-28 A kind of reversible DecryptDecryption method of GIS vector data

Country Status (1)

Country Link
CN (1) CN103067159B (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103559452B (en) * 2013-10-30 2016-03-30 南京师范大学 A kind of altitude data decryption and restoration methods
CN104077535B (en) * 2014-06-19 2017-01-25 南京师范大学 Graphic information system (GIS) vector data local decryption and restoring method
CN104103031B (en) * 2014-08-03 2017-07-25 兰州交通大学 Blind watermarking method for vector space data based on normalization
CN106778347B (en) * 2016-12-22 2019-08-20 南京师范大学 A Reversible Decryption Method of Vector Raster Geographic Data Based on Trigonometric Functions
CN108090369B (en) * 2017-12-29 2021-06-08 南京师范大学 A Decryption and Restoration Method of GIS Vector Data Based on Chebyshev Polynomial
CN108629190B (en) * 2018-03-23 2020-08-25 国网陕西省电力公司电力科学研究院 Geographic information data decryption method
CN109002724B (en) * 2018-06-07 2021-03-23 南京师范大学 DEM local decryption and recovery method based on tight support radial basis function
CN116305270B (en) * 2023-03-15 2025-06-20 国家基础地理信息中心 A method, system and medium for verifying the reversibility of nonlinear transformation of vector maps

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6574561B2 (en) * 2001-03-30 2003-06-03 The University Of North Florida Emergency management system
CN101968841A (en) * 2010-11-09 2011-02-09 北京安天电子设备有限公司 Anti-virus and decryption method and device for USB mobile storage apparatus
CN102332079A (en) * 2011-09-16 2012-01-25 南京师范大学 GIS Vector Data Camouflage and Restoration Method Based on Error Random Interference

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6574561B2 (en) * 2001-03-30 2003-06-03 The University Of North Florida Emergency management system
CN101968841A (en) * 2010-11-09 2011-02-09 北京安天电子设备有限公司 Anti-virus and decryption method and device for USB mobile storage apparatus
CN102332079A (en) * 2011-09-16 2012-01-25 南京师范大学 GIS Vector Data Camouflage and Restoration Method Based on Error Random Interference

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
公众版地图地理要素脱密处理方法;傅宏;《地理空间信息》;20100831;第8卷(第4期);133-134 *

Also Published As

Publication number Publication date
CN103067159A (en) 2013-04-24

Similar Documents

Publication Publication Date Title
CN103067159B (en) A kind of reversible DecryptDecryption method of GIS vector data
CN103093414B (en) A kind of DOM raster data DecryptDecryption and restoration methods
CN103023633B (en) Digital image hiding method based on chaotic random phase and coherence stack principle
CN102769620B (en) A kind of safely outsourced encryption method based on attribute
CN106778347B (en) A Reversible Decryption Method of Vector Raster Geographic Data Based on Trigonometric Functions
CN103152339B (en) A kind of map vector data safe transmission method based on digital envelope
CN102710661B (en) Cloud storage and aggregation architecture and data storage and aggregation method by using same
CN104077536A (en) Radial basis function based GIS (Geographic Information System) vector data reversible decryption method
CN107315812A (en) Safety of image search method based on bag of words under a kind of cloud environment
CN103916248A (en) Fully homomorphic encryption public key space compression method
CN105592085A (en) Privacy protection method specific to location awareness recommendation system
CN103077211A (en) Method for scrambling and reducing GIS (Geographic Information system) vector line Thiessen data
CN107742082B (en) An Optical Image Encryption Algorithm
CN103778383B (en) A kind of cad model local refinement method of painting based on grass
CN107359983A (en) The signal encryption transmission covered based on without item chaotic signal and restoration methods
CN101840473B (en) Copyright Protection Method of Vector Map Based on Nonlinear Transformation
CN103559452B (en) A kind of altitude data decryption and restoration methods
CN104376524B (en) Binary Image Encryption Method Based on Aperture Encryption and Phase Recovery Algorithm
CN107944287A (en) A kind of DEM geometric accuracies DecryptDecryption and restoration methods
Su et al. A color image encryption scheme based on a 2D coupled chaotic system and diagonal scrambling algorithm
CN104077535B (en) Graphic information system (GIS) vector data local decryption and restoring method
CN104050625A (en) Compound chaos image encryption method with initial secret keys built through plaintext
Yi et al. A robust digital watermarking for medical images based on PHTs-DCT
CN105553639A (en) A Multi-Image Encryption and Decryption Method Based on Compressed Sensing
CN104135495B (en) The attribute base encryption method of the ciphertext policy of the without authority with secret protection

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: 20160302

Termination date: 20181228