CN104751399B - 一种基于信息分存的涉密线状地理要素伪装与还原方法 - Google Patents

一种基于信息分存的涉密线状地理要素伪装与还原方法 Download PDF

Info

Publication number
CN104751399B
CN104751399B CN201510101228.4A CN201510101228A CN104751399B CN 104751399 B CN104751399 B CN 104751399B CN 201510101228 A CN201510101228 A CN 201510101228A CN 104751399 B CN104751399 B CN 104751399B
Authority
CN
China
Prior art keywords
mrow
msub
msup
point
prime
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
CN201510101228.4A
Other languages
English (en)
Other versions
CN104751399A (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 CN201510101228.4A priority Critical patent/CN104751399B/zh
Publication of CN104751399A publication Critical patent/CN104751399A/zh
Application granted granted Critical
Publication of CN104751399B publication Critical patent/CN104751399B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Other Investigation Or Analysis Of Materials By Electrical Means (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种基于信息分存的涉密线状地理要素伪装与还原方法,包括如下过程:(1)针对线类型GIS矢量数据伪装过程,包括线要素分级、分段、平移旋转处理、生成新图层等步骤;(2)针对线类型GIS矢量数据还原过程,包括线要素分段、旋转平移处理、线要素重组还原等过程。本发明的方法具有较高的隐蔽性和不受容量限制的优势,为矢量地理数据的信息伪装提供了新思路,在隐藏秘密信息存在性的基础上有效保障秘密数据在数据传输、隐藏通信中的安全性。

Description

一种基于信息分存的涉密线状地理要素伪装与还原方法
技术领域
本发明属于地理信息安全领域,具体涉及一种基于信息分存的涉密线状地理要素伪装与还原的方法。
背景技术
地理信息的安全防护涉及国家安全和社会利益,是当前急需解决的国家和社会重大需求问题。在对秘密GIS矢量数据信息内容隐藏的基础上,进一步隐藏秘密信息的存在,结合分存技术从形态特征进行伪装。
目前,信息分存技术主要应用于图像领域,将图像信息分为具有一定可视效果的n幅图像,如果知道图像信息中的m(m<n)幅子图像,则该图像可以得到恢复,如果图像少于m幅,则图像无法得到恢复。借鉴分存技术在图像领域的应用,将分存技术应用到矢量地理数据信息伪装中来,伪装后数据同样具有可视效果,并且对伪装后的数据进行分图层存储,以增加算法的安全性。
发明内容
本发明的目的在于:基于信息分存伪装技术,提出一种针对GIS线图层数据中线状地理要素的伪装与还原方法,能有效保障涉密线数据在数据传输、隐藏通信中的安全性。
为了实现上述目的,本发明采取的技术方案主要包括:
一种基于信息分存的涉密线状地理要素伪装与还原方法,具体过程如下:
(一)针对线类型GIS矢量数据伪装过程
步骤11:加载一幅矢量地图数据R,输入初始平移量c作为用户密钥参数,c∈[0,100],存储到密钥文件key中;
步骤12:读取数据R中所有线要素L={li|i=1,2,…,m},并为每个线要素中的点按顺序设置序号,m为线要素的个数;
步骤13:利用道格拉斯-普克算法,将线要素li分为两级li1和li2,可根据安全性需要对一级线要素li1进行适当的伪装处理;
步骤14:对线要素li2进行分段处理,
(a)线要素li1中的点集合记为Pi1={pj|j=1,2,…,n},n为线要素li1中的点个数;
(b)依次读取点集合Pi1中相邻两个点pj、pj+1的序号Ij、Ij+1,在线要素li2的点集合中遍历序号位于区间(Ij,Ij+1)之间的所有点,将这些点分为一段;
(c)循环步骤(b),直至将线要素li2分为(n-1)个分段,记为S={sk|k=1,2,…,n-1};
步骤15:确定当前线要素li的基线l的直线方程,
(a)假设点集合Pi1的首尾点坐标分别记为pb(x1,y1),pe(xn,yn),根据公式(1)计算基线斜率k:
(b)假设pb点经平移后的点pb'在基线l上,pb'坐标记为(x1',y1'),平移公式如(2)所示,其中c为用户指定参数,
(c)基线l的方程可表示为公式(3):
步骤16:对点集合Pi1做平移旋转变换使其落在基线l上,处理后的点作为线要素li2中每段点集合的旋转基点;平移后的点集合记为Pi1'={pj'|j=1,2,…,n},旋转后的点集合记为Pi1″={pj″|j=1,2,…,n},
(a)根据公式(4)、(5)计算当前分段sk对应的横坐标平移偏移量hj和纵坐标平移偏移量vj
其中H={hj|j=1,2,…,n}为横坐标平移偏量集合,V={vj|j=1,2,…,n}为纵坐标平移偏量集合,(xj″,yj″)为pj″中的点坐标;
(b)根据公式(6)计算平移后的点集合Pi1'中的点坐标pj'(xj',yj'),
(c)根据公式(1)计算当前段直线pjpj+1斜率kj,根据公式(7)确定基线l和当前段直线pjpj+1之间的夹角αj;当前段直线pjpj+1按逆时针旋转与基线重合的旋转角度αj'如公式(8)所示,旋转角度集合记为A={αj'|j=1,2,…,n},
(d)根据公式(9)、(10)计算旋转后的点集合pj″中的点坐标(xj″,yj″),
(e)循环处理(a)-(d),直至段S中的各段处理完毕;
步骤17:对二级线要素li2中所有段S={sk|k=1,2,…,n-1}进行伪装处理;假设段sk的点集合记为SP={spw|w=1,2,…,t},其中t为该段中点的个数,
(a)对段sk进行平移处理,段sk中的点集合SP平移后的集合记为SP'={spw'|w=1,2,…,t},横纵坐标对应的平移偏量分别为hw和vw,根据公式(6)做相应的平移变换;
(b)对平移后的每段进行旋转处理,SP'旋转后的集合记为SP″={spw″|w=1,2,…,t},每段对应的旋转角度为αW',旋转基点为点集合SP″中对应的点spw″,根据公式(9)、(10)做相应的旋转变换;
(c)循环执行(a)和(b),直到所有段完成伪装处理;
步骤18:生成新图层数据R1和R2,将线要素li1中的点集合按原始顺序组成的线要素添加到数据R1中,将线要素li2中经伪装变换后的点集合按照原始顺序组成的线要素存放到数据R2中;
步骤19:重复步骤12-18,直到所有线要素完成伪装处理为止;
(二)针对线类型GIS矢量数据还原过程
步骤21:打开伪装后的矢量数据R1和R2,打开密钥文件key,读取用户密钥参数c;
步骤22:分别读取数据R1和数据R2中的线要素Li1={li1|i=1,2,…,m},Li2={li2|i=1,2,…,m},其中,m为数据R1中线要素的个数;
步骤23:对线要素li2进行分段处理,
(a)线要素Li1中还原后的点集合记为Pi1={pj|j=1,2,…,n},n为线要素li1中的点个数;
(b)依次读取点集合Pi1中相邻两个点pj、pj+1的序号Ij、Ij+1,在线要素li2点集合中遍历序号位于区间(Ij,Ij+1)之间的所有点,将这些点分为一段;
(c)循环步骤(b),直至将线要素li2分为(n-1)个分段,记为S={sk|k=1,2,…,n-1};
步骤24:确定当前线要素li的基线l的直线方程,
(a)假设点集合Pi1的首尾点坐标分别记为pb(x1,y1),pe(xn,yn),根据公式(1)计算基线斜率k;
(b)假设pb点经平移后的点pb'在基线l上,pb'坐标记为(x1',y1'),平移公式如(2)所示,其中c为用户指定参数;
(c)基线l的方程可表示为公式(3);
步骤25:对点集合Pi1做平移旋转变换使其落在基线l上,处理后的点作为每段点集合的旋转基点,
(a)根据公式(4)、(5)计算当前分段sk对应的横坐标平移偏移量hj和纵坐标平移偏移量vj
(b)根据公式(6)计算平移后的点集合Pi1'中的点坐标pj'(xj',yj');
(c)根据公式(1)计算当前段直线pjpj+1斜率kj,根据公式(7)确定基线l和当前段直线PjPj+1之间的夹角αj,当前段直线pjpj+1按逆时针旋转与基线重合的旋转角度αj'由公式(8)计算得出,旋转角度集合记为A={αj'|j=1,2,…,n};
(d)根据公式(9)、(10)计算旋转后的点集合pj″中的点坐标(xj″,yj″);
(e)循环处理(a)-(d),直至段S中各段处理完毕;
步骤26:对二级线要素li2中所有段S={sk|k=1,2,…,n-1}进行还原处理;假设段sk的点集合记为SP={spw|w=1,2,…,t},spw坐标记为(xw,yw),其中t为该段中点的个数,
(a)根据公式(9)、(10)对每段进行旋转处理:点集合SP中各点旋转后的点集合记为SP'={spw'|w=1,2,…,t},其中每段对应的旋转角度为A'={αj″|j=1,2,…,n},由公式(11)计算得出,
αj″=2π-αj' (11)
(b)对旋转后的每段进行平移操作:点集合SP'平移后的集合记为SP″={spw″|w=1,2,…,t},横纵坐标对应的平移偏量分别为-hj和-vj,根据公式(9)做相应的平移变换;
(c)循环执行(a)和(b),直到完成所有段的还原处理;
步骤27:将线要素li2中还原后的点集合与线要素li1中的点集合按照坐标序号从小到大的顺序重组成为线要素li,完成当前线要素的还原处理;
步骤28:重复步骤22-27,直到完成每个线要素的还原处理。
本发明结合分存技术从形态特征进行伪装,使伪装后的矢量数据仍然是有意义的数据,从而降低攻击者的注意力,提高伪装的隐蔽性,并且避免了传统伪装中容量的问题,具有较高的隐蔽性和不受容量限制的优势,为矢量地理数据信息伪装提供了新思路。本发明在隐藏秘密信息存在性的基础上,能有效保障秘密数据在数据传输、隐藏通信中的安全性,在一定程度上满足了GIS矢量数据的隐藏通信和安全传输需求。
附图说明
图1是本发明方法的流程图,(a)为伪装流程图,(b)为还原流程图;
图2是本发明原始数据,(a)为原始数据,(b)一级原始数据,(c)为二级原始数据,(d)为二级伪装数据;
图3是本发明原始二级数据和伪装数据对比图,(a)为二级伪装与原始数据对比图,(b)为局部细节对比图,其中虚线表示原始二级数据,实线表示伪装二级数据。
具体实施方式
本实施例选择shp格式矢量数据,针对数据的读取、伪装、还原的整个过程,进一步详细说明本发明。本实例选择中国河流图。
(一)伪装过程
步骤11:加载中国河流图,输入初始平移量c=0,存储到密钥文件key中。
步骤12:读取当前线要素l1,线要素的个数m=31。
步骤13:利用道格拉斯-普克算法,将线要素l1分为两级l11和l12
步骤14:对l12进行分段处理。
(a)l11中的点集合记为P11={(435481.944441,4164230.4092540005),(435481.21390171145,4164252.6066547194),(435466.944441,4164275.4092540005)},n为3。
(b)依次读取P11中相邻两个点p1、p2、p3的序号0、7、30,在l12点集合中遍历序号位于(0,7)之间的所有点,将序号为1至6的点分为一段。
(c)循环步骤(b),直至将l12分为2个分段,记为S={sk|k=1,2}。
步骤15:确定当前线要素li的基线l的直线方程。
(a)根据公式(1)计算基线斜率k=-3.0。
(b)首点经平移后的点pb'在基线l上,根据公式(2)计算得到pb'坐标(435481.944441,4164230.4092540005)。
(c)基线l的方程可表示为y=-3(x-435481.944441)+4164230.4092540005
步骤16:对点集合P11做平移旋转变换使其落在基线l上,处理后的点作为每段点集合的旋转基点。
(a)根据公式(4)、(5)计算当前分段s1对应的横纵坐标平移偏移量分别为0,0。
(b)根据公式(6)计算平移后的点坐标pj'(435481.944441,4164230.4092540005)。
(c)根据公式(1)计算当前段直线斜率k1=-30.384951318763715,根据公式(7)确定基线l和当前段直线的夹角αj=0.28885140051280989,根据当前段直线按顺时针旋转与基线重合的旋转角度αj'=6.572036707692396。
(d)根据公式(9)、(10)计算旋转后的P1″点坐标(435481.944441,4164230.4092540005)
(e)循环处理(a)-(d),其中H1={0,-5.2926956237060949},V1={0,-0.12769598234444857},旋转角度集合A={6.572036707692396,-0.23741104309531336}旋转基点集合P11″={(435481.944441,4164230.4092540005),(435475.92120608775,4164252.4789587371)}。
步骤17:对二级点l12中所有段进行伪装处理。s1的点集合记为SP={(435482.05815706245,4164243.7518112813),(435482.03656739253,416426.8110503652),…,(435481.50921598467,4164251.7062506238)},其中t=6。
(a)对每段进行平移处理。根据公式(6),h1=0,v1=0,s1中的点集合SP平移后的集合记为SP'={(435482.05815706245,4164243.7518112813),(435482.03656739253,416426.8110503652),…,(435481.50921598467,4164251.7062506238)}
(b)对平移后的每段进行旋转处理。根据公式(9)、(10),SP'旋转后的集合记为SP″={(435479.2527998961,4164244.2314438336),(435478.36067612254,4164247.1577939587),…,(435476.46076735476,4164251.6999775474)}。
(c)循环执行(a)(b),直到所有段完成伪装处理。
步骤18:生成新图层R1、R2,将l1中的点集合按原始顺序组成的线要素添加到R1中,将L2中经伪装变换后的点集合按照原始顺序组成的线要素存放到R2中。
步骤19:重复步骤12-18,直到所有线要素完成伪装处理。
(二)还原过程
步骤21:打开伪装后的矢量数据R1和R2,打开密钥文件key,读取用户密钥参数c=0。
步骤22:分别读取R1和R2中的当前线要素l11,l12={(435482.05815706245,4164243.7518112813),(435482.03656739253,416426.8110503652),…,(435481.50921598467,4164251.7062506238),…},其中点个数为28。
步骤23:对线要素l12进行分段处理。
(a)Li1中的点集合记为P11={(435481.944441,4164230.4092540005),(435481.21390171145,4164252.6066547194),(435466.944441,4164275.4092540005)},n=3。
(b)依次读取P11中相邻点的序号0、7、30,在li2点集合中遍历序号位于区间(0,7)、(7,30)之间的所有点,将这些点分为一段。
(c)循环步骤(b),直至将l12分为2个分段,记为S={sk|k=1,2}。
步骤24:确定当前线要素li的基线l的直线方程。
(a)l11中的点集合记为P11={(435481.944441,4164230.4092540005),(435481.21390171145,4164252.6066547194),(435466.944441,4164275.4092540005)},n为3。
(b)依次读取P11中相邻两个点p1、p2、p3的序号0、7、30,在l12点集合中遍历序号位于(0,7)之间的所有点,将序号为1至6的点分为一段。
(c)循环步骤(b),直至将l12分为2个分段,记为S={sk|k=1,2}。
步骤25:对点集合Pi1做平移旋转变换使其落在基线l上,处理后的点作为每段点集合的旋转基点。
(a)根据公式(4)、(5)计算当前分段sk对应的横纵坐标平移偏移量H1={0,-5.2926956237060949},V1={0,-0.12769598234444857}。
(b)根据公式(6)计算平移后的点集合Pi1'={(435481.944441,4164230.4092540005),(435475.92120608775,4164252.4789587371)。}
(c)由公式(8)计算得出旋转角度集合为A={6.572036707692396,-0.23741104309531336}}。
(d)根据公式(9)、(10)计算旋转后的点集合pj″={(435481.944441,4164230.4092540005),(435475.92120608775,4164252.4789587371)。}
(e)循环处理(a)-(d),直至S中各段处理完毕。
步骤26:对二级点li2中所有段S={sk|k=1,2,…,n-1}进行还原处理。
(a)根据公式(9)、(10)对每段进行旋转处理:由公式(11)计算得出每段对应的旋转角度,点集合SP中各点旋转后的点集合记为SP'={(435482.05815706245,4164243.7518112813),(435482.03656739253,416426.8110503652),…,(435481.50921598467,4164251.7062506238)}。
(b)对旋转后的每段进行平移操作:由于对应的横纵坐标偏移量分别为0、0,根据公式(9),点集合SP'平移后的集合记为SP″={(435482.05815706245,4164243.7518112813),(435482.03656739253,416426.8110503652),…,(435481.50921598467,4164251.7062506238)}。
(c)循环执行(a)(b),直到完成所有段的还原处理。
步骤27:将li2中还原后的点集合与li1中的点集合按照坐标序号从小到大的顺序重组成为线要素l1,完成当前线要素的还原处理。
步骤28:重复步骤22-27,直到完成每个线要素的还原处理。

