矢量数据的分析方法、系统及电子设备与流程

未命名 07-12 阅读:66 评论:0


1.本发明涉及数据分析技术领域,尤其是涉及一种矢量数据的分析方法、系统及电子设备。


背景技术:

2.传统geohash划分网格索引进行矢量数据的存储,在分布式叠加计算时根据数据的范围按照固定的尺度进行均匀切分,分块后的数据在计算节点内按照网格索引的相互关系进行叠加计算,各计算节点的计算成果经过去重、合并后得到最终结果。
3.在传统方式的基础上,现有技术中还采用多级网格索引对数据进行预处理。在矢量数据进行分布式存储的阶段为数据建立多个层级的网格索引,在分布式叠加分析的时候,按照矢量图斑的分布属性中较高层级的数据为基准进行网格索引的选取,然后按照传统方式进行网格切分与叠加分析。
4.传统技术方案未考虑不同矢量数据的分布与密度差异,在进行两个矢量图层的叠加分析时必然会存在网格划分时的数据不均衡,由于计算时数据根据网格数量均匀分布在各个分布式计算节点中,各个网格间数据不均匀会导致计算过程中节点间计算量负载不均衡,部分节点计算慢会导致产生木桶效应影响,整体的计算性能降低,最终导致计算性能不高。
5.大数据环境下在矢量数据存储的过程中采用多级网格索引对数据进行预处理,可以在一定程度上解决不同尺度矢量数据叠加计算的问题,在计算的过程中采用合适的网格索引对数据进行划分,可以达到相对的负载均衡。但其均衡程度受到多级网格索引层级的影响,如果网格索引层级过小,会造成数据在各个网格中堆积,计算时并行度低,无法充分利用集群资源,每个子任务计算量大,计算耗时长。更大层级网格索引的计算会导致数据入库时计算量增加,并且消耗更多的存储空间,降低了数据入库时的写入效率;在计算时,更大层级的网格,会导致更多的计算子任务,虽然每个子任务计算量更小、更快,但单个计算任务启动、执行计算到销毁,会增加计算时任务调度的性能成本,也会导致计算整体变慢。
6.综上所述,现有技术在不同尺度下的矢量数据进行分布式叠加分析时还存在着执行效率低,计算资源消耗过高的问题。


技术实现要素:

7.有鉴于此,本发明的目的在于提供一种矢量数据的分析方法、系统及电子设备,该方法可以创建负载更为均衡的分布式计算,从而大大提升不同尺度下矢量数据的分布式计算性能,充分利用计算资源,缩短计算时间,且在依赖索引动态裁剪算法的基础下,不会对数据存储及预处理造成压力,大大缩短计算时间的同时也保证了数据入库效率。
8.第一方面,本发明实施例提供了一种矢量数据的分析方法,该方法包括:
9.获取待分析的矢量数据,并确定矢量数据对应的固定层级网格索引以及形态参数;
10.利用固定层级网格索引以及形态参数计算矢量数据的尺度系数以及最优网格索引层级;
11.将最优网格索引层级对应的网格索引确定为计算网格索引,并利用计算网格索引对矢量数据进行关联计算,得到叠加数据对;
12.利用预设的数据去重策略对叠加数据对中包含的跨网格数据进行去重处理;
13.对已完成去重处理的叠加数据对进行叠加计算,得到矢量数据的分析结果。
14.在一些实施方式中,获取待分析的矢量数据,并确定矢量数据对应的多级网格索引的步骤,包括:
15.采用预设的大数据集群对叠加矢量数据进行存储,并将叠加矢量数据确定为待分析的矢量数据;
16.利用geohash算法生成矢量数据的固定层级索引,并利用固定层级索引确定矢量数据对应的多级网格索引。
17.在一些实施方式中,利用固定层级网格索引以及形态参数计算矢量数据的尺度系数以及最优网格索引层级的步骤,包括:
18.获取矢量数据中包含的第一矢量数据和第二矢量数据,通过随机抽样方法分别获取第一矢量数据和第二矢量数据对应的矢量样本数据;
19.利用矢量样本数据对应的形态参数,分别确定第一矢量数据对应的第一尺度系数和第二矢量数据对应的第二尺度系数;
20.将第一尺度系数和第二尺度系数中的最大值确定为尺度系数,并利用尺度系数的数值确定固定层级网格索引对应的最优网格索引层级。
21.在一些实施方式中,利用矢量样本数据对应的形态参数,分别确定第一矢量数据对应的第一尺度系数和第二矢量数据对应的第二尺度系数的步骤,包括:
22.获取矢量图层的形态参数中包含的多边形周长、多边形面积以及多边形顶点个数;
23.根据多边形周长、多边形面积以及多边形顶点个数,利用预设的尺度系数算式,分别计算第一尺度系数和第二尺度系数;其中,尺度系数算式为:
24.k=w1*p+w2*n;
25.p=c2/s;
26.p为形态指数;c为多边形周长;s为多边形面积;n为多边形顶点个数;w1和w2为常数,且w1+w2=1。
27.在一些实施方式中,利用尺度系数的数值确定固定层级网格索引对应的最优网格索引层级,包括:
28.获取尺度系数的数值;
29.利用预设的对应关系表从固定层级网格索引中获取尺度系数的数值相对应的最优网格索引层级;其中,对应关系表中,当尺度系数的数值大于231485.15时,对应的最优网格索引层级为第0层;当尺度系数的数值大于105772.52且小于231485.15时,对应的最优网格索引层级为第1层;当尺度系数的数值大于53694.83且小于105772.52时,对应的最优网格索引层级为第2层;当尺度系数的数值大于31773.26且小于53694.83时,对应的最优网格索引层级为第3层;当尺度系数的数值大于17662.14且小于31173.26时,对应的最优网格索
引层级为第4层;当尺度系数的数值大于9337.42且小于17662.14时,对应的最优网格索引层级为第5层;当尺度系数的数值大于5784.61且小于9337.42时,对应的最优网格索引层级为第6层;当尺度系数的数值大于3177.49-且小于5784.61时,对应的最优网格索引层级为第7层;当尺度系数的数值大于2165.23且小于3177.49时,对应的最优网格索引层级为第8层;当尺度系数的数值大于1253.57且小于2165.23时,对应的最优网格索引层级为第9层;当尺度系数的数值大于742.15且小于1253.57时,对应的最优网格索引层级为第10层;当尺度系数的数值大于519.52且小于742.15时,对应的最优网格索引层级为第11层;当尺度系数的数值大于405.29且小于519.52时,对应的最优网格索引层级为第12层;当尺度系数的数值大于312.47且小于405.29时,对应的最优网格索引层级为第13层;当尺度系数的数值大于231.86且小于312.47时,对应的最优网格索引层级为第14层;当尺度系数的数值大于167.43且小于231.86时,对应的最优网格索引层级为第15层;当尺度系数的数值大于113.62且小于167.43时,对应的最优网格索引层级为第16层;当尺度系数的数值大于78.57且小于113.62时,对应的最优网格索引层级为第17层;当尺度系数的数值大于57.61且小于78.57时,对应的最优网格索引层级为第18层。
30.在一些实施方式中,将最优网格索引层级对应的网格索引确定为计算网格索引,并利用计算网格索引对矢量数据进行关联计算,得到叠加数据对的步骤,包括:
31.获取最优网格索引层级对应的网格索引,并将网格索引确定为计算网格索引;
32.按照计算网格索引对矢量数据进行划分,并将划分后位于同一网格内的矢量数据进行关联结算,得到叠加数据对。
33.在一些实施方式中,利用预设的数据去重策略对叠加数据对中包含的跨网格数据进行去重处理的步骤,包括:
34.获取跨网格数据中包含的第一几何对象和第二几何对象;
35.计算第一几何对象的第一外包矩形和第二几何对象的第二外包矩形;
36.计算第一外包矩形和第二外包矩形的相交图形,并获取相交图形的左上角顶点作为参考点;
37.计算参考点所在的网格索引,并判断网格索引与第一几何对象、第二几何对象对应的网格索引是否一致;如果是,则保存叠加数据对;如果否,则删除叠加数据对。
38.在一些实施方式中,对已完成去重处理的叠加数据对进行叠加计算,得到矢量数据的分析结果的步骤,包括:
39.采用jts叠加分析算子对已完成去重处理的叠加数据进行叠加计算,得到第一分析结果;
40.遍历第一分析结果,并将第一分析结果中包含的空数据进行筛除,得到第二分析结果;
41.将第二分析结果保存至预设的分布式数据库,得到矢量数据的分析结果。
42.第二方面,本发明实施例提供了一种矢量数据的分析系统,该系统包括:
43.第一分析模块,用于获取待分析的矢量数据,并确定矢量数据对应的固定层级网格索引以及形态参数;
44.第二分析模块,用于利用固定层级网格索引以及形态参数计算矢量数据的尺度系数以及最优网格索引层级;
45.第三分析模块,用于将最优网格索引层级对应的网格索引确定为计算网格索引,并利用计算网格索引对矢量数据进行关联计算,得到叠加数据对。
46.第四分析模块,用于利用预设的数据去重策略对叠加数据对中包含的跨网格数据进行去重处理;
47.第五分析模块,用于对已完成去重处理的叠加数据对进行叠加计算,得到矢量数据的分析结果。
48.第三方面,发明实施例还提供一种电子设备,包括存储器、处理器,存储器中存储有可在处理器上运行的计算机程序,其中,处理器执行计算机程序时实现上述第一方面提到的矢量数据的分析方法的步骤。
49.第四方面,本发明实施例还提供一种可读存储介质,该可读存储介质上存储有计算机程序,其中,计算机程序被处理器运行时实现上述第一方面提到的矢量数据的分析方法的步骤。
50.本发明实施例带来了至少以下有益效果:
51.本发明提供了一种矢量数据的分析方法、系统及电子设备,该方法首先获取待分析的矢量数据,并确定矢量数据对应的固定层级网格索引以及形态参数;然后利用固定层级网格索引以及形态参数计算矢量数据的尺度系数以及最优网格索引层级;再将最优网格索引层级对应的网格索引确定为计算网格索引,并利用计算网格索引对矢量数据进行关联计算,得到叠加数据对;然后利用预设的数据去重策略对叠加数据对中包含的跨网格数据进行去重处理;最后对已完成去重处理的叠加数据对进行叠加计算,得到矢量数据的分析结果。该方法可以创建负载更为均衡的分布式计算,从而大大提升不同尺度下矢量数据的分布式计算性能,充分利用计算资源,缩短计算时间,且在依赖索引动态裁剪算法的基础下,不会对数据存储及预处理造成压力,大大缩短计算时间的同时也保证了数据入库效率。
52.本发明的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义的确定,或者通过实施本发明的上述技术即可得知。
53.为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施方式,并配合所附附图,作详细说明如下。
附图说明
54.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
55.图1为本发明实施例提供的一种矢量数据的分析方法的流程图;
56.图2为本发明实施例提供的一种矢量数据的分析方法中,获取待分析的矢量数据,并确定矢量数据对应的多级网格索引的步骤s101的流程图;
57.图3为本发明实施例提供的一种矢量数据的分析方法中,利用多级网格索引计算矢量数据的尺度系数以及最优网格索引层级的步骤s102的流程图;
58.图4为本发明实施例提供的一种矢量数据的分析方法中,利用矢量图层的形态参数,分别确定第一矢量数据对应的第一尺度系数和第二矢量数据对应的第二尺度系数的步
骤s302的流程图;
59.图5为本发明实施例提供的一种矢量数据的分析方法中,利用尺度系数的数值确定对应的最优网格索引层级的流程图;
60.图6为本发明实施例提供的一种矢量数据的分析方法中,将最优网格索引层级对应的网格索引确定为计算网格索引,并利用计算网格索引对矢量数据进行关联计算,得到叠加数据对的步骤s103的流程图;
61.图7为本发明实施例提供的一种矢量数据的分析方法中,利用预设的数据去重策略对叠加数据对中包含的跨网格数据进行去重处理的步骤s104的流程图;
62.图8为本发明实施例提供的一种矢量数据的分析方法中,对已完成去重处理的叠加数据对进行叠加计算,得到矢量数据的分析结果的步骤s105的流程图;
63.图9为本发明实施例提供的另一种矢量数据的分析方法的流程图;
64.图10为本发明实施例提供的一种矢量数据的分析方法中所用的2级网格索引划分矢量数据的示意图;
65.图11为本发明实施例提供的一种矢量数据的分析方法中所用的跨网格几何对象的示意图;
66.图12为本发明实施例提供的一种矢量数据的分析系统的结构示意图;
67.图13为本发明实施例提供的一种电子设备的结构示意图。
68.图标:
69.1210-第一分析模块;1220-第二分析模块;1230-第三分析模块;1240-第四分析模块;1250-第五分析模块;
70.101-处理器;102-存储器;103-总线;104-通信接口。
具体实施方式
71.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
72.传统geohash划分网格索引进行矢量数据的存储,在分布式叠加计算时根据数据的范围按照固定的尺度进行均匀切分,分块后的数据在计算节点内按照网格索引的相互关系进行叠加计算,各计算节点的计算成果经过去重、合并后得到最终结果。在传统方式的基础上,现有技术中还采用多级网格索引对数据进行预处理。在矢量数据进行分布式存储的阶段为数据建立多个层级的网格索引,在分布式叠加分析的时候,按照矢量图斑的分布属性中较高层级的数据为基准进行网格索引的选取,然后按照传统方式进行网格切分与叠加分析。
73.传统技术方案未考虑不同矢量数据的分布与密度差异,在进行两个矢量图层的叠加分析时必然会存在网格划分时的数据不均衡,由于计算时数据根据网格数量均匀分布在各个分布式计算节点中,各个网格间数据不均匀会导致计算过程中节点间计算量负载不均衡,部分节点计算慢会导致产生木桶效应影响,整体的计算性能降低,最终导致计算性能不高。大数据环境下在矢量数据存储的过程中采用多级网格索引对数据进行预处理,可以在
一定程度上解决不同尺度矢量数据叠加计算的问题,在计算的过程中采用合适的网格索引对数据进行划分,可以达到相对的负载均衡。但其均衡程度受到多级网格索引层级的影响,如果网格索引层级过小,会造成数据在各个网格中堆积,计算时并行度低,无法充分利用集群资源,每个子任务计算量大,计算耗时长。更大层级网格索引的计算会导致数据入库时计算量增加,并且消耗更多的存储空间,降低了数据入库时的写入效率;在计算时,更大层级的网格,会导致更多的计算子任务,虽然每个子任务计算量更小、更快,但单个计算任务启动、执行计算到销毁,会增加计算时任务调度的性能成本,也会导致计算整体变慢。
74.综上所述,现有技术在不同尺度下的矢量数据进行分布式叠加分析时还存在着执行效率低,计算资源消耗过高的问题。基于此,本发明实施例提供的一种矢量数据的分析方法、系统及电子设备,该方法可以创建负载更为均衡的分布式计算,从而大大提升不同尺度下矢量数据的分布式计算性能,充分利用计算资源,缩短计算时间,且在依赖索引动态裁剪算法的基础下,不会对数据存储及预处理造成压力,大大缩短计算时间的同时也保证了数据入库效率。
75.为便于对本实施例进行理解,首先对本发明实施例所公开的一种矢量数据的分析方法进行详细介绍。具体如图1所示,该方法包括:
76.步骤s101,获取待分析的矢量数据,并确定矢量数据对应的固定层级网格索引以及形态参数。
77.该步骤可通过数据入库等手段获取待分析的矢量数据,并利用矢量数据计算固定层级的多级网格索引。具体实施过程中网格索引的级数不超过18层,因为网格索引层级大于18级后,计算性能会出现大幅度下降。形态参数为矢量数据的几何形态参数,主要包括:周长、面积、顶点个数等。
78.步骤s102,利用固定层级网格索引以及形态参数计算矢量数据的尺度系数以及最优网格索引层级。
79.通过利用固定层级网格索引中对应的矢量数据获取其包含的矢量图层,然后利用形态参数对矢量图层进行矢量数据尺度及分布分析,得到相应的尺度系数,进而再利用尺度系数确定最优网格索引层级。
80.步骤s103,将最优网格索引层级对应的网格索引确定为计算网格索引,并利用计算网格索引对矢量数据进行关联计算,得到叠加数据对。
81.最优网格索引层级获取后,利用最优网格索引层级对应的网格索引值确定具体的网格索引,并将其记为计算网格索引。然后按照计算网格索引划分矢量数据,并将划分后的矢量数据进行关联计算从而得到叠加数据对。
82.步骤s104,利用预设的数据去重策略对叠加数据对中包含的跨网格数据进行去重处理。
83.按网格索引对数据进行划分时存在几何对象跨网格的情况,可利用预设的数据去重策略对叠加数据中包含的跨网格数据进行删除操作,从而对跨网格数据进行去重处理。
84.步骤s105,对已完成去重处理的叠加数据对进行叠加计算,得到矢量数据的分析结果。
85.在一些实施方式中,获取待分析的矢量数据,并确定矢量数据对应的多级网格索引的步骤s101,如图2所示,包括:
86.步骤s201,采用预设的大数据集群对叠加矢量数据进行存储,并将叠加矢量数据确定为待分析的矢量数据;
87.步骤s202,利用geohash算法生成矢量数据的固定层级索引,并利用固定层级索引确定矢量数据对应的多级网格索引。
88.具体实施过程中,叠加矢量包括a、b两个叠加矢量数据,在此基础上可采用大数据集群对叠加矢量数据a、b进行存储。在存储过程中采用geohash算法生成固定层级,具体可设置最深层级为18级的网格索引,并作为单独一列插入。该网格索引支持任意层级的网格索引计算,即可以通过网格索引动态裁剪技术得到小于18级任意层级的网格索引。
89.在一些实施方式中,利用固定层级网格索引以及形态参数计算矢量数据的尺度系数以及最优网格索引层级的步骤s102,如图3所示,包括:
90.步骤s301,获取矢量数据中包含的第一矢量数据和第二矢量数据,通过随机抽样方法分别获取第一矢量数据和第二矢量数据对应的矢量样本数据;
91.步骤s302,利用矢量样本数据对应的形态参数,分别确定第一矢量数据对应的第一尺度系数和第二矢量数据对应的第二尺度系数;
92.步骤s303,将第一尺度系数和第二尺度系数中的最大值确定为尺度系数,并利用尺度系数的数值确定固定层级网格索引对应的最优网格索引层级。
93.实际场景中可利用spark加载矢量数据a、b,并通过随机采样的方式对a、b两个矢量图层进行矢量数据尺度及分布分析,得到两个矢量数据的尺度系数k1,k2。
94.在一些实施方式中,利用矢量样本数据对应的形态参数,分别确定第一矢量数据对应的第一尺度系数和第二矢量数据对应的第二尺度系数的步骤s302,如图4所示,包括:
95.步骤s401,获取矢量图层的形态参数中包含的多边形周长、多边形面积以及多边形顶点个数;
96.步骤s402,根据多边形周长、多边形面积以及多边形顶点个数,利用预设的尺度系数算式,分别计算第一尺度系数和第二尺度系数。
97.其中,尺度系数算式为:
98.k=w1*p+w2*n;
99.p=c2/s;
100.p为形态指数;c为多边形周长;s为多边形面积;n为多边形顶点个数;w1和w2为常数,且w1+w2=1。
101.在一些实施方式中,利用尺度系数的数值确定固定层级网格索引对应的最优网格索引层级,如图5所示,包括:
102.步骤s501,获取尺度系数的数值;
103.步骤s502,利用预设的对应关系表从固定层级网格索引中获取尺度系数的数值相对应的最优网格索引层级;
104.其中,对应关系表中,当尺度系数的数值大于231485.15时,对应的最优网格索引层级为第0层;
105.当尺度系数的数值大于105772.52且小于231485.15时,对应的最优网格索引层级为第1层;
106.当尺度系数的数值大于53694.83且小于105772.52时,对应的最优网格索引层级
为第2层;
107.当尺度系数的数值大于31773.26且小于53694.83时,对应的最优网格索引层级为第3层;
108.当尺度系数的数值大于17662.14且小于31173.26时,对应的最优网格索引层级为第4层;
109.当尺度系数的数值大于9337.42且小于17662.14时,对应的最优网格索引层级为第5层;
110.当尺度系数的数值大于5784.61且小于9337.42时,对应的最优网格索引层级为第6层;
111.当尺度系数的数值大于3177.49-且小于5784.61时,对应的最优网格索引层级为第7层;
112.当尺度系数的数值大于2165.23且小于3177.49时,对应的最优网格索引层级为第8层;
113.当尺度系数的数值大于1253.57且小于2165.23时,对应的最优网格索引层级为第9层;
114.当尺度系数的数值大于742.15且小于1253.57时,对应的最优网格索引层级为第10层;
115.当尺度系数的数值大于519.52且小于742.15时,对应的最优网格索引层级为第11层;
116.当尺度系数的数值大于405.29且小于519.52时,对应的最优网格索引层级为第12层;
117.当尺度系数的数值大于312.47且小于405.29时,对应的最优网格索引层级为第13层;
118.当尺度系数的数值大于231.86且小于312.47时,对应的最优网格索引层级为第14层;
119.当尺度系数的数值大于167.43且小于231.86时,对应的最优网格索引层级为第15层;
120.当尺度系数的数值大于113.62且小于167.43时,对应的最优网格索引层级为第16层;
121.当尺度系数的数值大于78.57且小于113.62时,对应的最优网格索引层级为第17层;
122.当尺度系数的数值大于57.61且小于78.57时,对应的最优网格索引层级为第18层。
123.在利用预设的对应关系表获取尺度系数的数值相对应的最优网格索引层级后,在一些实施方式中,将最优网格索引层级对应的网格索引确定为计算网格索引,并利用计算网格索引对矢量数据进行关联计算,得到叠加数据对的步骤s103,如图6所示,包括:
124.步骤s601,获取最优网格索引层级对应的网格索引,并将网格索引确定为计算网格索引;
125.步骤s602,按照计算网格索引对矢量数据进行划分,并将划分后位于同一网格内
的矢量数据进行关联结算,得到叠加数据对。
126.具体场景中,可采用网格索引动态裁剪技术计算m级网格索引,并按m级网格索引划分矢量数据a,b,同时将划分后位于同一网格中的矢量数据a,b进行关联计算得到叠加数据对。具体可参考图10所示的2级网格索引划分矢量数据示意图。
127.在一些实施方式中,利用预设的数据去重策略对叠加数据对中包含的跨网格数据进行去重处理的步骤s104,如图7所示,包括:
128.步骤s701,获取跨网格数据中包含的第一几何对象和第二几何对象;
129.步骤s702,计算第一几何对象的第一外包矩形和第二几何对象的第二外包矩形;
130.步骤s703,计算第一外包矩形和第二外包矩形的相交图形,并获取相交图形的左上角顶点作为参考点;
131.步骤s704,计算参考点所在的网格索引,并判断网格索引与第一几何对象、第二几何对象对应的网格索引是否一致;如果是,则保存叠加数据对;如果否,则删除叠加数据对。
132.如图10和图11所示,按网格索引对数据进行划分时,存在几何对象跨网格的情况(如图10中包含的几何对象a,b)。对跨网格的几何对象,在每个网格中都会保存一条记录因此在进行数据关联时,会出现重复的叠加数据对(如网格0,1,2,3中都存在叠加数据对a-b,),因此需要对重复叠加数据对进行去重处理。
133.具体操作步骤如下(在数据关联过程中,对每一条叠加数据对进行处理):
134.分别计算几何对象a,b的外包矩形r1,r2;计算r1,r2的相交图形,并取相交图形的左上角顶点作为参考点t;计算参考点t所在的网格索引i;判断网格索引i与几何对象a、b所在的网格索引是否一致,一致则保存该条叠加数据对,否则剔除。至此,可以完成跨网格数据的去重操作。
135.在一些实施方式中,对已完成去重处理的叠加数据对进行叠加计算,得到矢量数据的分析结果的步骤s105,如图8所示,包括:
136.步骤s801,采用jts叠加分析算子对已完成去重处理的叠加数据进行叠加计算,得到第一分析结果;
137.步骤s802,遍历第一分析结果,并将第一分析结果中包含的空数据进行筛除,得到第二分析结果;
138.步骤s803,将第二分析结果保存至预设的分布式数据库,得到矢量数据的分析结果。
139.采用jts叠加分析算子对分组去重后的数据进行叠加计算,同时筛除计算结果为空的记录,并将结果存储至分布式数据库,从而完成矢量数据的分析过程。
140.如图9所示的另一种矢量数据的分析方法可知,首先控制矢量数据入库并计算18级网格索引,然后计算矢量数据尺度系数k和最优网格索引层数m;然后计算m级网格索引及数据关联;随后对跨网格数据去重;最后叠加计算并保存分析结果。
141.通过上述实施例中提到的矢量数据的分析方法可知,该方法可以创建负载更为均衡的分布式计算,从而大大提升不同尺度下矢量数据的分布式计算性能,充分利用计算资源,缩短计算时间,且在依赖索引动态裁剪算法的基础下,不会对数据存储及预处理造成压力,大大缩短计算时间的同时也保证了数据入库效率。
142.对应于上述方法实施例,本发明实施例提供了一种矢量数据的分析系统,如图12
所示,该系统包括:
143.第一分析模块1210,用于获取待分析的矢量数据,并确定矢量数据对应的固定层级网格索引以及形态参数;
144.第二分析模块1220,利用固定层级网格索引以及形态参数计算矢量数据的尺度系数以及最优网格索引层级;
145.第三分析模块1230,用于将最优网格索引层级对应的网格索引确定为计算网格索引,并利用计算网格索引对矢量数据进行关联计算,得到叠加数据对。
146.第四分析模块1240,用于利用预设的数据去重策略对叠加数据对中包含的跨网格数据进行去重处理;
147.第五分析模块1250,用于对已完成去重处理的叠加数据对进行叠加计算,得到矢量数据的分析结果。
148.在一些实施方式中,第一分析模块1210用于:采用预设的大数据集群对叠加矢量数据进行存储,并将叠加矢量数据确定为待分析的矢量数据;利用geohash算法生成矢量数据的固定层级索引,并利用固定层级索引确定矢量数据对应的多级网格索引。
149.在一些实施方式中,第二分析模块1220用于:获取矢量数据中包含的第一矢量数据和第二矢量数据,通过随机抽样方法分别获取第一矢量数据和第二矢量数据对应的矢量样本数据;利用矢量样本数据对应的形态参数,分别确定第一矢量数据对应的第一尺度系数和第二矢量数据对应的第二尺度系数;将第一尺度系数和第二尺度系数中的最大值确定为尺度系数,并利用尺度系数的数值确定固定层级网格索引对应的最优网格索引层级。
150.在一些实施方式中,第二分析模块1220在利用矢量图层的形态参数,分别确定第一矢量数据对应的第一尺度系数和第二矢量数据对应的第二尺度系数的过程中,还用于:获取矢量图层的形态参数中包含的多边形周长、多边形面积以及多边形顶点个数;根据多边形周长、多边形面积以及多边形顶点个数,利用预设的尺度系数算式,分别计算第一尺度系数和第二尺度系数;其中,尺度系数算式为:
151.k=w1*p+w2*n;
152.p=c2/s;
153.p为形态指数;c为多边形周长;s为多边形面积;n为多边形顶点个数;w1和w2为常数,且w1+w2=1。
154.在一些实施方式中,第二分析模块1220在利用尺度系数的数值确定对应的最优网格索引层级的过程中,还用于:获取尺度系数的数值;利用预设的对应关系表从固定层级网格索引中获取尺度系数的数值相对应的最优网格索引层级;其中,对应关系表中,当尺度系数的数值大于231485.15时,对应的最优网格索引层级为第0层;当尺度系数的数值大于105772.52且小于231485.15时,对应的最优网格索引层级为第1层;当尺度系数的数值大于53694.83且小于105772.52时,对应的最优网格索引层级为第2层;当尺度系数的数值大于31773.26且小于53694.83时,对应的最优网格索引层级为第3层;当尺度系数的数值大于17662.14且小于31173.26时,对应的最优网格索引层级为第4层;当尺度系数的数值大于9337.42且小于17662.14时,对应的最优网格索引层级为第5层;当尺度系数的数值大于5784.61且小于9337.42时,对应的最优网格索引层级为第6层;当尺度系数的数值大于3177.49-且小于5784.61时,对应的最优网格索引层级为第7层;当尺度系数的数值大于
2165.23且小于3177.49时,对应的最优网格索引层级为第8层;当尺度系数的数值大于1253.57且小于2165.23时,对应的最优网格索引层级为第9层;当尺度系数的数值大于742.15且小于1253.57时,对应的最优网格索引层级为第10层;当尺度系数的数值大于519.52且小于742.15时,对应的最优网格索引层级为第11层;当尺度系数的数值大于405.29且小于519.52时,对应的最优网格索引层级为第12层;当尺度系数的数值大于312.47且小于405.29时,对应的最优网格索引层级为第13层;当尺度系数的数值大于231.86且小于312.47时,对应的最优网格索引层级为第14层;当尺度系数的数值大于167.43且小于231.86时,对应的最优网格索引层级为第15层;当尺度系数的数值大于113.62且小于167.43时,对应的最优网格索引层级为第16层;当尺度系数的数值大于78.57且小于113.62时,对应的最优网格索引层级为第17层;当尺度系数的数值大于57.61且小于78.57时,对应的最优网格索引层级为第18层。
155.在一些实施方式中,第三分析模块1230用于:获取最优网格索引层级对应的网格索引,并将网格索引确定为计算网格索引;按照计算网格索引对矢量数据进行划分,并将划分后位于同一网格内的矢量数据进行关联结算,得到叠加数据对。
156.在一些实施方式中,第四分析模块1240,用于:获取跨网格数据中包含的第一几何对象和第二几何对象;计算第一几何对象的第一外包矩形和第二几何对象的第二外包矩形;计算第一外包矩形和第二外包矩形的相交图形,并获取相交图形的左上角顶点作为参考点;计算参考点所在的网格索引,并判断网格索引与第一几何对象、第二几何对象对应的网格索引是否一致;如果是,则保存叠加数据对;如果否,则删除叠加数据对。
157.在一些实施方式中,第五分析模块1250用于:采用jts叠加分析算子对已完成去重处理的叠加数据进行叠加计算,得到第一分析结果;遍历第一分析结果,并将第一分析结果中包含的空数据进行筛除,得到第二分析结果;将第二分析结果保存至预设的分布式数据库,得到矢量数据的分析结果。
158.通过上述实施例中提到的矢量数据的分析系统可知,该系统可以创建负载更为均衡的分布式计算,从而大大提升不同尺度下矢量数据的分布式计算性能,充分利用计算资源,缩短计算时间,且在依赖索引动态裁剪算法的基础下,不会对数据存储及预处理造成压力,大大缩短计算时间的同时也保证了数据入库效率。
159.本发明实施例提供的矢量数据的分析系统,与上述实施例提供的矢量数据的分析方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。为简要描述,实施例部分未提及之处,可参考前述矢量数据的分析系统实施例中相应内容。
160.本实施例还提供一种电子设备,为该电子设备的结构示意图如图13所示,该设备包括处理器101和存储器102;其中,存储器102用于存储一条或多条计算机指令,一条或多条计算机指令被处理器执行,以实现上述矢量数据的分析方法。
161.图13所示的电子设备还包括总线103和通信接口104,处理器101、通信接口104和存储器102通过总线103连接。
162.其中,存储器102可能包含高速随机存取存储器(ram,random access memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。总线103可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的
总线。
163.通信接口104用于通过网络接口与至少一个用户终端及其它网络单元连接,将封装好的ipv4报文或ipv4报文通过网络接口发送至用户终端。
164.处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本公开实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器102,处理器101读取存储器102中的信息,结合其硬件完成前述实施例的方法的步骤。
165.本发明实施例还提供了一种可读存储介质,该可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行前述实施例的矢量数据的分析方法的步骤。
166.在本技术所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
167.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
168.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
169.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以用软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
170.最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明
的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

技术特征:
1.一种矢量数据的分析方法,其特征在于,所述方法包括:获取待分析的矢量数据,并确定所述矢量数据对应的固定层级网格索引以及形态参数;利用所述固定层级网格索引以及所述形态参数计算所述矢量数据的尺度系数以及最优网格索引层级;将所述最优网格索引层级对应的网格索引确定为计算网格索引,并利用所述计算网格索引对所述矢量数据进行关联计算,得到叠加数据对;利用预设的数据去重策略对所述叠加数据对中包含的跨网格数据进行去重处理;对已完成去重处理的所述叠加数据对进行叠加计算,得到所述矢量数据的分析结果。2.根据权利要求1所述的矢量数据的分析方法,其特征在于,所述获取待分析的矢量数据,并确定所述矢量数据对应的多级网格索引的步骤,包括:采用预设的大数据集群对叠加矢量数据进行存储,并将所述叠加矢量数据确定为待分析的所述矢量数据;利用geohash算法生成所述矢量数据的固定层级索引,并利用所述固定层级索引确定所述矢量数据对应的多级网格索引。3.根据权利要求1所述的矢量数据的分析方法,其特征在于,所述利用所述固定层级网格索引以及所述形态参数计算所述矢量数据的尺度系数以及最优网格索引层级的步骤,包括:获取所述矢量数据中包含的第一矢量数据和第二矢量数据,通过随机抽样方法分别获取所述第一矢量数据和第二矢量数据对应的矢量样本数据;利用所述矢量样本数据对应的所述形态参数,分别确定所述第一矢量数据对应的第一尺度系数和所述第二矢量数据对应的第二尺度系数;将所述第一尺度系数和所述第二尺度系数中的最大值确定为所述尺度系数,并利用所述尺度系数的数值确定所述固定层级网格索引对应的最优网格索引层级。4.根据权利要求3所述的矢量数据的分析方法,其特征在于,所述利用所述矢量样本数据对应的所述形态参数,分别确定所述第一矢量数据对应的第一尺度系数和所述第二矢量数据对应的第二尺度系数的步骤,包括:获取所述形态参数中包含的多边形周长、多边形面积以及多边形顶点个数;根据所述多边形周长、所述多边形面积以及所述多边形顶点个数,利用预设的尺度系数算式,分别计算所述第一尺度系数和所述第二尺度系数;其中,所述尺度系数算式为:k=w1*p+w2*n;p=c2/s;p为形态指数;c为所述多边形周长;s为所述多边形面积;n为所述多边形顶点个数;w1和w2为常数,且w1+w2=1。5.根据权利要求3所述的矢量数据的分析方法,其特征在于,利用所述尺度系数的数值确定所述固定层级网格索引对应的最优网格索引层级,包括:获取所述尺度系数的数值;利用预设的对应关系表从所述固定层级网格索引中获取所述尺度系数的数值相对应的最优网格索引层级;其中,所述对应关系表中,当所述尺度系数的数值大于231485.15时,
对应的最优网格索引层级为第0层;当所述尺度系数的数值大于105772.52且小于231485.15时,对应的最优网格索引层级为第1层;当所述尺度系数的数值大于53694.83且小于105772.52时,对应的最优网格索引层级为第2层;当所述尺度系数的数值大于31773.26且小于53694.83时,对应的最优网格索引层级为第3层;当所述尺度系数的数值大于17662.14且小于31173.26时,对应的最优网格索引层级为第4层;当所述尺度系数的数值大于9337.42且小于17662.14时,对应的最优网格索引层级为第5层;当所述尺度系数的数值大于5784.61且小于9337.42时,对应的最优网格索引层级为第6层;当所述尺度系数的数值大于3177.49-且小于5784.61时,对应的最优网格索引层级为第7层;当所述尺度系数的数值大于2165.23且小于3177.49时,对应的最优网格索引层级为第8层;当所述尺度系数的数值大于1253.57且小于2165.23时,对应的最优网格索引层级为第9层;当所述尺度系数的数值大于742.15且小于1253.57时,对应的最优网格索引层级为第10层;当所述尺度系数的数值大于519.52且小于742.15时,对应的最优网格索引层级为第11层;当所述尺度系数的数值大于405.29且小于519.52时,对应的最优网格索引层级为第12层;当所述尺度系数的数值大于312.47且小于405.29时,对应的最优网格索引层级为第13层;当所述尺度系数的数值大于231.86且小于312.47时,对应的最优网格索引层级为第14层;当所述尺度系数的数值大于167.43且小于231.86时,对应的最优网格索引层级为第15层;当所述尺度系数的数值大于113.62且小于167.43时,对应的最优网格索引层级为第16层;当所述尺度系数的数值大于78.57且小于113.62时,对应的最优网格索引层级为第17层;当所述尺度系数的数值大于57.61且小于78.57时,对应的最优网格索引层级为第18层。6.根据权利要求1所述的矢量数据的分析方法,其特征在于,所述将所述最优网格索引层级对应的网格索引确定为计算网格索引,并利用所述计算网格索引对所述矢量数据进行关联计算,得到叠加数据对的步骤,包括:获取所述最优网格索引层级对应的网格索引,并将所述网格索引确定为所述计算网格索引;按照所述计算网格索引对所述矢量数据进行划分,并将划分后位于同一网格内的矢量数据进行关联结算,得到所述叠加数据对。7.根据权利要求1所述的矢量数据的分析方法,其特征在于,所述利用预设的数据去重策略对所述叠加数据对中包含的跨网格数据进行去重处理的步骤,包括:获取所述跨网格数据中包含的第一几何对象和第二几何对象;计算所述第一几何对象的第一外包矩形和所述第二几何对象的第二外包矩形;计算所述第一外包矩形和所述第二外包矩形的相交图形,并获取所述相交图形的左上角顶点作为参考点;计算所述参考点所在的网格索引,并判断所述网格索引与所述第一几何对象、所述第二几何对象对应的网格索引是否一致;如果是,则保存所述叠加数据对;如果否,则删除所述叠加数据对。8.根据权利要求1所述的矢量数据的分析方法,其特征在于,所述对已完成去重处理的所述叠加数据对进行叠加计算,得到所述矢量数据的分析结果的步骤,包括:采用jts叠加分析算子对已完成去重处理的所述叠加数据进行叠加计算,得到第一分析结果;
遍历所述第一分析结果,并将所述第一分析结果中包含的空数据进行筛除,得到第二分析结果;将所述第二分析结果保存至预设的分布式数据库,得到所述矢量数据的分析结果。9.一种矢量数据的分析系统,其特征在于,所述系统包括:第一分析模块,用于获取待分析的矢量数据,并确定所述矢量数据对应的固定层级网格索引以及形态参数;第二分析模块,用于利用所述固定层级网格索引以及所述形态参数计算所述矢量数据的尺度系数以及最优网格索引层级;第三分析模块,用于将所述最优网格索引层级对应的网格索引确定为计算网格索引,并利用所述计算网格索引对所述矢量数据进行关联计算,得到叠加数据对;第四分析模块,用于利用预设的数据去重策略对所述叠加数据对中包含的跨网格数据进行去重处理;第五分析模块,用于对已完成去重处理的所述叠加数据对进行叠加计算,得到所述矢量数据的分析结果。10.一种电子设备,其特征在于,包括:处理器和存储装置;所述存储装置上存储有计算机程序,所述计算机程序在被所述处理器运行时实现上述权利要求1至8任一项所述的矢量数据的分析方法的步骤。

技术总结
本发明提供了一种矢量数据的分析方法、系统及电子设备,该方法首先获取待分析的矢量数据,并确定矢量数据对应的固定层级网格索引以及形态参数;然后利用固定层级网格索引以及形态参数计算矢量数据的尺度系数以及最优网格索引层级;再将最优网格索引层级对应的网格索引确定为计算网格索引,并利用计算网格索引对矢量数据进行关联计算,得到叠加数据对;然后利用预设的数据去重策略对叠加数据对中包含的跨网格数据进行去重处理;最后对已完成去重处理的叠加数据对进行叠加计算,得到矢量数据的分析结果;该方法可以创建负载更为均衡的分布式计算,从而大大提升不同尺度下矢量数据的分布式计算性能,充分利用计算资源,缩短计算时间。时间。时间。


技术研发人员:王洪飞 庞亚菲 梁哲恒 周忠芬 李志威 马晓霞 李凯
受保护的技术使用者:广东南方数码科技股份有限公司
技术研发日:2023.04.06
技术公布日:2023/7/7
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