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

文档序号:9472186阅读:来源:国知局
的偏移方向;利用伪随机种子生成随机数,根据预设精度对所述随机数进行缩放,将缩放后的随机数作为所述原始点的偏移距离;根据所述偏移距离以及所述偏移方向对原始点坐标进行偏移,得到偏移后的点坐标。由于伪随机种子值相同的点坐标生成的随机数相同,能够使伪随机种子相同的点坐标在进行精度降低处理时的偏移距离和方向相同,能够保证原始矢量空间坐标相同的数据在进行精度降低处理后空间坐标也相同,从而保持了矢量多边形空间数据的原始拓扑关系与数据基本特征,并且避免图像产生失真现象。
【附图说明】
[0057]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0058]图1是本发明实施例提供的一种用于降低矢量多边形空间数据精度的方法流程图;
[0059]图2是本发明实施例提供的对矢量多边形空间数据进行精度降低处理方法流程图;
[0060]图3是本发明实施例提供的矢量多边形空间数据有损压缩的方法流程图;
[0061]图4-7是本发明实施例提供的矢量多边形空间数据有损压缩过程示意图;
[0062]图8是本发明实施例提供的原始的矢量多边形空间数据示意图;
[0063]图9是本发明实施例提供的矢量多边形空间数据有损压缩后的示意图;
[0064]图10是本发明实施例提供的矢量多边形空间数据精度降低后的示意图;
[0065]图11是本发明实施例提供的直接进行矢量多边形空间数据精度降低后的示意图;
[0066]图12是本发明实施例提供的一种用于降低矢量多边形空间数据精度的装置框图。
【具体实施方式】
[0067]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
[0068]本实施例提供一种用于降低矢量多边形空间数据精度的方法,如图1所示,包括:
[0069]步骤101:打开矢量多边形空间数据文件,获取矢量多边形空间数据,对矢量多边形空间数据进行有损压缩,得到只包含特征点的多边形压缩数据,对压缩数据中的每个多边形,分别获取该多边形中的每一点的原始坐标;
[0070]国土资源管理中的矢量多边形空间数据是呈图斑状,对于矢量多边形空间数据中存在的一些秘密的地理要素空间位置,需要通过降低数据精度的处理方法,使矢量多边形空间数据脱密,达到数据安全共享的目的。本实施例中,对矢量多边形空间数据中每一条曲线,获取该曲线的起点和终点,计算该曲线起点和终点之间各个点分别到起点和终点连线的距离,并从中获取最大距离值。当最大距离值不小于预设距离限差时,将最大距离值对应的点作为特征点,并以该特征点为界,把该曲线分割为第一曲线和第二曲线,对第一曲线和第二曲线分别进行上述方式的压缩,重复上述过程,依次获取每条曲线上的所有特征点,将其作为压缩后的数据。
[0071]进一步的,当最大距离值小于预设距离限差时,删除该曲线上除起点和终点外的所有点,即该曲线压缩结束。
[0072]本实施例中,通过这种将最大距离值与预设距离限差比较的方法,分段获取最大距离值不小于预设距离限差的曲线段上的所有特征点,删除掉最大距离值小于预设距离限差的每一曲线段中的非特征点,以此只提取矢量多边形空间数据中的特征点,完成对矢量多边形空间数据的有损压缩,确保矢量多边形空间数据中的所有特征点存在,该方法能够有效降低非特征点在后续降低精度处理过程中造成图形失真以及边缘锯齿化的影响。
[0073]步骤102:根据原始点坐标生成伪随机种子,对伪随机种子与预设数据进行模运算,将得到的运算结果作为原始点的偏移方向;
[0074]本实施例中,将该原始点坐标转换成第一数据类型的坐标,根据预设精度范围对第一数据类型的坐标进行缩小范围处理,得到缩小范围后的点坐标。将缩小范围后的点坐标中的X坐标与Y坐标合成一个第二数据类型的数据;判断该第二数据类型的数据是否溢出;如果该第二数据类型的数据溢出,用缩小范围后的点坐标中的X坐标与Y坐标分别对预设大素数做求模运算,将得到的运算结果合成为一个第二数据类型的数据,作为伪随机种子;如果该第二数据类型的数据没有溢出,将该第二数据类型的数据直接作为伪随机种子。其中,第一数据类型为整型,第二数据类型为双精度浮点型,预设精度为10的η次幂,η为正整数,η的值根据秘密级测绘成果中涉密的地理要素空间位置的属性确定,预设大素数为8191,即2的13次幂与I的差值,该值能够满足对其求模后得到的第二数据类型的数据不超过溢出临界值。其溢出临界值是计算机中双精度浮点型数据的上限,取值等于1.7与10的308次幂的乘积。
[0075]具体的,将该原始点坐标转换成第一数据类型的坐标,使该点的坐标缩小范围,将第一数据类型的坐标中的X坐标与Y坐标分别对预设精度做除法运算,将运算结果的整数部分作为缩小范围后的点坐标,将缩小范围后的点坐标中的X坐标与Y坐标合成一个第二数据类型的数据,判断该第二数据类型的数据是否溢出,根据溢出情况对该第二数据类型的数据按照上述约定规则作为伪随机种子。伪随机种子能够保证其值相同的点坐标生成的随机数相同,从而实现原始矢量空间坐标相同的点数据生成的伪随机种子相同,进而根据相同的伪随机种子生成的相同随机数,保证其偏移距离和偏移方向相同,从而进行精度降低处理之后的空间坐标也相同,从而保持了矢量多边形空间数据的原始拓扑关系与数据基本特征,避免了图像失真的现象。
[0076]在生成伪随机种子之后,将该伪随机种子的值与预设数据进行模运算,将得到的运算结果作为偏移方向。其中,预设数据为2。当运算结果的值为O时,表示偏移方向是正方向;当运算结果的值为I时,表示偏移方向是反方向。
[0077]步骤103:利用伪随机种子生成随机数,且伪随机种子值相同的点坐标生成的随机数相同,根据预设精度对该随机数进行缩放,将缩放后的随机数作为原始点的偏移距离;
[0078]本实施例中,每个点坐标根据伪随机种子调用随机数生成函数生成一个随机数,对于随机种子值相同的点坐标生成的随机数相同。然后判断该随机数与预设精度数量级的大小关系,如果该随机数的数量级小于预设精度的数量级,将该随机数与预设精度做乘法运算,得到的结果作为原始点的偏移距离;如果该随机数的数量级大于预设精度的数量级,将该随机数与预设精度做除法运算,得到的结果作为原始点的偏移距离;如果该随机数的数量级等于预设精度的数量级,将该随机数直接作为原始点的偏移距离。
[0079]步骤104:根据偏移距离以及偏移方向对原始点坐标进行偏移,得到偏移后的点坐标;
[0080]具体的,根据步骤103中计算得到的偏移距离以及步骤102中计算得到的偏移方向,对原始点坐标在步骤102中计算得到的偏移方向上,按照步骤103中计算得到的偏移距离进行偏移,得到偏移后的点坐标。通过这种偏移,能够保证不同多边形中相同的点在偏移之前与偏移之后的空间拓扑关系不发生改变,即保持原数据的基本特征。
[0081]步骤105:对矢量多边形空间数据中每个多边形的所有点数据进行偏移后,输出降低精度后的矢量多边形空间数据。
[0082]本实施例中,对每个多边形中的所有点数据都进行偏移处理之后,得到精度降低后的各个点坐标,组成了降低精度后的矢量多边形空间数据。由于每个原始点进行偏移时,是基于偏移距离以及偏移方向进行偏移,从而保证了原数据的拓扑关系与基本特征,因此,在本实施例中,通过对矢量多边形空间数据进行有损压缩,减少原数据中的非特征点,只保留特征点,对特征点进行偏移处理,达到降低精度的目的。能够保证原始矢量多边形空间数据的基本特征不变、避免图形失真。
[0083]本实施例中,对矢量多边形空间数据进行精度降低处理具体如图2所示,现进行举例说明如下:
[0084]步骤1:对每个多边形进行矢量多边形空间数据有损压缩,获取压缩后的多边形数据。
[0085]步骤11:根据需求给定距离限差D ;
[0086]步骤12:确定多边形中每一条曲线的起点和终点,求第一条曲线起止点之间所有点与起止点连线的距离,并找出最大距离值dmax ;
[0087]步骤13:若dmax〈D,这条曲线上的中间点直接全部舍去;若dmax多D,将dmax对应的坐标点作为保留点,并以该点为界,把曲线分割为两条曲线,然后对这两条曲线都使用该过程进行压缩;
[0088]步骤14:顺序选取接下来的一条曲线进行处理,直到所有矢量多边形空间数据处理结束。
[0089]图3是本发明实施例中进行矢量多边形空间数据有损压缩方法的流程图,利用图4-图7对该矢量多边形空间数据有损压缩方法进行描述,图4-图7中采用同一距离限差D。对于如图4所示的点I至点9之间的原始曲线段,给定压缩的距离限差D,首先求出点2至点8到点I和点9的连线的垂距,垂距最大距离即为点6到点I和点9的连线的垂距dl,由于dl大于距离限差D,则以点6为界,将点I
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1