一种二叉树的数据网格化、网格点数据的获取方法及装置与流程

文档序号:28919743发布日期:2022-02-16 12:41阅读:214来源:国知局
一种二叉树的数据网格化、网格点数据的获取方法及装置与流程

1.本技术涉及计算机技术领域,特别是涉及一种二叉树的数据网格化方法、装置、计算机设备、存储介质和计算机程序产品;以及一种网格点数据的获取方法、装置、计算机设备、存储介质和计算机程序产品。


背景技术:

2.在电力应急等领域中,通常选用离杆塔/变电站最近的站点数据近似作为杆塔/变电站受到的影响,由于资金有限,空间相关因素的监测站点一般是有限的若干个,使用站点数据时,由于任一监测站点的数据并不是必然有的,有可能缺测,每次关联最近的站点数据时,都需要计算找到最近的有数据的站点,然后关联该站点。
3.但现有的离散的站点数据应用于设备受气象要素影响分析,使用不便,需要进行多个时次分析时需要每次计算找到有数据的最近的站点,使用时计算量大,计算时间长。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够通过二叉树模型算法将离散的站点数据进行网格化转化为网格点数据,将无序的离散的站点数据转化进行有序化排列,便于使用的二叉树的数据网格化、网格点数据的获取方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
5.一种二叉树的数据网格化方法,所述方法包括:
6.获取离散站点数据;其中,所述离散站点数据包括属性值;
7.通过所述属性值构建k维二叉树模型;
8.获取到网格点数据;
9.通过k维二叉树模型查找得到所述网格点数据对应的叶子节点;
10.将所述叶子节点对应的属性值确定为所述网格点数据的属性值。
11.在其中一个实施例中,所述属性值包括经度、纬度及数据值。
12.在其中一个实施例中,所述通过所述离散站点数据构建k维二叉树模型,包括:
13.针对所述属性值中每个维度的数据进行方差计算,确定最大方差的维度作为分割轴;
14.对当前属性值按分割轴进行检索,得到第一中位数,并将所述第一中位数放入至k维二叉树模型的当前节点;
15.按照所述第一中位数将所述当前属性值进行划分,将所述当前属性值放入左支或右支;
16.将分割轴进行更新,得到新的分割轴;
17.根据所述新的分割轴针对左支或右支中的数据进行中位数划分,得到第二中位数,并将第二中位数放入左子节点或右子节点,构建出k维二叉树模型。
18.在其中一个实施例中,所述获取到网格点数据,包括:
19.获取预设参数;所述预设参数包括经度间隔、纬度间隔及经纬度范围;
20.通过所述经度间隔、纬度间隔对所述经纬度范围进行划分,得到多个网格点数据。
21.在其中一个实施例中,所述方法包括:
22.遍历所述网格点数据,获得到所述k维二叉树模型每个网格点数据对应的叶子节点;
23.将所述叶子节点的属性值与网格点数据建立关联关系,得到网格点数据文件。
24.一种网格点数据的获取方法,所述方法包括:
25.获取设备相关信息;
26.将所述设备相关信息与网格点数据文件中的预设参数进行匹配,得到对应的网格点数据;
27.提取出所述网格点数据对应的属性值。
28.在其中一个实施例中,所述方法还包括:
29.将设备相关信息与网格点数据进行关联,得到设备数据文件。
30.一种二叉树的数据网格化装置,所述装置包括:
31.离散站点数据获取模块,用于获取离散站点数据;其中,所述离散站点数据包括属性值;
32.二叉树构建模块,用于通过所述属性值构建k维二叉树模型;
33.网格点数据获取模块,用于获取到网格点数据;
34.叶子节点查找模块,用于通过k维二叉树模型查找得到所述网格点数据对应的叶子节点;
35.属性值确定模块,用于将所述叶子节点对应的属性值确定为所述网格点数据的属性值。
36.一种网格点数据的获取装置,所述装置包括:
37.设备相关信息获取模块,用于获取设备相关信息;
38.匹配模块,用于将所述设备相关信息与网格点数据文件中的预设参数进行匹配,得到对应的网格点数据;
39.属性值提取模块,用于提取出所述网格点数据对应的属性值。
40.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
41.获取离散站点数据;其中,所述离散站点数据包括属性值;
42.通过所述属性值构建k维二叉树模型;
43.获取到网格点数据;
44.通过k维二叉树模型查找得到所述网格点数据对应的叶子节点;
45.将所述叶子节点对应的属性值确定为所述网格点数据的属性值。
46.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
47.针对所述属性值中每个维度的数据进行方差计算,确定最大方差的维度作为分割轴;
48.对当前属性值按分割轴进行检索,得到第一中位数,并将所述第一中位数放入至k维二叉树模型的当前节点;
49.按照所述第一中位数将所述当前属性值进行划分,将所述当前属性值放入左支或右支;
50.将分割轴进行更新,得到新的分割轴;
51.根据所述新的分割轴针对左支或右支中的数据进行中位数划分,得到第二中位数,并将第二中位数放入左子节点或右子节点,构建出k维二叉树模型。
52.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
53.获取预设参数;所述预设参数包括经度间隔、纬度间隔及经纬度范围;
54.通过所述经度间隔、纬度间隔对所述经纬度范围进行划分,得到多个网格点数据。
55.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
56.遍历所述网格点数据,获得到所述k维二叉树模型每个网格点数据对应的叶子节点;
57.将所述叶子节点的属性值与网格点数据建立关联关系,得到网格点数据文件。
58.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
59.获取设备相关信息;
60.将所述设备相关信息与网格点数据文件中的预设参数进行匹配,得到对应的网格点数据;
61.提取出所述网格点数据对应的属性值。
62.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
63.将设备相关信息与网格点数据进行关联,得到设备数据文件。
64.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
65.获取离散站点数据;其中,所述离散站点数据包括属性值;
66.通过所述属性值构建k维二叉树模型;
67.获取到网格点数据;
68.通过k维二叉树模型查找得到所述网格点数据对应的叶子节点;
69.将所述叶子节点对应的属性值确定为所述网格点数据的属性值。
70.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
71.针对所述属性值中每个维度的数据进行方差计算,确定最大方差的维度作为分割轴;
72.对当前属性值按分割轴进行检索,得到第一中位数,并将所述第一中位数放入至k维二叉树模型的当前节点;
73.按照所述第一中位数将所述当前属性值进行划分,将所述当前属性值放入左支或右支;
74.将分割轴进行更新,得到新的分割轴;
75.根据所述新的分割轴针对左支或右支中的数据进行中位数划分,得到第二中位数,并将第二中位数放入左子节点或右子节点,构建出k维二叉树模型。
76.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
77.获取预设参数;所述预设参数包括经度间隔、纬度间隔及经纬度范围;
78.通过所述经度间隔、纬度间隔对所述经纬度范围进行划分,得到多个网格点数据。
79.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
80.遍历所述网格点数据,获得到所述k维二叉树模型每个网格点数据对应的叶子节点;
81.将所述叶子节点的属性值与网格点数据建立关联关系,得到网格点数据文件。
82.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
83.获取设备相关信息;
84.将所述设备相关信息与网格点数据文件中的预设参数进行匹配,得到对应的网格点数据;
85.提取出所述网格点数据对应的属性值。
86.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
87.将设备相关信息与网格点数据进行关联,得到设备数据文件。
88.在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
89.获取离散站点数据;其中,所述离散站点数据包括属性值;
90.通过所述属性值构建k维二叉树模型;
91.获取到网格点数据;
92.通过k维二叉树模型查找得到所述网格点数据对应的叶子节点;
93.将所述叶子节点对应的属性值确定为所述网格点数据的属性值。
94.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
95.针对所述属性值中每个维度的数据进行方差计算,确定最大方差的维度作为分割轴;
96.对当前属性值按分割轴进行检索,得到第一中位数,并将所述第一中位数放入至k维二叉树模型的当前节点;
97.按照所述第一中位数将所述当前属性值进行划分,将所述当前属性值放入左支或右支;
98.将分割轴进行更新,得到新的分割轴;
99.根据所述新的分割轴针对左支或右支中的数据进行中位数划分,得到第二中位数,并将第二中位数放入左子节点或右子节点,构建出k维二叉树模型。
100.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
101.获取预设参数;所述预设参数包括经度间隔、纬度间隔及经纬度范围;
102.通过所述经度间隔、纬度间隔对所述经纬度范围进行划分,得到多个网格点数据。
103.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
104.遍历所述网格点数据,获得到所述k维二叉树模型每个网格点数据对应的叶子节点;
105.将所述叶子节点的属性值与网格点数据建立关联关系,得到网格点数据文件。
106.在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
107.获取设备相关信息;
108.将所述设备相关信息与网格点数据文件中的预设参数进行匹配,得到对应的网格点数据;
109.提取出所述网格点数据对应的属性值。
110.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
111.将设备相关信息与网格点数据进行关联,得到设备数据文件。
112.上述二叉树的数据网格化方法、装置、计算机设备、存储介质和计算机程序产品,通过二叉树模型算法将离散的站点数据进行网格化转化为网格点数据,将无序的离散的站点数据转化进行有序化排列,方便进行快捷高效的检索,网格点数据便于使用,且与原始站点数据解耦。使用时计算量少,处理效率高。
113.上述网格点数据的获取方法、装置、计算机设备、存储介质和计算机程序产品,可以根据电气设备的相关信息,快速得到最近的站点数据,可简化设备等受某些空间相关要素的影响分析,便于使用,网格点数据使用简单,使用时计算量少,处理效率高。
附图说明
114.图1为一个实施例中二叉树的数据网格化方法的流程示意图;
115.图2为一个实施例中二叉树模型构建步骤的流程示意图;
116.图3为一个实施例中网格点数据获取步骤的流程示意图;
117.图4为一个实施例中网格点数据文件获得步骤的流程示意图;
118.图5为一个实施例中网格点数据的获取方法的流程示意图;
119.图6为一个实施例中设备数据文件获取步骤的流程示意图;
120.图7为一个实施例中二叉树的数据网格化装置的结构框图;
121.图8为一个实施例中二叉树的数据网格化装置的结构框图;
122.图9为一个实施例中计算机设备的内部结构图。
具体实施方式
123.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
124.在一个实施例中,如图1所示,提供了一种二叉树的数据网格化方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
125.步骤101,获取离散站点数据;其中,所述离散站点数据包括属性值;
126.本实施例中,终端或服务器首先可以获得离散站点数据,其中,该离散站点数据包括属性值,属性值包括经度,纬度,数据值等,本实施例对属性值的种类不作过多的限制;
127.需要说明的是,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
128.步骤102,通过所述属性值构建k维二叉树模型;
129.进一步地,在得到属性值后,根据上述的属性值构建k维二叉树模型,
130.需要说明的是,k维二叉树模型是每个节点均为k维数值点的二叉树,其上的每个节点代表一个超平面,该超平面垂直于当前划分维度的坐标轴,并在该维度上将空间划分为两部分,一部分在其左子树(左支),另一部分在其右子树(右支)。即若当前节点的划分维度为d,其左子树上所有点在d维的坐标值均小于当前值,右子树上所有点在d维的坐标值均大于等于当前值。进一步地,除根节点外、在二叉树的节点还包括父节点、子节点、叶子节点。
131.具体而言,按照某种顺序将无序化的点进行有序化排列,方便进行快捷高效的检索。
132.首先,可以针对属性值中的每个维度的数据进行方差计算,将计算得到的最大方差确定为分割轴,再根据分割轴进行检索,得到中位数据,根据中位数据将数据放入至左支、右支;更新分割轴,重复上述的步骤,再根据计算得到第二个中位数划分左子节点及右子节点,完成k维二叉树模型的构建。
133.步骤103,获取到网格点数据;
134.本实施例中,该网格点数据是指在一定的经度及纬度范围内按照预设间隔进行划分的经纬度数据,网格点数据的数量可以是多个;该网格点数据包括经度坐标及纬度坐标。
135.步骤104,通过k维二叉树模型查找得到所述网格点数据对应的叶子节点;
136.实际应用到本实施例中,通过k维二叉树模型查找到距离该网格点数据的最近的节点,并判断该节点是否为叶子节点。
137.具体而言,可以通过计算欧式距离的方式判断当前的节点是否为最近的节点,若是,则该最近的节点为叶子节点。
138.步骤105,将所述叶子节点对应的属性值确定为所述网格点数据的属性值。
139.在得到网格点数据对应的叶子节点后,提取出该叶子节点对应的属性值,将该属性值确定为该网格点数据的属性值。
140.进一步地,可以遍历所有的网格点数据,将每个网格点数据对应的叶子节点的属性值,关联为自身的属性值。
141.上述二叉树的数据网格化方法中,通过二叉树模型算法将离散的站点数据进行网格化转化为网格点数据,将无序的离散的站点数据转化进行有序化排列,方便进行快捷高效的检索,网格点数据便于使用,且与原始站点数据解耦。使用时计算量少,处理效率高。
142.在一个实施例中,如图2所示,是本实施例的一种二叉树模型构建步骤的流程示意图,包括:
143.步骤201,针对所述属性值中每个维度的数据进行方差计算,确定最大方差的维度作为分割轴;
144.步骤202,对当前属性值按分割轴进行检索,得到第一中位数,并将所述第一中位数放入至k维二叉树模型的当前节点;
145.步骤203,按照所述中位数将所述当前属性值进行划分,将所述当前属性值放入左支或右支;
146.步骤204,将分割轴进行更新,得到新的分割轴;
147.步骤205,根据所述新的分割轴针对左支或右支中的数据进行中位数划分,得到第二中位数,并将第二中位数放入左子节点或右子节点,构建出k维二叉树模型。
148.本实施例中,提取出离散站点数据的属性值中每个维度的数据进行方差计算,如经度、纬度及数据值等维度的数据分别进行方差的计算,判断计算得到的方差大小,将最大方差对应的维度的数据确定为分割轴。
149.将当前属性值按分割轴对应的维度进行检索,识别出第一中位数,将并将所述第一中位数放入至k维二叉树模型的当前节点;再按照该第一中位数对当前属性值进行划分,小于第一中位数的值划分到左支中,大于或等于中位数的值划分到右支中。
150.对分割轴进行更新,在左支或右支中的数据进行中位数划分,得到第二中位数,将第二中位数放入左子节点或右子节点,将所有的左支或右支中的数据进行第二中位数据的查找及添加到子节点,完成了k维二叉树模型的构建。
151.具体应用到本实施例中,如图3所示,是本实施例的一种网格点数据获取步骤的流程示意图,包括:
152.步骤301,获取预设参数;所述预设参数包括经度间隔、纬度间隔及经纬度范围;
153.步骤302,通过所述经度间隔、纬度间隔对所述经纬度范围进行划分,得到网格点数据。
154.在一种实施例中,采用一定的数据间隔对经纬度范围进行划分,得到多个不同的经纬度坐标,该经纬度坐标即为网格点数据。
155.举例而言,经度范围:112.83-114.16,纬度范围:112.83-114.16,经度间隔: 0.005,纬度间隔:0.005,可按照上述的经度间隔及纬度间隔对经纬度范围进行划分,得到多个网格点数据。
156.需要说明的是,可以把经度间隔、纬度间隔、经纬度范围和网格点数据保存到同一个文件;也可以是把经度间隔、纬度间隔、经纬度范围保存为描述文件,将网格点数据保存到另一个数据文件,将描述文件和数据文件打包为一个压缩文件,方便调用。
157.在具体实现中,如图4所示,是本实施例的一种网格点数据文件获得步骤的流程示意图,包括:
158.步骤401,遍历所述网格点数据,获得到所述k维二叉树模型中每个网格点数据对应的叶子节点;
159.步骤402,将所述叶子节点的属性值与网格点数据建立关联关系,得到网格点数据文件。
160.将所有的网格点数据通过构建后的k维二叉树模型计算得到其对应的叶子节点,再将该叶子节点的属性值与网格点数据建立关联关系,得到网格点数据文件,将无序的数据转化为有序数据,便于取用,计算效率高。
161.在一个实施例中,如图5所示,提供了一种网格点数据的获取方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
162.步骤501,获取设备相关信息;
163.举例而言,可以获取到杆塔设备的设备相关信息、变电站设备的设备相关信息等;
具体地,该设备相关信息可以包括经度、纬度、高度等。
164.步骤502,将所述设备相关信息与网格点数据文件中的预设参数进行匹配,得到网格点数据;
165.在网格点数据文件中,其包含叶子节点的属性值与网格点数据的关联关系,而网格点数据包含预设参数;所述预设参数包括经度间隔、纬度间隔及经纬度范围,根据上述的预设参数可以计算到某一个网格点数据的经度及纬度,将所述设备相关信息的经度、纬度与网格点数据的经度及纬度进行对比匹配,得到对应的网格点数据。
166.步骤503,提取出所述网格点数据对应的属性值。
167.得到网格点数据后,可以根据网格点数据文件中叶子节点的属性值与网格点数据的关联关系,提取出对应的属性值,即为该设备的属性值,得到设备的站点数据。
168.上述网格点数据的获取方法中,可以根据电气设备的相关信息,快速得到最近的站点数据,可简化设备等受某些空间相关要素的影响分析,便于使用,与原始站点数据解耦,网格点数据使用简单,使用时计算量少,处理效率高。
169.在具体实现中,如图6所示,是本实施例的一种设备数据文件获取步骤的流程示意图,包括:
170.步骤601,将设备相关信息与网格点数据进行关联,得到设备数据文件。
171.在另一种优选实施例中,还可以建立并保存设备相关信息与网格点数据的关联关系,得到设备数据文件,便于查询使用,提高数据处理效率。
172.其还可以包括设备相关信息、网格点数据及属性值三者之间的关联关系,进一步提高使用效率。
173.为了使本领域技术人员更好地理解本技术的核心构思,以下通过一个具体示例进行说明:
174.步骤1、读取待处理的离散点数据,离散点数据包含但不限于经度,纬度,数据值等属性值;
175.步骤2、基于步骤1读取的离散点数据构建k维二叉树;
176.构建k维的二叉树,其中的每一个节点都是k维的数据,数据结构如下所示:
177.struct tree{
178.node-data-数据矢量数据集中某个数据点,是n维矢量(这里也就是k维);
179.range
ꢀ‑
空间矢量
ꢀꢀ
该节点所代表的空间范围;
180.split-整数
ꢀꢀ
垂直于分割超平面的方向轴序号;
181.left-树
ꢀꢀ
由位于该节点分割超平面左子空间内所有数据点所构成的树
182.right-树
ꢀꢀ
由位于该节点分割超平面右子空间内所有数据点所构成的树
183.parent-树
ꢀꢀ
父节点
184.partitiondimention;-分割的维度
185.partitionvalue;
ꢀꢀꢀꢀ‑
分割的值
186.double[]value;
ꢀꢀꢀꢀꢀ‑
如果为非叶子节点,该属性为空,否则为数据
[0187]
isleaf
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ‑
是否为叶子
[0188]
}
[0189]
按照某种顺序将无序化的点数组进行有序化排列,方便进行快捷高效的检索。
[0190]