Claims (2)

1.一种基于信息分存的涉密线状地理要素伪装与还原方法,其特征在于,具体过程如下:
(一)针对线类型GIS矢量数据伪装过程
步骤11:加载一幅矢量地图数据R,输入初始平移量c作为用户指定密钥参数,c∈[0,100],存储到密钥文件key中;
步骤12:读取数据R中所有线要素L={li|i=1,2,…,m},并为每个线要素中的点按顺序设置序号,m为线要素的个数;
步骤13:利用道格拉斯-普克算法,将线要素li分为两级li1和li2
步骤14:对线要素li2进行分段处理,
(a)线要素li1中的点集合记为Pi1={pj|j=1,2,…,n},n为线要素li1中的点个数;
(b)依次读取点集合Pi1中相邻两个点pj、pj+1的序号Ij、Ij+1,在线要素li2的点集合中遍历序号位于区间(Ij,Ij+1)之间的所有点,将这些点分为一段;
(c)循环步骤(b),直至将线要素li2分为n-1个分段,记为S={sk|k=1,2,…,n-1};
步骤15:确定当前线要素li的基线l的直线方程,
(a)假设点集合Pi1的首尾点坐标分别记为pb(x1,y1),pe(xn,yn),根据公式(1)计算基线斜率k:
<mrow> <mi>k</mi> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>&amp;infin;</mi> <mo>,</mo> <msub> <mi>x</mi> <mi>n</mi> </msub> <mo>=</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mfrac> <mrow> <msub> <mi>y</mi> <mi>n</mi> </msub> <mo>-</mo> <msub> <mi>y</mi> <mn>1</mn> </msub> </mrow> <mrow> <msub> <mi>x</mi> <mi>n</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> </mrow> </mfrac> <mo>,</mo> <msub> <mi>x</mi> <mi>n</mi> </msub> <mo>&amp;NotEqual;</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>
(b)假设pb点经平移后的点pb'在基线l上,pb'坐标记为(x1',y1'),平移公式如(2)所示,其中c为用户指定密钥参数,
<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msup> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>&amp;prime;</mo> </msup> <mo>=</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>+</mo> <mi>c</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msup> <msub> <mi>y</mi> <mn>1</mn> </msub> <mo>&amp;prime;</mo> </msup> <mo>=</mo> <msub> <mi>y</mi> <mn>1</mn> </msub> <mo>+</mo> <mi>c</mi> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>
(c)基线l的方程可表示为公式(3):
<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>x</mi> <mo>=</mo> <msup> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>&amp;prime;</mo> </msup> <mo>,</mo> <msub> <mi>x</mi> <mi>n</mi> </msub> <mo>=</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>y</mi> <mo>=</mo> <mi>k</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>-</mo> <msup> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>&amp;prime;</mo> </msup> <mo>)</mo> </mrow> <mo>+</mo> <msup> <msub> <mi>y</mi> <mn>1</mn> </msub> <mo>&amp;prime;</mo> </msup> <mo>,</mo> <msub> <mi>x</mi> <mi>n</mi> </msub> <mo>&amp;NotEqual;</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>
步骤16:对点集合Pi1做平移旋转变换使其落在基线l上,处理后的点作为线要素li2中每段点集合的旋转基点;平移后的点集合记为Pi1'={pj'|j=1,2,…,n},旋转后的点集合记为Pi1”={pj”|j=1,2,…,n},
(a)根据公式(4)、(5)计算当前分段sk对应的横坐标平移偏移量hj和纵坐标平移偏移量vj
<mrow> <msub> <mi>h</mi> <mi>j</mi> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>c</mi> <mo>,</mo> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msup> <msub> <mi>x</mi> <mi>j</mi> </msub> <mrow> <mo>&amp;prime;</mo> <mo>&amp;prime;</mo> </mrow> </msup> <mo>-</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>,</mo> <mi>j</mi> <mo>&gt;</mo> <mn>1</mn> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow>
<mrow> <msub> <mi>v</mi> <mi>j</mi> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>c</mi> <mo>,</mo> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msup> <msub> <mi>y</mi> <mi>j</mi> </msub> <mrow> <mo>&amp;prime;</mo> <mo>&amp;prime;</mo> </mrow> </msup> <mo>-</mo> <msub> <mi>y</mi> <mi>j</mi> </msub> <mo>,</mo> <mi>j</mi> <mo>&gt;</mo> <mn>1</mn> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> </mrow>
其中H={hj|j=1,2,…,n}为横坐标平移偏量集合,V={vj|j=1,2,…,n}为纵坐标平移偏量集合,(xj”,yj”)为pj”中的点坐标;
(b)根据公式(6)计算平移后的点集合Pi1'中的点坐标pj'(xj',yj'),
<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msup> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>&amp;prime;</mo> </msup> <mo>=</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>+</mo> <msub> <mi>h</mi> <mi>j</mi> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msup> <msub> <mi>y</mi> <mi>j</mi> </msub> <mo>&amp;prime;</mo> </msup> <mo>=</mo> <msub> <mi>y</mi> <mi>j</mi> </msub> <mo>+</mo> <msub> <mi>v</mi> <mi>j</mi> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow>
(c)根据公式(1)计算当前段直线pjpj+1斜率kj,根据公式(7)确定基线l和当前段直线pjpj+1之间的夹角αj;当前段直线pjpj+1按逆时针旋转与基线重合的旋转角度αj'如公式(8)所示,旋转角度集合记为A={αj'|j=1,2,…,n},
(d)根据公式(9)、(10)计算旋转后的点集合pj”中的点坐标(xj”,yj”),
<mrow> <msup> <msub> <mi>x</mi> <mi>j</mi> </msub> <mrow> <mo>&amp;prime;</mo> <mo>&amp;prime;</mo> </mrow> </msup> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msup> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>&amp;prime;</mo> </msup> <mo>,</mo> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>(</mo> <msup> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>&amp;prime;</mo> </msup> <mo>-</mo> <msup> <msub> <mi>x</mi> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>&amp;prime;</mo> <mo>&amp;prime;</mo> </mrow> </msup> <mo>)</mo> <mo>*</mo> <msup> <msub> <mi>cos&amp;alpha;</mi> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>&amp;prime;</mo> </msup> <mo>-</mo> <mo>(</mo> <msup> <msub> <mi>y</mi> <mi>j</mi> </msub> <mo>&amp;prime;</mo> </msup> <mo>-</mo> <msup> <msub> <mi>y</mi> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>&amp;prime;</mo> <mo>&amp;prime;</mo> </mrow> </msup> <mo>)</mo> <mo>*</mo> <msup> <msub> <mi>sin&amp;alpha;</mi> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>&amp;prime;</mo> </msup> <mo>+</mo> <msup> <msub> <mi>x</mi> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>&amp;prime;</mo> <mo>&amp;prime;</mo> </mrow> </msup> <mo>,</mo> <mi>j</mi> <mo>&gt;</mo> <mn>1</mn> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>9</mn> <mo>)</mo> </mrow> </mrow>
<mrow> <msup> <msub> <mi>y</mi> <mi>j</mi> </msub> <mrow> <mo>&amp;prime;</mo> <mo>&amp;prime;</mo> </mrow> </msup> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msup> <msub> <mi>y</mi> <mi>j</mi> </msub> <mo>&amp;prime;</mo> </msup> <mo>,</mo> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>(</mo> <msup> <msub> <mi>y</mi> <mi>j</mi> </msub> <mo>&amp;prime;</mo> </msup> <mo>-</mo> <msup> <msub> <mi>y</mi> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>&amp;prime;</mo> <mo>&amp;prime;</mo> </mrow> </msup> <mo>)</mo> <mo>*</mo> <msup> <msub> <mi>cos&amp;alpha;</mi> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>&amp;prime;</mo> </msup> <mo>+</mo> <mo>(</mo> <msup> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>&amp;prime;</mo> </msup> <mo>-</mo> <msup> <msub> <mi>x</mi> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>&amp;prime;</mo> <mo>&amp;prime;</mo> </mrow> </msup> <mo>)</mo> <mo>*</mo> <msup> <msub> <mi>sin&amp;alpha;</mi> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>&amp;prime;</mo> </msup> <mo>+</mo> <msup> <msub> <mi>y</mi> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>&amp;prime;</mo> <mo>&amp;prime;</mo> </mrow> </msup> <mo>,</mo> <mi>j</mi> <mo>&gt;</mo> <mn>1</mn> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>10</mn> <mo>)</mo> </mrow> </mrow>
(e)循环处理步骤16(a)-(d),直至段S中的各段处理完毕;
步骤17:对二级线要素li2中所有段S={sk|k=1,2,…,n-1}进行伪装处理;假设段sk的点集合记为SP={spw|w=1,2,…,t},其中t为该段中点的个数,
(a)对段sk进行平移处理,段sk中的点集合SP平移后的集合记为SP'={spw'|w=1,2,…,t},横纵坐标对应的平移偏量分别为hw和vw,根据公式(6)做相应的平移变换;
(b)对平移后的每段进行旋转处理,SP'旋转后的集合记为SP”={spw”|w=1,2,…,t},每段对应的旋转角度为αW',旋转基点为点集合SP”中对应的点spw”,根据公式(9)、(10)做相应的旋转变换;
(c)循环执行步骤17(a)和(b),直到所有段完成伪装处理;
步骤18:生成新图层数据R1和R2,将线要素li1中的点集合按原始顺序组成的线要素添加到数据R1中,将线要素li2中经伪装变换后的点集合按照原始顺序组成的线要素存放到数据R2中;
步骤19:重复步骤12-18,直到所有线要素完成伪装处理为止;
(二)针对线类型GIS矢量数据还原过程
步骤21:打开伪装后的矢量数据R1和R2,打开密钥文件key,读取用户指定密钥参数c;
步骤22:分别读取数据R1和数据R2中的线要素Li1={li1|i=1,2,…,m},Li2={li2|i=1,2,…,m},其中,m为数据R1中线要素的个数;
步骤23:对线要素li2进行分段处理,
(a)线要素Li1中还原后的点集合记为Pi1={pj|j=1,2,…,n},n为线要素li1中的点个数;
(b)依次读取点集合Pi1中相邻两个点pj、pj+1的序号Ij、Ij+1,在线要素li2点集合中遍历序号位于区间(Ij,Ij+1)之间的所有点,将这些点分为一段;
(c)循环步骤23(b),直至将线要素li2分为n-1个分段,记为S={sk|k=1,2,…,n-1};
步骤24:确定当前线要素li的基线l的直线方程,
(a)假设点集合Pi1的首尾点坐标分别记为pb(x1,y1),pe(xn,yn),根据公式(1)计算基线斜率k;
(b)假设pb点经平移后的点pb'在基线l上,pb'坐标记为(x1',y1'),平移公式如(2)所示,其中c为用户指定密钥参数;
(c)基线l的方程可表示为公式(3);
步骤25:对点集合Pi1做平移旋转变换使其落在基线l上,处理后的点作为每段点集合的旋转基点,
(a)根据公式(4)、(5)计算当前分段sk对应的横坐标平移偏移量hj和纵坐标平移偏移量vj
(b)根据公式(6)计算平移后的点集合Pi1'中的点坐标pj'(xj',yj');
(c)根据公式(1)计算当前段直线pjpj+1斜率kj,根据公式(7)确定基线l和当前段直线PjPj+1之间的夹角αj,当前段直线pjpj+1按逆时针旋转与基线重合的旋转角度αj'由公式(8)计算得出,旋转角度集合记为A={αj'|j=1,2,…,n};
(d)根据公式(9)、(10)计算旋转后的点集合pj”中的点坐标(xj”,yj”);
(e)循环处理步骤25(a)-(d),直至段S中各段处理完毕;
步骤26:对二级线要素li2中所有段S={sk|k=1,2,…,n-1}进行还原处理;假设段sk的点集合记为SP={spw|w=1,2,…,t},spw坐标记为(xw,yw),其中t为该段中点的个数,
(a)根据公式(9)、(10)对每段进行旋转处理:点集合SP中各点旋转后的点集合记为SP'={spw'|w=1,2,…,t},其中每段对应的旋转角度为A'={αj”|j=1,2,…,n},由公式(11)计算得出,
αj”=2π-αj' (11)
(b)对旋转后的每段进行平移操作:点集合SP'平移后的集合记为SP”={spw”|w=1,2,…,t},横纵坐标对应的平移偏量分别为-hj和-vj,根据公式(9)做相应的平移变换;
(c)循环执行步骤26(a)和(b),直到完成所有段的还原处理;
步骤27:将线要素li2中还原后的点集合与线要素li1中的点集合按照坐标序号从小到大的顺序重组成为线要素li,完成当前线要素的还原处理;
步骤28:重复步骤22-27,直到完成每个线要素的还原处理。
2.根据权利要求1所述的一种基于信息分存的涉密线状地理要素伪装与还原方法,其特征在于,所述步骤13中可根据安全性需要对一级线要素li1进行伪装处理。
CN201510101228.4A 2015-03-06 2015-03-06 一种基于信息分存的涉密线状地理要素伪装与还原方法 Expired - Fee Related CN104751399B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510101228.4A CN104751399B (zh) 2015-03-06 2015-03-06 一种基于信息分存的涉密线状地理要素伪装与还原方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510101228.4A CN104751399B (zh) 2015-03-06 2015-03-06 一种基于信息分存的涉密线状地理要素伪装与还原方法

