一种用于降低矢量多边形空间数据精度的方法及装置的制造方法

文档序号:9472186阅读:357来源:国知局
一种用于降低矢量多边形空间数据精度的方法及装置的制造方法
【技术领域】
[0001]本发明涉及地理信息系统技术领域,特别是涉及一种用于降低矢量多边形空间数据精度的方法及装置。
【背景技术】
[0002]目前,在国土资源管理领域已经积累大量矢量多边形空间数据,这些矢量多边形空间数据中可能会包含有秘密的地理要素空间位置。为保证矢量多边形空间数据能够在保密的前提下进行资源共享,通常要对待共享的矢量数据进行脱密处理,将秘密级测绘成果中涉密的地理要素空间位置精度和属性内容转变为符合公开测绘成果。通常是采用对矢量多边形空间数据精度降低方法,即将矢量地理数据的坐标位置发生偏移,使数据增加误差,从而降低矢量多边形空间数据精度,达到脱密的目的。
[0003]国土资源管理中的矢量多边形空间数据最大的特点是数据呈图斑状,这些图斑数据以矢量多边形数据格式存储,经过精度降低处理之后的矢量多边形空间数据必须保持数据的基本特征,并保持原有的多边形拓扑关系。目前业界使用较多的矢量多边形空间数据精度降低方法主要有:投影变换法,图幅变换法和误差随机干扰法。其中误差随机干扰法不可逆性最强,经该方法降低精度的数据更加安全。但是,在对矢量多边形空间数据图斑进行精度降低处理时,传统的误差随机干扰法并不能较好地保持数据原有的基本特征,易造成图形空间拓扑关系改变和边缘锯齿化现象。

【发明内容】