初始化分割轴:对每个维度的数据进行方差的计算,取最大方差的维度作为分割轴,标记为r;
[0191]

确定节点:对当前数据按分割轴维度进行检索,找到中位数数据,并将其放入到当前节点上;
[0192]

划分双支:
[0193]
划分左支:在当前分割轴维度,所有小于中位数的值划分到左支中;
[0194]
划分右支:在当前分割轴维度,所有大于等于中位数的值划分到右支中。
[0195]

更新分割轴:r=(r+1)%k;
[0196]

确定子节点:
[0197]
确定左节点:在左支的数据中进行步骤2;
[0198]
确定右节点:在右支的数据中进行步骤2;
[0199]
步骤3、根据预设参数,如坐标参数,坐标间隔等得到若干网格点,即网格点数据;本实施例采用经度方向间隔,维度方向间隔,经纬度范围为:起止经度: 112.83-114.16,起止纬度:22.42-24;经度间隔:0.005,纬度间隔:0.005;格点大小:0.005*0.005(约为500m*500m);
[0200]
步骤4、遍历网格点,得到一个待处理的网格点,通过k维二叉树查找距离该待处理网格点较近的树节点;
[0201]
步骤5、判断树节点是否是叶子节点,如果是叶子节点,则该叶子节点就是最近的节点;如果不是叶子节点,则进行步骤4,直到步骤4得到的较近的树节点是叶子节点为止,该叶子节点即为最近的节点;
[0202]
查找某个待查询节点的最近的节点:
[0203]

