一种空间信息数据自适应容错处理方法及系统
技术领域
本公开涉及空间数据处理、地理信息数据处理领域,具体涉及一种空间信息数据自适应容错处理方法及系统。
背景技术
空间信息数据是反映地理空间分布特征的信息,通过空间信息的获取、感知、加工、分析和综合,揭示区域空间分布、变化的规律。空间信息借助于空间信息载体(图像和地图)进行传递。图形是表示空间信息的主要形式。空间信息所表示的空间信息载体可被描述为点、线、面等基本图形元素。空间信息只有和属性信息、时间信息结合起来才能完整地描述空间信息载体。因此空间信息数据不仅具有数据量大、多源异构、逻辑连贯性弱等特点,还具有复杂的空间位置关系,
随着对于空间服务的需求量增大,例如LBS(基于位置的服务)、定位和导航的相关服务,的过程中,会产生海量的空间数据;空间信息数据一般分为栅格空间数据和矢量空间数据,其中,对于栅格空间数据的处理和存储已经日趋成熟,而对于矢量空间数据则因为数据结构复杂,因此矢量空间数据的误差较大、出现数据错误概率大,准确率和数据稳定性较差;
而矢量空间数据一般是地形图,即图像或地图,矢量数据结构分为:简单数据结构(最典型的是面条数据结构)、拓扑数据结构(弧段是数据组织的基本对象,最重要的技术特征和贡献是拓扑编辑功能P39)、曲面数据结构。在直角坐标系中,用X、Y坐标表示地图图形或地理实体的位置的数据。矢量空间数据一般通过记录坐标的方式来表现地理实体的空间位置,主要包括:点实体:在二维空间中,点实体可以用一对坐标X,Y来确定位置;线实体:线实体可以认为是由连续的直线段组成的曲线,用坐标串的集合(X1,Y1,X2,Y2……Xn,Yn)来记录;面实体:在记录面实体时,通常通过记录面状地物的边界来表现,因而有时也称为多边形数据。且目前针对矢量空间数据的研究较薄弱,现有方法一般只是根据矢量空间对象的空间邻近性将空间上邻近的数据进行编码存储和处理,没有考虑到其数据空间复杂度。
发明内容
本公开提供一种空间信息数据自适应容错处理方法及系统,依次将矢量空间数据中点实体按照相同点实体、线实体与面实体的几何中心点在前N个矢量空间数据中出现的频率排列,通过相同的点实体的频率构造二叉树计算得到点实体的第一编码序列,通过相同几何中心点的频率计算得到几何中心点的第二编码序列,通过第一编码序列和第二编码序列直接进行数据处理或存储空间信息数据。
本公开的目的是针对上述问题,提供一种空间信息数据自适应容错处理方法及系统,具体包括以下步骤:
S100:每隔一个时间周期读取一次矢量空间数据;其中,一个时间周期为5秒,可人工调整。
S200:读取矢量空间数据中的点实体、线实体、面实体;
S300:依次将矢量空间数据中的点实体按照在前N个矢量空间数据中出现相同的点实体的频率从大到小排列;其中,N默认值为10,N为整数,大于等于1小于100;
S400:通过相同的点实体的频率构造二叉树计算得到点实体的第一编码序列;
S500:计算矢量空间数据中的线实体、面实体的几何中心点;
S600:依次将矢量空间数据中的几何中心点按照在前N个矢量空间数据中出现的相同几何中心点的频率从大到小排列;
S700:通过相同几何中心点的频率计算得到几何中心点的第二编码序列;
S800:通过第一编码序列映射矢量空间数据中的点实体,通过第二编码序列映射矢量空间数据中的线实体、面实体。
进一步地,在S400中,通过相同的点实体的频率构造二叉树计算得到点实体的第一编码序列的方法为:
S410:依次选出频率最小的两个点实体,作为二叉树的两个叶子节点,将两个点实体的频率之和作为两个叶子节点的根节点,这两个叶子节点不再参与比较,新的根节点参与比较;
S420:重复S410,直到最后得到频率之和为1的根节点的二叉树;
S430:将形成的二叉树的左节点标0,右节点标1;
S440:深度优先遍历形成的二叉树,并将每个遍历路径中的0和1的序列构成一个序列,就得到了点实体的编码序列作为第一编码序列。
进一步地,在S700中,通过相同几何中心点的频率计算得到几何中心点的第二编码序列的方法为:
S710:将几何中心点按频率的值分为两大集合,使两个大集合的频率之和近似相同,将这两个大集合分别以0和1标记,近似相同的意义为频率之和的差值小于0.2;
S720:将每一个大集合的几何中心点再次点按频率分为两个集合,使划分后的两个集合的概率之和近似相同,将这个两个集合分别以0和1标记;
S730:迭代执行步骤S710到S720,直至每个集合只剩下一个几何中心点;
S740:由各个集合的划分过程中,每个几何中心点按集合划分顺序中的0和1的序列得到一个序列,就得到了几何中心点的编码序列作为第二编码序列。
进一步地,在S800中,通过第二编码序列映射矢量空间数据中的线实体、面实体的方法为:由于每个几何中心点对应了其线实体、面实体的中心,故每个几何中心点映射对应中心的线实体、面实体。
本发明还提供了一种空间信息数据自适应容错处理系统,所述系统包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在以下系统的单元中:
数据定时采集单元,用于每隔一个时间周期读取一次矢量空间数据;
空间数据分解单元,用于读取矢量空间数据中的点实体、线实体、面实体;
点实体频率单元,用于依次将矢量空间数据中的点实体按照在前N个矢量空间数据中出现相同的点实体的频率从大到小排列;
第一编码计算单元,用于通过相同的点实体的频率构造二叉树计算得到点实体的第一编码序列;
中心点计算单元,用于计算矢量空间数据中的线实体、面实体的几何中心点;
中心点频率单元,用于依次将矢量空间数据中的几何中心点按照在前N个矢量空间数据中出现的相同几何中心点的频率从大到小排列;
第二编码计算单元,用于通过相同几何中心点的频率计算得到几何中心点的第二编码序列;
编码映射单元,用于通过第一编码序列映射矢量空间数据中的点实体,通过第二编码序列映射矢量空间数据中的线实体、面实体。
本公开的有益效果为:本发明公开了一种空间信息数据自适应容错处理方法,将空间信息数据中的点实体、线实体与面实体处理为编码序列形式的映射数据,能够大幅度的压缩数据量、提升数据稳定性,减小误差,使得连续性的矢量数据的在实时读取中的数据偏差缩小,由于采用数据编码格式,使得数据体积变小便于数据存储,提升了空间信息数据后期处理的检索与读取速度,提升了空间数据的容错性。
附图说明
通过对结合附图所示出的实施方式进行详细说明,本公开的上述以及其他特征将更加明显,本公开附图中相同的参考标号表示相同或相似的元素,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,在附图中:
图1所示为本公开的一种空间信息数据自适应容错处理方法的流程图;
图2所示为本公开实施方式的一种空间信息数据自适应容错处理系统。
具体实施方式
以下将结合实施例和附图对本公开的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本公开的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如图1所示为根据本公开的一种空间信息数据自适应容错处理方法的流程图,下面结合图1来阐述根据本公开的实施方式的方法。
本公开提出一种空间信息数据自适应容错处理方法,具体包括以下步骤:
S100:每隔一个时间周期读取一次矢量空间数据;其中,一个时间周期为5秒,可人工调整。
S200:读取矢量空间数据中的点实体、线实体、面实体;
S300:依次将矢量空间数据中的点实体按照在前N个矢量空间数据中出现相同的点实体的频率从大到小排列;其中,N默认值为10,N为整数,大于等于1小于100;
S400:通过相同的点实体的频率构造二叉树计算得到点实体的第一编码序列;
S500:计算矢量空间数据中的线实体、面实体的几何中心点;
S600:依次将矢量空间数据中的几何中心点按照在前N个矢量空间数据中出现的相同几何中心点的频率从大到小排列;
S700:通过相同几何中心点的频率计算得到几何中心点的第二编码序列;
S800:通过第一编码序列映射矢量空间数据中的点实体,通过第二编码序列映射矢量空间数据中的线实体、面实体。
进一步地,在S400中,通过相同的点实体的频率构造二叉树计算得到点实体的第一编码序列的方法为:
S410:依次选出频率最小的两个点实体,作为二叉树的两个叶子节点,将两个点实体的频率之和作为两个叶子节点的根节点,这两个叶子节点不再参与比较,新的根节点参与比较;
S420:重复S410,直到最后得到频率之和为1的根节点的二叉树;
S430:将形成的二叉树的左节点标0,右节点标1;
S440:深度优先遍历形成的二叉树,并将每个遍历路径中的0和1的序列构成一个序列,就得到了点实体的编码序列作为第一编码序列。
进一步地,在S700中,通过相同几何中心点的频率计算得到几何中心点的第二编码序列的方法为:
S710:将几何中心点按频率的值分为两大集合,使两个大集合的频率之和近似相同,将这两个大集合分别以0和1标记,近似相同的意义为频率之和的差值小于0.2;
S720:将每一个大集合的几何中心点再次点按频率分为两个集合,使划分后的两个集合的概率之和近似相同,将这个两个集合分别以0和1标记;
S730:迭代执行步骤S710到S720,直至每个集合只剩下一个几何中心点;
S740:由各个集合的划分过程中,每个几何中心点按集合划分顺序中的0和1的序列得到一个序列,就得到了几何中心点的编码序列作为第二编码序列。
进一步地,在S800中,通过第二编码序列映射矢量空间数据中的线实体、面实体的方法为:由于每个几何中心点对应了其线实体、面实体的中心,故每个几何中心点映射对应中心的线实体、面实体。
进一步地,第一编码序列和第二编码序列与点实体、线实体、面实体,分开存储于数据库中,后期数据处理调用时只需要快速的读取第一编码序列和第二编码序列,通过调用在缓存或虚拟内存中相同的点实体、线实体、面实体,即可快速切换矢量空间数据所对应的地理实体而不需要每次都重新完全读取整个的矢量空间数据,提升了空间数据的容错性。
本公开的实施例提供的一种空间信息数据自适应容错处理系统,如图2所示为本公开的一种空间信息数据自适应容错处理系统结构图,该实施例的一种空间信息数据自适应容错处理系统包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种空间信息数据自适应容错处理系统实施例中的步骤。
所述系统包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在以下系统的单元中:
数据定时采集单元,用于每隔一个时间周期读取一次矢量空间数据;
空间数据分解单元,用于读取矢量空间数据中的点实体、线实体、面实体;
点实体频率单元,用于依次将矢量空间数据中的点实体按照在前N个矢量空间数据中出现相同的点实体的频率从大到小排列;
第一编码计算单元,用于通过相同的点实体的频率构造二叉树计算得到点实体的第一编码序列;
中心点计算单元,用于计算矢量空间数据中的线实体、面实体的几何中心点;
中心点频率单元,用于依次将矢量空间数据中的几何中心点按照在前N个矢量空间数据中出现的相同几何中心点的频率从大到小排列;
第二编码计算单元,用于通过相同几何中心点的频率计算得到几何中心点的第二编码序列;
编码映射单元,用于通过第一编码序列映射矢量空间数据中的点实体,通过第二编码序列映射矢量空间数据中的线实体、面实体。
所述一种空间信息数据自适应容错处理系统可以运行于桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备中。所述一种空间信息数据自适应容错处理系统可运行的系统可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述例子仅仅是一种空间信息数据自适应容错处理系统的示例,并不构成对一种空间信息数据自适应容错处理系统的限定,可以包括比例子更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述一种空间信息数据自适应容错处理系统还可以包括输入输出设备、网络接入设备、总线等。所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述一种空间信息数据自适应容错处理系统运行系统的控制中心,利用各种接口和线路连接整个一种空间信息数据自适应容错处理系统可运行系统的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述一种空间信息数据自适应容错处理系统的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
尽管本公开的描述已经相当详尽且特别对几个所述实施例进行了描述,但其并非旨在局限于任何这些细节或实施例或任何特殊实施例,而是应当将其视作是通过参考所附权利要求考虑到现有技术为这些权利要求提供广义的可能性解释,从而有效地涵盖本公开的预定范围。此外,上文以发明人可预见的实施例对本公开进行描述,其目的是为了提供有用的描述,而那些目前尚未预见的对本公开的非实质性改动仍可代表本公开的等效改动。