[0004]本发明提供了一种用于降低矢量多边形空间数据精度的方法,降低精度后的数据不可逆性强,同时保持了数据原有的基本特征,该方法包括:
[0005]打开矢量多边形空间数据文件,获取矢量多边形空间数据;
[0006]对所述矢量多边形空间数据进行有损压缩,得到只包含特征点的多边形压缩数据,对所述压缩数据中的每个多边形,分别获取所述多边形中的每一点的原始坐标;
[0007]根据所述原始点坐标生成伪随机种子,对所述伪随机种子与预设数据进行模运算,将得到的运算结果作为所述原始点的偏移方向;
[0008]利用伪随机种子生成随机数,且伪随机种子值相同的点坐标生成的随机数相同,根据预设精度对所述随机数进行缩放,将缩放后的随机数作为所述原始点的偏移距离;
[0009]根据所述偏移距离以及所述偏移方向对所述原始点坐标进行偏移,得到偏移后的点坐标;
[0010]对矢量多边形空间数据中每个多边形的所有点数据进行偏移后,输出降低精度后的矢量多边形空间数据。
[0011]所述对所述矢量多边形空间数据进行有损压缩,得到只包含特征点的多边形压缩数据,具体包括:
[0012]对所述矢量多边形空间数据中每一条曲线,获取该曲线的起点和终点,计算该曲线起点和终点之间各个点分别到所述起点和所述终点连线的距离,并从中获取最大距离值;
[0013]当所述最大距离值不小于预设距离限差时,将所述最大距离值对应的点作为特征点,并以该特征点为界,把该曲线分割为第一曲线和第二曲线,对所述第一曲线和所述第二曲线分别进行压缩,重复上述过程,依次获取每条曲线上的所有特征点,将其作为压缩后的数据。
[0014]所述根据所述原始点坐标生成伪随机种子,具体包括:
[0015]将所述原始点坐标转换成第一数据类型的坐标;
[0016]根据预设精度对所述第一数据类型的坐标进行缩小范围处理,得到缩小范围后的点坐标;
[0017]将所述缩小范围后的点坐标中的X坐标与Y坐标合成一个第二数据类型的数据;
[0018]判断所述第二数据类型的数据是否溢出;
[0019]如果所述第二数据类型的数据溢出,用所述缩小范围后的点坐标中的X坐标与Y坐标分别对预设大素数做求模运算,将得到的运算结果合成为一个第二数据类型的数据,作为伪随机种子;
[0020]如果所述第二数据类型的数据没有溢出,将所述第二数据类型的数据直接作为伪随机种子。
[0021]所述根据预设精度对所述第一数据类型的坐标进行缩小范围处理,得到缩小范围后的点坐标,具体包括:
[0022]将所述第一数据类型的坐标中的X坐标与Y坐标分别对预设精度做除法运算,将运算结果的整数部分作为缩小范围后的点坐标。
[0023]所述利用伪随机种子生成随机数,且伪随机种子值相同的点坐标生成的随机数相同,根据预设精度对所述随机数进行缩放,将缩放后的随机数作为所述原始点的偏移距离,具体包括:
[0024]根据伪随机种子调用随机数生成函数生成随机数;
[0025]判断所述随机数与预设精度数量级的大小关系;
[0026]如果所述随机数的数量级小于预设精度的数量级,将所述随机数与预设精度做乘法运算,得到的结果作为所述原始点的偏移距离;
[0027]如果所述随机数的数量级大于预设精度的数量级,将所述随机数与预设精度做除法运算,得到的结果作为所述原始点的偏移距离;
[0028]如果所述随机数的数量级等于预设精度的数量级,将所述随机数直接作为所述原始点的偏移距离。
[0029]—种用于降低矢量多边形空间数据精度的装置,包括:
[0030]打开文件模块,用于打开矢量多边形空间数据文件,获取矢量多边形空间数据;
[0031]有损压缩模块,用于对所述矢量多边形空间数据进行有损压缩,得到只包含特征点的多边形压缩数据;
[0032]获取模块,用于对所述压缩数据中的每个多边形,分别获取所述多边形中的每一点的原始坐标;
[0033]生成种子模块,用于根据所述原始点坐标生成伪随机种子;
[0034]生成偏移方向模块,用于对所述伪随机种子与预设数据进行模运算,将得到的运算结果作为原始点的偏移方向;
[0035]生成偏移距离模块,用于利用伪随机种子生成随机数,且伪随机种子值相同的点坐标生成的随机数相同,根据预设精度对所述随机数进行缩放,将缩放后的随机数作为所述原始点的偏移距离;
[0036]偏移模块,用于根据偏移距离以及所述偏移方向对所述原始坐标进行偏移,得到偏移后的点坐标;
[0037]输出模块,用于对矢量多边形空间数据中每个多边形的所有点数据进行偏移后,输出降低精度后的矢量多边形空间数据。
[0038]所述有损压缩模块,具体包括:
[0039]获取最大距离值子模块,用于对所述矢量多边形空间数据中每一条曲线,获取该曲线的起点和终点,计算该曲线起点和终点之间各个点分别到所述起点和所述终点连线的距离,并从中获取最大距离值;
[0040]曲线分割子模块,用于当所述最大距离值不小于预设距离限差时,将所述最大距离值对应的点作为特征点,并以该特征点为界,把该曲线分割为第一曲线和第二曲线,对所述第一曲线和所述第二曲线分别进行压缩,重复上述过程,依次获取每条曲线上的所有特征点,将其作为压缩后的数据。
[0041]所述生成种子模块,具体包括:
[0042]类型转换子模块,用于将所述原始点坐标转换成第一数据类型的坐标;
[0043]缩小范围子模块,用于根据预设精度对所述第一数据类型的坐标进行缩小范围处理,得到缩小范围后的点坐标;
[0044]合成子模块,用于将所述缩小范围后的点坐标中的X坐标与Y坐标合成一个第二数据类型的数据;
[0045]溢出判断子模块,用于判断所述第二数据类型的数据是否溢出;
[0046]溢出处理子模块,用于在所述第二数据类型的数据溢出时,用所述缩小范围后的点坐标中的X坐标与Y坐标分别对预设大素数做求模运算,将得到的运算结果合成为一个第二数据类型的数据,作为伪随机种子;
[0047]未溢出处理子模块,用于将所述第二数据类型的数据直接作为伪随机种子。
[0048]所述缩小范围子模块,具体用于将所述第一数据类型的坐标中的X坐标与Y坐标分别对所述预设精度做除法运算,将运算结果的整数部分作为缩小范围后的点坐标。
[0049]所述生成偏移距离模块,具体包括:
[0050]生成随机数子模块,用于根据伪随机种子调用随机数生成函数生成随机数;
[0051]精度判断子模块,用于判断所述随机数与预设精度数量级的大小关系;
[0052]数量级较小处理子模块,用于在所述随机数的数量级小于预设精度的数量级时,将所述随机数与预设精度做乘法运算,得到的结果作为所述原始点的偏移距离;
[0053]数量级较大处理子模块,用于在所述随机数的数量级大于预设精度的数量级时,将所述随机数与预设精度做除法运算,得到的结果作为所述原始点的偏移距离;
[0054]数量级相等处理子模块,用于在所述随机数的数量级等于预设精度的数量级时,将所述随机数直接作为所述原始点的偏移距离。
[0055]根据本发明提供的具体实施例,本发明公开了以下技术效果:
[0056]通过对矢量多边形空间数据中每个多边形分别进行有损压缩,得到压缩后的多边形数据,仅保留特征点数据,后续对特征点数据进行操作,有效地减少矢量多边形空间数据边缘锯齿状的现象,避免图像失真。获取所述压缩后的多边形中每一点的原始坐标,根据该原始点坐标生成伪随机种子,对所述伪随机种子进行模运算,将得到的计算结果作为所述原始点
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1