Publications (2)

Publication Number Publication Date
CN104751399A CN104751399A (zh) 2015-07-01
CN104751399B true CN104751399B (zh) 2017-12-15

Family

ID=53591022

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510101228.4A Expired - Fee Related CN104751399B (zh) 2015-03-06 2015-03-06 一种基于信息分存的涉密线状地理要素伪装与还原方法

Country Status (1)

Country Link
CN (1) CN104751399B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106650343B (zh) * 2016-10-19 2019-02-01 南京师范大学 一种dem置乱加密与还原方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102243700A (zh) * 2011-06-30 2011-11-16 南京师范大学 一种基于混沌变换的shp线面图层数据伪装与还原方法
CN102393895A (zh) * 2011-11-15 2012-03-28 南京师范大学 基于插值预测的线面类型gis矢量数据伪装与还原方法
CN102411695A (zh) * 2011-12-01 2012-04-11 南京师范大学 基于插值预测的线面类型gis矢量数据伪装与还原方法
CN102622409A (zh) * 2012-02-09 2012-08-01 南京师范大学 基于夹角变换的线面类型gis矢量数据伪装与还原方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102243700A (zh) * 2011-06-30 2011-11-16 南京师范大学 一种基于混沌变换的shp线面图层数据伪装与还原方法
CN102393895A (zh) * 2011-11-15 2012-03-28 南京师范大学 基于插值预测的线面类型gis矢量数据伪装与还原方法
CN102411695A (zh) * 2011-12-01 2012-04-11 南京师范大学 基于插值预测的线面类型gis矢量数据伪装与还原方法
CN102622409A (zh) * 2012-02-09 2012-08-01 南京师范大学 基于夹角变换的线面类型gis矢量数据伪装与还原方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Study on the Method of Cartographic Visualization Quality Automated Testing;Anbo Li et al.;《Geoinformatics,2010 18th International Conference on》;20100620;1-6 *

