首页> 中国专利> 基于要素几何精度弱化的GIS矢量数据伪装与还原方法

基于要素几何精度弱化的GIS矢量数据伪装与还原方法

摘要

本发明公开了一种基于要素几何精度弱化的GIS矢量数据伪装与还原方法。本发明的数据伪装方法包括以下步骤:(1)打开一个GIS矢量数据图层文件,读取属性字段名称,设置8位二进制随机信息做为密钥Key;(2)判断图层类型:针对点图层数据,分别读取一点要素的所指定属性信息和几何信息到数值型变量a和点对象Point中,并进行Point值的精度弱化;针对线面图层数据,读取一要素中所有点的几何数据到数组队列D中,其指定属性信息读取到数值型变量a中,并对D中的每一个点进行Point值的精度弱化;(3)循环处理完每一要素后,保存伪装后的数据。本发明的方法能有效提高GIS矢量数据在数据传输中的安全性,可应用于GIS矢量数据的隐藏通信与安全传输。

著录项

  • 公开/公告号CN102509056A

    专利类型发明专利

  • 公开/公告日2012-06-20

    原文格式PDF

  • 申请/专利权人 南京师范大学;

    申请/专利号CN201110293514.7

  • 发明设计人 李安波;闾国年;张驰;

    申请日2011-09-28

  • 分类号G06F21/24;

  • 代理机构南京知识律师事务所;

  • 代理人汪旭东

  • 地址 210046 江苏省南京市栖霞区文苑路1号

  • 入库时间 2023-12-18 05:34:25

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-11-10

    未缴年费专利权终止 IPC(主分类):G06F21/60 授权公告日:20140423 终止日期:20160928 申请日:20110928

    专利权的终止

  • 2014-04-23

    授权

    授权

  • 2012-07-18

    实质审查的生效 IPC(主分类):G06F21/24 申请日:20110928

    实质审查的生效

  • 2012-06-20

    公开

    公开

说明书

技术领域

本发明属于地理信息安全领域,具体涉及一种基于几何精度弱化技术进行GIS矢量数据伪装与还原的方法。

背景技术

地理信息的安全防护涉及国家安全和社会利益,是当前急需解决的国家和社会重大需求问题。特别是当今空间数据共享需求逐步扩大,地理信息服务应用不断拓展的情况下,地理信息的安全问题进一步突出。作为国家空间数据基础设施主要数据内容的GIS矢量数据,其信息安全研究更是至关重要。

目前,信息伪装已成为信息安全研究中除密码学之外的另一重要分支。国内外相关研究文献及专利检索结果分析表明,目前,在信息伪装的研究方面,所研究的载体数据类型主要包括图像、视频、遥感影像、DEM等。但是,矢量数据由于其具有无固定存储顺序的数据组织、多样的数据格式、强大的可视化表达手段、复杂的投影变换、繁多的空间分析应用,以及精度高、冗余少等诸多方面的特性,使得针对矢量数据的信息伪装研究具有一定的特殊性和较大难度。

发明内容

本发明的目的在于:基于要素属性信息进行要素几何精度弱化的思路,提出一种针对GIS矢量数据的伪装与还原方法,以有效提高GIS矢量数据在数据传输、脱密处理中的安全性。

为了实现上述目的,本发明所采取的技术方案如下:

基于要素几何精度弱化的GIS矢量数据伪装与还原方法,主要包括以下过程:

(1)伪装过程:

步骤一:打开一个GIS矢量数据图层文件,读取属性字段名称,设置处理用的数值型属性字段名称;设置8位二进制随机信息作为密钥Key,并存入密钥文件;

步骤二:判断图层类型,如果为点图层数据,则执行步骤三;如果为线面图层数据,则执行步骤四;

步骤三:

(a)分别读取一点要素的所指定属性信息和几何信息到数值型变量a和点对象Point中;

(b)基于如下公式(1),进行Point值的精度弱化:

              Point.x=Point.x+1/f(a)

              Point.y=Point.y+1/f(a)                          (1)

其中,函数f(a)为取变量a的属性等级,其值域为[1,n],n为正整数;1/f(a)运算中的小数位数,与相应点的小数位数保持一致;

步骤四:

(a)读取一个要素中所有点的几何数据到数组队列D中,其指定属性信息读取到数值型变量a中;

(b)针对数组队列D中的每一个点,基于如下公式(2),进行Point值的精度弱化:

              Point.x=Point.x+1/f(a) *g(Key, Mod(i,8))   

              Point.y=Point.y+1/f(a) *g(Key, Mod(i,8))    (2)

    其中,i为数组队列D中点的序号;Key为密钥;函数Mod()为取余函数;函数g()为基于点序号i值所确定的余数从密钥Key中取出相应位的取值,其值为0或1;函数f(a)为取变量a的属性等级,其值域为[1,n],n为正整数;1/f(a)运算中的小数位数,与相应点的小数位数保持一致;

    步骤五:根据不同的图层类型,循环执行步骤三或步骤四,直至每一要素处理完毕后,保存伪装后的数据文件;

(2)还原过程:

步骤一:选择处理用属性字段名称,打开一个GIS矢量数据图层文件;读取密钥文件并设置密钥Key;

步骤二:判断图层类型,如果为点图层数据,则执行步骤三;如果为线面图层数据,则执行步骤四;

步骤三:

(a)分别读取一点要素的所指定属性信息和几何信息到数值型变量a和点对象Point中;

(b)基于如下公式(3),进行Point值的精度弱化:

              Point.x=Point.x-1/f(a)

              Point.y=Point.y-1/f(a)                            (3)

其中,函数f(a)为取变量a的属性等级,其值域为[1,n],n为正整数;1/f(a)运算中的小数位数,与相应点的小数位数保持一致;

步骤四:

(a)读取一个要素中所有点的几何数据到数组队列D中,其指定属性信息读取到数值型变量a中;

(b)针对数组队列D中的每一个点,基于如下公式(4),进行Point值的精度弱化:

              Point.x=Point.x-1/f(a) *g(Key, Mod(i,8))

              Point.y=Point.y-1/f(a) *g(Key, Mod(i,8))      (4)

    其中,i为数组队列D中点的序号;Key为密钥;函数Mod()为取余函数;函数g()为基于点序号i值所确定的余数从密钥Key中取出相应的密钥位,其值为0或1;函数f(a)为取变量a的属性等级,其值域为[1,n],n为正整数;1/f(a)运算中的小数位数,与相应点的小数位数保持一致;

    步骤五:根据不同的图层类型,循环执行步骤三或步骤四,直至每一要素处理完毕后,保存伪装后的数据文件。

本发明根据GIS矢量数据的数据组织特点,基于要素属性信息进行要素几何精度弱化的思路,提出了一种针对GIS矢量数据的伪装与还原方法,可以进行shp等格式数据的伪装与还原处理,一定程度上满足了GIS矢量数据的隐藏通信与安全传输需求。

附图说明

图1 是本发明实施例选取的实验数据。

图2 是本发明实施例的原始数据局部效果图。

图3 是本发明实施例的伪装数据局部效果图。

图4 是图3效果图的边缘局部放大图。

具体实施方式

下面结合附图和实施例做进一步详细说明。

本实例选择一典型的shp面图层数据,针对数据的读取、伪装处理、数据还原的整个过程,进一步详细说明本发明。本实施例选择全国1:400万的省界面状图层数据(如图1)作为实验数据。密钥Key值为“10010101”。选取AREA字段为处理用要素属性字段。

(1)数据伪装处理。

步骤一:打开省界图层数据文件,数据格式为面状数据,密钥Key值为“10010101”。

步骤二:判断图层类型,为面状图层数据,则执行如下步骤。

步骤三:

(a)读取第一个要素中的923点的几何数据到数组队列D中,其相应AREA字段的属性取值68.488655,读取到数值型变量a中。

(b)针对数组队列D中的每一个点,基于如下公式(2),进行Point值的精度弱化:

              Point.x=Point.x+1/f(a) *g(Key, Mod(i,8))   

              Point.y=Point.y+1/f(a) *g(Key, Mod(i,8))    (2)

    读取的第一个点为{121.49738309820822, 53.32104492451802},本实施例中,函数f(a)结果为计算变量a整数部分位数,即变量a整数部分位数即为要素属性级别。针对第一个点,f(68.488655)=2,经处理,第一个点的值为{121.99738309820822, 53.82104492451802}。

步骤四:循环步骤三,直至每一要素处理完毕后,保存伪装后的数据文件。

(2)数据还原处理。

步骤一:打开伪装处理后的省界图层数据文件,数据格式为面状数据。读取密钥文件,并设置密钥密钥Key,其值为“10010101”。选取AREA字段为处理用要素属性字段。

步骤二:判断图层类型,为面状图层数据,则执行如下步骤。

步骤三:

(a)读取第一个要素中的923点的几何数据到数组队列D中,其相应AREA字段的属性取值68.488655,读取到数值型变量a中。

(b)针对数组队列D中的每一个点,基于如下公式(4),进行Point值的精度弱化:

Point.x=Point.x-1/f(a) *g(Key, Mod(i,8))

              Point.y=Point.y-1/f(a) *g(Key, Mod(i,8))      (4)

读取的第一个点为{121.99738309820822, 53.82104492451802},经处理,其值还原为{121.49738309820822, 53.32104492451802}。

 步骤四:循环步骤三,直至每一要素处理完毕后,保存伪装后的数据文件。

本发明实施例中仅以面图层数据进行数据伪装与还原处理,该方法也可以适用于点、线类型图层数据。

本发明实施例中仅以shp格式的GIS矢量数据进行数据伪装与还原处理,该方法也适用于GML、E00、MIF等其它格式GIS矢量数据的数据伪装与还原处理。

本发明实施例中,函数f(a)为计算变量a整数部分位数,即变量a整数部分位数即为要素属性级别。也可以采用其它分级函数。

3)测试分析。

由上述实施例中原始数据(图2)与伪装处理数据的效果图(图3、图4)可知:数据经伪装处理后,虽仍为可使用GIS软件正确打开的shp数据,但要素坐标点的位置发生了较大变化,对于数据精度质量要求较高的GIS矢量数据来说,这一处理显著降低了数据质量和数据使用价值,限制了非法拷贝或拦截数据的正常使用,达到一定的数据保护目的。只有合法用户获取到密钥文件,才能正确、无损地还原数据。

综上分析,本发明所采用的方法可以成功地应用于GIS矢量数据的伪装与还原处理,一定程度上满足GIS矢量数据的隐藏通信与安全传输需求。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号