取二叉树的根节点作为当前节点,计算当前节点到待查询节点的欧氏距离得到当前欧氏距离;
[0204]
2维空间的欧式距离计算公式如下式所示:
[0205][0206]
k维空间(n=k)的欧氏距离的计算公式如下式所示:
[0207][0208]

对比待查询节点的坐标值和当前节点当前分割轴的值,若待查询节点在当前分割轴的值小于当前节点的当前分割轴的维度值,则选取左支节点;否则选取右支节点;
[0209]

计算待查询节点到步骤2选取的支节点的距离为待比对距离,若待比对距离小于当前欧式距离,则步骤2选取的支节点为当前节点,待比对距离为当前欧式距离;
[0210]

重复步骤2,3,若当前节点为叶子节点,则当前节点为最近节点。
[0211]
步骤6、获取最近的节点对应的站点数据,包含不限于经度,纬度,数据值,使用该节点对应的数据值作为该网格点对应的数据值;
[0212]
步骤7、重复步骤4到步骤6,得到所有的网格点对应的数据值;
[0213]
步骤8、将预设参数中的经度间隔、纬度间隔、经纬度范围和对应的网格点的数据值(属性值)保存。
[0214]
网格点数据的使用(仅需计算一次):
[0215]
步骤1、读取待分析的设备的相关信息(主要包含地理位置信息,如:经度,维度,高度等);
[0216]
步骤2、读取网格点数据的预设参数,如:经度间隔、纬度间隔、经纬度范围等;
[0217]
步骤3、通过步骤2读取的预设信息可计算得到每个网格点的位置信息(如:经度,纬度);
[0218]
步骤4、根据步骤1和步骤2的位置信息计算得到每个待分析的设备的关联的网格点;
[0219]
步骤5、保存每个待分析的设备与网格点的关联关系。
[0220]
网格点数据网格数据使用:
[0221]
步骤1、使用时通过保存的待分析的设备与网格点数据的关联关系取得关联的网格点的数据值;
[0222]
步骤2、进行后续分析。
[0223]
应该理解的是,虽然图1-6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-6中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0224]
在一个实施例中,如图7所示,提供了一种二叉树的数据网格化装置,包括:
[0225]
离散站点数据获取模块701,用于获取离散站点数据;其中,所述离散站点数据包括属性值;
[0226]
二叉树构建模块702,用于通过所述属性值构建k维二叉树模型;
[0227]
网格点数据获取模块703,用于获取到网格点数据;
[0228]
叶子节点查找模块704,用于通过k维二叉树模型查找得到所述网格点数据对应的叶子节点;
[0229]
属性值确定模块705,用于将所述叶子节点对应的属性值确定为所述网格点数据的属性值。
[0230]
在其中一个实施例中,所述属性值包括经度、纬度及数据值。
[0231]
在其中一个实施例中,所述二叉树构建模块包括:
[0232]
分割轴确定子模块,用于针对所述属性值中每个维度的数据进行方差计算,确定最大方差的维度作为分割轴;
[0233]
检索子模块,用于对当前属性值按分割轴进行检索,得到第一中位数,并将所述第一中位数放入至k维二叉树模型的当前节点;
[0234]
划分子模块,用于按照所述第一中位数将所述当前属性值进行划分,将所述当前属性值放入左支或右支;
[0235]
分割轴更新子模块,用于将分割轴进行更新,得到新的分割轴;
[0236]
二叉树构建子模块,用于根据所述新的分割轴针对左支或右支中的数据进行中位数划分,得到第二中位数,并将第二中位数放入左子节点或右子节点,构建出k维二叉树模
型。
[0237]
在其中一个实施例中,所述网格点数据获取模块包括:
[0238]
预设参数获取子模块,用于获取预设参数;所述预设参数包括经度间隔、纬度间隔及经纬度范围;
[0239]
网格点数据获取子模块,用于通过所述经度间隔、纬度间隔对所述经纬度范围进行划分,得到多个网格点数据。
[0240]
在其中一个实施例中,所述装置包括:
[0241]
遍历模块,用于遍历所述网格点数据,获得到所述k维二叉树模型每个网格点数据对应的叶子节点;
[0242]
网格点数据文件获取模块,用于将所述叶子节点的属性值与网格点数据建立关联关系,得到网格点数据文件。
[0243]
在一个实施例中,如图8所示,提供了一种网格点数据的获取装置,包括:
[0244]
设备相关信息获取模块801,用于获取设备相关信息;
[0245]
匹配模块802,用于将所述设备相关信息与网格点数据文件中的预设参数进行匹配,得到对应的网格点数据;
[0246]
属性值提取模块803,用于提取出所述网格点数据对应的属性值。
[0247]
在其中一个实施例中,所述装置还包括:
[0248]
设备数据文件获取模块,用于将设备相关信息与网格点数据进行关联,得到设备数据文件。
[0249]
关于二叉树的数据网格化装置、网格点数据的获取装置的具体限定可以参见上文中对于二叉树的数据网格化方法、网格点数据的获取方法的限定,在此不再赘述。上述二叉树的数据网格化装置、网格点数据的获取装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0250]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种二叉树的数据网格化方法、网格点数据的获取方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0251]
本领域技术人员可以理解,图9中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0252]
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
[0253]
获取离散站点数据;其中,所述离散站点数据包括属性值;
[0254]
通过所述属性值构建k维二叉树模型;
[0255]
获取到网格点数据;
[0256]
通过k维二叉树模型查找得到所述网格点数据对应的叶子节点;
[0257]
将所述叶子节点对应的属性值确定为所述网格点数据的属性值。
[0258]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0259]
针对所述属性值中每个维度的数据进行方差计算,确定最大方差的维度作为分割轴;
[0260]
对当前属性值按分割轴进行检索,得到第一中位数,并将所述第一中位数放入至k维二叉树模型的当前节点;
[0261]
按照所述第一中位数将所述当前属性值进行划分,将所述当前属性值放入左支或右支;
[0262]
将分割轴进行更新,得到新的分割轴;
[0263]
根据所述新的分割轴针对左支或右支中的数据进行中位数划分,得到第二中位数,并将第二中位数放入左子节点或右子节点,构建出k维二叉树模型。
[0264]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0265]
获取预设参数;所述预设参数包括经度间隔、纬度间隔及经纬度范围;
[0266]
通过所述经度间隔、纬度间隔对所述经纬度范围进行划分,得到多个网格点数据。
[0267]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0268]
遍历所述网格点数据,获得到所述k维二叉树模型每个网格点数据对应的叶子节点;
[0269]
将所述叶子节点的属性值与网格点数据建立关联关系,得到网格点数据文件。
[0270]
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
[0271]
获取设备相关信息;
[0272]
将所述设备相关信息与网格点数据文件中的预设参数进行匹配,得到对应的网格点数据;
[0273]
提取出所述网格点数据对应的属性值。
[0274]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0275]
将设备相关信息与网格点数据进行关联,得到设备数据文件。
[0276]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0277]
获取离散站点数据;其中,所述离散站点数据包括属性值;
[0278]
通过所述属性值构建k维二叉树模型;
[0279]
获取到网格点数据;
[0280]
通过k维二叉树模型查找得到所述网格点数据对应的叶子节点;
[0281]
将所述叶子节点对应的属性值确定为所述网格点数据的属性值。
[0282]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0283]
针对所述属性值中每个维度的数据进行方差计算,确定最大方差的维度作为分割轴;
[0284]
对当前属性值按分割轴进行检索,得到第一中位数,并将所述第一中位数放入至k维二叉树模型的当前节点;
[0285]
按照所述第一中位数将所述当前属性值进行划分,将所述当前属性值放入左支或右支;
[0286]
将分割轴进行更新,得到新的分割轴;
[0287]
根据所述新的分割轴针对左支或右支中的数据进行中位数划分,得到第二中位数,并将第二中位数放入左子节点或右子节点,构建出k维二叉树模型。
[0288]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0289]
获取预设参数;所述预设参数包括经度间隔、纬度间隔及经纬度范围;
[0290]
通过所述经度间隔、纬度间隔对所述经纬度范围进行划分,得到多个网格点数据。
[0291]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0292]
遍历所述网格点数据,获得到所述k维二叉树模型每个网格点数据对应的叶子节点;
[0293]
将所述叶子节点的属性值与网格点数据建立关联关系,得到网格点数据文件。
[0294]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0295]
获取设备相关信息;
[0296]
将所述设备相关信息与网格点数据文件中的预设参数进行匹配,得到对应的网格点数据;
[0297]
提取出所述网格点数据对应的属性值。
[0298]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0299]
将设备相关信息与网格点数据进行关联,得到设备数据文件。
[0300]
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
[0301]
获取离散站点数据;其中,所述离散站点数据包括属性值;
[0302]
通过所述属性值构建k维二叉树模型;
[0303]
获取到网格点数据;
[0304]
通过k维二叉树模型查找得到所述网格点数据对应的叶子节点;
[0305]
将所述叶子节点对应的属性值确定为所述网格点数据的属性值。
[0306]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0307]
针对所述属性值中每个维度的数据进行方差计算,确定最大方差的维度作为分割轴;
[0308]
对当前属性值按分割轴进行检索,得到第一中位数,并将所述第一中位数放入至k维二叉树模型的当前节点;
[0309]
按照所述第一中位数将所述当前属性值进行划分,将所述当前属性值放入左支或右支;
[0310]
将分割轴进行更新,得到新的分割轴;
[0311]
根据所述新的分割轴针对左支或右支中的数据进行中位数划分,得到第二中位数,并将第二中位数放入左子节点或右子节点,构建出k维二叉树模型。
[0312]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0313]
获取预设参数;所述预设参数包括经度间隔、纬度间隔及经纬度范围;
[0314]
通过所述经度间隔、纬度间隔对所述经纬度范围进行划分,得到多个网格点数据。
[0315]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0316]
遍历所述网格点数据,获得到所述k维二叉树模型每个网格点数据对应的叶子节点;
[0317]
将所述叶子节点的属性值与网格点数据建立关联关系,得到网格点数据文件。
[0318]
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
[0319]
获取设备相关信息;
[0320]
将所述设备相关信息与网格点数据文件中的预设参数进行匹配,得到对应的网格点数据;
[0321]
提取出所述网格点数据对应的属性值。
[0322]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0323]
将设备相关信息与网格点数据进行关联,得到设备数据文件。
[0324]
需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
[0325]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(randomaccess memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory, sram)或动态随机存取存储器(dynamic random access memory,dram)等。
[0326]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0327]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1