Also Published As

Publication number Publication date
CN104751399A (zh) 2015-07-01

Similar Documents

Publication Publication Date Title
CN107689026A (zh) 基于最优编码的可逆隐写方法
Cao et al. Nonlinear scrambling-based reversible watermarking for 2D-vector maps
Qiao et al. A novel model watermarking for protecting generative adversarial network
CN107680109A (zh) 一种引用逆注意力与像素相似度学习的图像语义分割方法
Peng et al. Reversible watermarking for 2D CAD engineering graphics based on improved histogram shifting
CN102332079B (zh) 基于误差随机干扰的gis矢量数据伪装与还原方法
CN103077211A (zh) 一种gis矢量线面图层数据的置乱与还原方法
Wang et al. HidingGAN: High capacity information hiding with generative adversarial network
CN104751399B (zh) 一种基于信息分存的涉密线状地理要素伪装与还原方法
CN105975869B (zh) 基于显著性区域的自适应选择加密方法
CN106875324B (zh) 基于sbde的无损图像信息隐藏方法
CN117150456B (zh) 矢量地理数据交换密码水印方法、装置及介质
Wu et al. Position-Aware Masked Autoencoder for Histopathology WSI Representation Learning
CN104537635A (zh) 一种保持拓扑的土地覆被矢量数据的简化算法
CN102243700A (zh) 一种基于混沌变换的shp线面图层数据伪装与还原方法
Qu et al. DF-RAP: A Robust Adversarial Perturbation for Defending against Deepfakes in Real-world Social Network Scenarios
CN102393895A (zh) 基于插值预测的线面类型gis矢量数据伪装与还原方法
Zhang et al. Application and evaluation of object-oriented technology in high-resolution remote sensing image classification
CN104599224B (zh) 一种基于信息分存的涉密点状地理要素伪装与还原方法
Cheng et al. Topological quantum phase transitions of Chern insulators in disk geometry
Yang et al. Small object detection model for remote sensing images combining super-resolution assisted reasoning and dynamic feature fusion
CN103985081A (zh) 一种基于提升小波变换的数字图像多重置乱方法
Li et al. Point Transformer with Federated Learning for Predicting Breast Cancer HER2 Status from Hematoxylin and Eosin-Stained Whole Slide Images
Sun et al. Lossless digital watermarking scheme for image maps
CN102622409B (zh) 基于夹角变换的线面类型gis矢量数据伪装与还原方法

Legal Events

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

Granted publication date: 20171215

Termination date: 20200306

CF01 Termination of patent right due to non-payment of annual fee