数据压缩方法、装置及终端与流程

    专利2022-07-08  75


    本申请属于数据处理技术领域,具体涉及一种数据压缩方法、装置及终端。



    背景技术:

    随着数字地图的应用越来越广泛,给数据存储带来越来越大的压力,并且,对于地理数据处理能力以及数据传输能力要求更加迅速。而对于数字地图的内部存储方式主要分为栏栅和矢量数据两类。针对矢量进行数据存储压缩是从一个数据集抽取出子集,在一定程度上要求该子集尽量小并不丢失精确度,相关技术中,使用james算法进行数据压缩,james算法的基本思路是依次计算围栏上每个点与前后点所形成的夹角,若夹角a1、a2超过了分界夹角j则保留当前节点,否则,舍去该围栏节点数据。james算法每次通过相邻的三个点来决定节点的取舍,因此数据压缩效率比较高,但因为其仅仅考量局部特征因为连续的小角度变化时可能会出现围栏整体失真的情况。



    技术实现要素:

    为至少在一定程度上克服相关技术中,使用james算法进行数据压缩,仅仅考量局部特征因为连续的小角度变化时可能会出现围栏整体失真的情况的问题,本申请提供一种数据压缩方法、装置及终端。

    第一方面,本申请提供一种数据压缩方法,包括:

    获取围栏数据中一个数据节点及与所述数据节点相邻的左节点和右节点;

    分别连接所述数据节点与所述左节点和右节点形成以所述数据节点为顶点的线段夹角,判断所述夹角是否小于预设角度限差;

    在所述夹角小于预设角度限差时,通过所述左节点做扇形,判断所述数据节点是否落在所述扇形内;

    若是,删除所述数据节点。

    进一步的,所述通过所述左节点做扇形,包括:

    连接所述左节点和所述数据节点,经过所述数据节点做垂直线;

    在所述垂直线上取两个交点使得两个交点与所述数据节点形成的线段相等;

    通过所述左节点和所述两个交点做扇形。

    进一步的,所述在所述垂直线上取两个交点使得两个交点与所述数据节点形成的线段相等,包括:

    预设距离限差,根据所述距离限差在所述垂直线上取两个交点使得两个交点,使得两个交点与所述数据节点形成的两个线段的长度值等于所述距离限差。

    进一步的,还包括:

    在所述夹角不小于预设角度限差时,保留所述数据节点作为特征点。

    进一步的,所述保留所述数据节点作为特征点后,还包括:

    遍历所述数据围栏中的所有数据节点,获取所述数据围栏中的所有特征点;

    计算所述特征点分别与相邻特征点的距离值;

    判断所述距离值中的最大距离是否大于预设距离限差;

    若是,连接所述特征点与所述最大距离对应的相邻特征点。

    进一步的,所述计算所述特征点分别与相邻特征点的距离值,包括:

    预设节点个数限差;

    将所述特征点作为头节点,与所述特征点距离所述预设节点个数限差的特征点作为尾节点;

    连接头节点和所述尾节点得到节点线段;

    分别通过所述头节点和所述尾节点之间的特征点向所述节点线段做垂直线段,所述垂直线段为计算所述特征点分别与相邻特征点的距离值。

    进一步的,还包括:

    在所述最大距离小于预设距离限差时,删除所述相邻特征点。

    进一步的,还包括:

    遍历所述数据围栏中的所有特征点,删除冗余数据点以实现数据围栏中数据压缩。

    第二方面,本申请提供一种数据压缩装置,包括:

    获取模块,用于获取围栏数据中一个数据节点及与所述数据节点相邻的左节点和右节点;

    线段夹角判断模块,用于分别连接所述数据节点与所述左节点和右节点形成以所述数据节点为顶点的线段夹角,判断所述夹角是否小于预设角度限差;

    扇形判断模块,用于在所述夹角小于预设角度限差时,通过所述左节点做扇形,判断所述数据节点是否落在所述扇形内;

    删除模块,用于在所述数据节点落在所述扇形内时,删除所述数据节点。

    第三方面,本申请提供一种终端,包括:

    处理器和存储器;

    所述处理器用于执行存储器中存储的计算机程序以实现如第一方面中任意一项所述的数据压缩方法。

    本申请的实施例提供的技术方案可以包括以下有益效果:

    本发明实施例提供的数据压缩方法、装置及终端,数据压缩方法包括获取围栏数据中一个数据节点及与数据节点相邻的左节点和右节点,分别连接数据节点与左节点和右节点形成以数据节点为顶点的线段夹角,判断夹角是否小于预设角度限差,在夹角小于预设角度限差时,通过左节点做扇形,判断数据节点是否落在扇形内,若是,删除该数据节点,可以弥补传统james算法进行数据压缩的缺陷,尤其是对电子地图围栏数据的压缩处理更加有效,有效改善压缩后的图形失真情况。

    应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

    附图说明

    此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

    图1为本申请一个实施例提供的一种数据压缩方法的流程图。

    图2为本申请另一个实施例提供的一种数据压缩方法的流程图。

    图3为本申请另一个实施例提供的一种数据压缩方法的流程图。

    图4为本申请一个实施例提供的一种数据压缩方法的原理示意图。

    图5为本申请另一个实施例提供的一种数据压缩方法的原理示意图。

    图6为本申请一个实施例提供的一种数据压缩装置的功能结构图。

    具体实施方式

    为使本申请的目的、技术方案和优点更加清楚,下面将对本申请的技术方案进行详细的描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本申请所保护的范围。

    图1为本申请一个实施例提供的数据压缩方法的流程图,如图1所示,该数据压缩方法包括:

    s11:获取围栏数据中一个数据节点及与数据节点相邻的左节点和右节点;

    s12:分别连接数据节点与左节点和右节点形成以数据节点为顶点的线段夹角,判断夹角是否小于预设角度限差;

    s13:在夹角小于预设角度限差时,通过左节点做扇形,判断数据节点是否落在扇形内;

    s14:若是,删除该数据节点。

    一些实施例中,还包括:

    在夹角不小于预设角度限差时,保留数据节点作为特征点。

    如图4所示,a1,a2分别为线段夹角,获取p1p2与p2p3线段夹角,若角度a2>j(角度限差)则保留p2点,并标记p2为特征点。

    依次遍历围栏数据中所有数据节点,从而获取围栏数据中所有特征点。

    传统使用james算法进行数据压缩,james算法的基本思路是依次计算围栏上每个点与前后点所形成的夹角,若夹角a1、a2超过了分界夹角j则保留当前节点,否则,舍去该围栏数据节点。james算法每次通过相邻的三个点来决定节点的取舍,其仅仅考量局部特征,若出现连续的小角度变化时可能会出现围栏整体失真的情况。

    本实施例中,通过获取围栏数据中一个数据节点及与数据节点相邻的左节点和右节点,分别连接数据节点与左节点和右节点形成以数据节点为顶点的线段夹角,判断夹角是否小于预设角度限差,在夹角小于预设角度限差时,通过左节点做扇形,判断数据节点是否落在扇形内,若是,删除该数据节点,可以弥补传统james算法进行数据压缩的缺陷,尤其是对电子地图围栏数据的压缩处理更加有效,有效改善压缩后的图形失真情况。

    本申请一个实施例提供另一种数据压缩方法,如图2所示流程图,该数据压缩方法包括:

    s21:连接左节点和数据节点,经过数据节点做垂直线;

    s22:在垂直线上取两个交点使得两个交点与数据节点形成的线段相等;

    一些实施例中,在垂直线上取两个交点使得两个交点与数据节点形成的线段相等,包括:

    预设距离限差,根据距离限差在垂直线上取两个交点使得两个交点,使得两个交点与数据节点形成的两个线段的长度值等于距离限差。

    s23:通过左节点和两个交点做扇形。

    若a2<j(角度限差),则连接p1,p2并经过p2做垂直线,垂直线上取两点q1、q2使得q1p2=q2p2=g(距离限差),垂直线与扇形(初始化扇形由p1q1与q2p1形成)相交形成b1与b2点,判断点q1或点q2是否落在扇形内,若是用b1或b2取代点q1或点q2,形成以点p1、b1和b2组成的新的扇形,删除p2点,否则,继续判断后续数据节点。

    若此时pi 1(后续节点)在扇形内,则舍去pi点;然后连接pi-1点和pi 1点,将pi-1点作为为pi点,。若此时pi 1不在扇形内,则保留pi点。

    本实施例中,在进行线段夹角判断后继续进行扇形判断,避免因连续的小角度变化时可能会出现围栏整体失真的情况的问题,提高压缩效果,有效改善压缩后的图形失真情况。

    图3为本申请另一个实施例提供的数据压缩方法的流程图,如图3所示,该数据压缩方法包括:

    s31:遍历数据围栏中的所有数据节点,获取数据围栏中的所有特征点;

    s32:计算特征点分别与相邻特征点的距离值;

    一些实施例中,如图5所示,计算特征点分别与相邻特征点的距离值,包括:

    s321:预设节点个数限差;

    s322:将特征点作为头节点,与特征点距离预设节点个数限差的特征点作为尾节点;

    s323:连接头节点和所述尾节点得到节点线段;

    s324:分别通过头节点和尾节点之间的特征点向节点线段做垂直线段,垂直线段为计算特征点分别与相邻特征点的距离值。

    s33:判断距离值中的最大距离是否大于预设距离限差;

    s34:若是,连接特征点与最大距离对应的相邻特征点。

    s35:在最大距离小于预设距离限差时,删除相邻特征点。

    s36:遍历数据围栏中的所有特征点,删除冗余数据点以实现数据围栏中数据压缩。

    本实施例中,通过计算特征点分别与相邻特征点的距离值,对特征点进行进一步筛选,进一步提升压缩效果。

    图6为本申请一个实施例提供的数据压缩装置的功能结构图,如图6所示,该数据压缩装置包括:

    获取模块61,用于获取围栏数据中一个数据节点及与所述数据节点相邻的左节点和右节点;

    线段夹角判断模块62,用于分别连接数据节点与左节点和右节点形成以数据节点为顶点的线段夹角,判断夹角是否小于预设角度限差;

    扇形判断模块63,用于在夹角小于预设角度限差时,通过左节点做扇形,判断数据节点是否落在扇形内;

    删除模块64,用于在数据节点落在扇形内时,删除数据节点。

    一些实施例中,还包括距离判断模块65,用于计算特征点分别与相邻特征点的距离值,判断距离值中的最大距离是否大于预设距离限差,通过判断结果确定是否删除相邻特征点。

    本实施例中,通过获取模块获取围栏数据中一个数据节点及与数据节点相邻的左节点和右节点,线段夹角判断模块分别连接数据节点与左节点和右节点形成以数据节点为顶点的线段夹角,判断夹角是否小于预设角度限差,扇形判断模块在夹角小于预设角度限差时,通过左节点做扇形,判断数据节点是否落在扇形内,删除模块在数据节点落在扇形内时,删除数据节点,可以弥补传统james算法进行数据压缩的缺陷,尤其是对电子地图围栏数据的压缩处理更加有效,有效改善压缩后的图形失真情况。

    本实施例提供一种终端,包括:

    处理器和存储器;

    处理器用于执行存储器中存储的计算机程序以实现如上述实施例中任意一项所述的数据压缩方法。

    可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。

    需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。

    流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

    应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

    本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

    此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

    上述提到的存储介质可以是只读存储器,磁盘或光盘等。

    在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

    尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

    需要说明的是,本发明不局限于上述最佳实施方式,本领域技术人员在本发明的启示下都可得出其他各种形式的产品,但不论在其形状或结构上作任何变化,凡是具有与本申请相同或相近似的技术方案,均落在本发明的保护范围之内。


    技术特征:

    1.一种数据压缩方法,其特征在于,包括:

    获取围栏数据中一个数据节点及与所述数据节点相邻的左节点和右节点;

    分别连接所述数据节点与所述左节点和右节点形成以所述数据节点为顶点的线段夹角,判断所述夹角是否小于预设角度限差;

    在所述夹角小于预设角度限差时,通过所述左节点做扇形,判断所述数据节点是否落在所述扇形内;

    若是,删除所述数据节点。

    2.根据权利要求1所述的数据压缩方法,其特征在于,所述通过所述左节点做扇形,包括:

    连接所述左节点和所述数据节点,经过所述数据节点做垂直线;

    在所述垂直线上取两个交点使得两个交点与所述数据节点形成的线段相等;

    通过所述左节点和所述两个交点做扇形。

    3.根据权利要求2所述的数据压缩方法,其特征在于,所述在所述垂直线上取两个交点使得两个交点与所述数据节点形成的线段相等,包括:

    预设距离限差,根据所述距离限差在所述垂直线上取两个交点使得两个交点,使得两个交点与所述数据节点形成的两个线段的长度值等于所述距离限差。

    4.根据权利要求3所述的数据压缩方法,其特征在于,还包括:

    在所述夹角不小于预设角度限差时,保留所述数据节点作为特征点。

    5.根据权利要求4所述的数据压缩方法,其特征在于,所述保留所述数据节点作为特征点后,还包括:

    遍历所述数据围栏中的所有数据节点,获取所述数据围栏中的所有特征点;

    计算所述特征点分别与相邻特征点的距离值;

    判断所述距离值中的最大距离是否大于预设距离限差;

    若是,连接所述特征点与所述最大距离对应的相邻特征点。

    6.根据权利要求5所述的数据压缩方法,其特征在于,所述计算所述特征点分别与相邻特征点的距离值,包括:

    预设节点个数限差;

    将所述特征点作为头节点,与所述特征点距离所述预设节点个数限差的特征点作为尾节点;

    连接头节点和所述尾节点得到节点线段;

    分别通过所述头节点和所述尾节点之间的特征点向所述节点线段做垂直线段,所述垂直线段为计算所述特征点分别与相邻特征点的距离值。

    7.根据权利要求5所述的数据压缩方法,其特征在于,还包括:

    在所述最大距离小于预设距离限差时,删除所述相邻特征点。

    8.根据权利要求6所述的数据压缩方法,其特征在于,还包括:

    遍历所述数据围栏中的所有特征点,删除冗余数据点以实现数据围栏中数据压缩。

    9.一种数据压缩装置,其特征在于,包括:

    获取模块,用于获取围栏数据中一个数据节点及与所述数据节点相邻的左节点和右节点;

    线段夹角判断模块,用于分别连接所述数据节点与所述左节点和右节点形成以所述数据节点为顶点的线段夹角,判断所述夹角是否小于预设角度限差;

    扇形判断模块,用于在所述夹角小于预设角度限差时,通过所述左节点做扇形,判断所述数据节点是否落在所述扇形内;

    删除模块,用于在所述数据节点落在所述扇形内时,删除所述数据节点。

    10.一种终端,其特征在于,包括:

    处理器和存储器;

    所述处理器用于执行存储器中存储的计算机程序以实现如权利要求1至8中任意一项所述的数据压缩方法。

    技术总结
    本申请涉及一种数据压缩方法、装置及终端,数据压缩方法包括获取围栏数据中一个数据节点及与数据节点相邻的左节点和右节点;分别连接数据节点与左节点和右节点形成以数据节点为顶点的线段夹角,判断夹角是否小于预设角度限差;在夹角小于预设角度限差时,通过左节点做扇形,判断数据节点是否落在所述扇形内;若是,删除所述数据节点。本申请可以弥补传统James算法进行数据压缩的缺陷,尤其是对电子地图围栏数据的压缩处理更加有效,有效改善压缩后的图形失真情况。

    技术研发人员:何悟雯
    受保护的技术使用者:上海中通吉网络技术有限公司
    技术研发日:2020.11.25
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-22300.html

    最新回复(0)