CN114049463A - 一种二叉树的数据网格化、网格点数据的获取方法及装置 - Google Patents
一种二叉树的数据网格化、网格点数据的获取方法及装置 Download PDFInfo
- Publication number
- CN114049463A CN114049463A CN202111329278.XA CN202111329278A CN114049463A CN 114049463 A CN114049463 A CN 114049463A CN 202111329278 A CN202111329278 A CN 202111329278A CN 114049463 A CN114049463 A CN 114049463A
- Authority
- CN
- China
- Prior art keywords
- grid point
- point data
- data
- binary tree
- attribute value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000004364 calculation method Methods 0.000 claims abstract description 26
- 230000011218 segmentation Effects 0.000 claims description 68
- 238000004590 computer program Methods 0.000 claims description 59
- 238000010276 construction Methods 0.000 claims description 6
- 238000000605 extraction Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 6
- 238000004422 calculation algorithm Methods 0.000 abstract description 4
- 238000004458 analytical method Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/06—Energy or water supply
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/005—Tree description, e.g. octree, quadtree
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Geometry (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Economics (AREA)
- Computer Graphics (AREA)
- Public Health (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Remote Sensing (AREA)
- Water Supply & Treatment (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种二叉树的数据网格化、网格点数据的获取方法及装置。所述方法包括:获取离散站点数据;其中,所述离散站点数据包括属性值;通过所述属性值构建k维二叉树模型;获取到网格点数据;通过k维二叉树模型查找得到所述网格点数据对应的叶子节点;将所述叶子节点对应的属性值确定为所述网格点数据的属性值。采用本方法能够通过二叉树模型算法将离散的站点数据进行网格化转化为网格点数据,与原始站点数据解耦,使用时计算量少,处理效率高。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种二叉树的数据网格化方法、装置、计算机设备、存储介质和计算机程序产品;以及一种网格点数据的获取方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
在电力应急等领域中,通常选用离杆塔/变电站最近的站点数据近似作为杆塔/变电站受到的影响,由于资金有限,空间相关因素的监测站点一般是有限的若干个,使用站点数据时,由于任一监测站点的数据并不是必然有的,有可能缺测,每次关联最近的站点数据时,都需要计算找到最近的有数据的站点,然后关联该站点。
但现有的离散的站点数据应用于设备受气象要素影响分析,使用不便,需要进行多个时次分析时需要每次计算找到有数据的最近的站点,使用时计算量大,计算时间长。
发明内容
基于此,有必要针对上述技术问题,提供一种能够通过二叉树模型算法将离散的站点数据进行网格化转化为网格点数据,将无序的离散的站点数据转化进行有序化排列,便于使用的二叉树的数据网格化、网格点数据的获取方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
一种二叉树的数据网格化方法,所述方法包括:
获取离散站点数据;其中,所述离散站点数据包括属性值;
通过所述属性值构建k维二叉树模型;
获取到网格点数据;
通过k维二叉树模型查找得到所述网格点数据对应的叶子节点;
将所述叶子节点对应的属性值确定为所述网格点数据的属性值。
在其中一个实施例中,所述属性值包括经度、纬度及数据值。
在其中一个实施例中,所述通过所述离散站点数据构建k维二叉树模型,包括:
针对所述属性值中每个维度的数据进行方差计算,确定最大方差的维度作为分割轴;
对当前属性值按分割轴进行检索,得到第一中位数,并将所述第一中位数放入至k维二叉树模型的当前节点;
按照所述第一中位数将所述当前属性值进行划分,将所述当前属性值放入左支或右支;
将分割轴进行更新,得到新的分割轴;
根据所述新的分割轴针对左支或右支中的数据进行中位数划分,得到第二中位数,并将第二中位数放入左子节点或右子节点,构建出k维二叉树模型。
在其中一个实施例中,所述获取到网格点数据,包括:
获取预设参数;所述预设参数包括经度间隔、纬度间隔及经纬度范围;
通过所述经度间隔、纬度间隔对所述经纬度范围进行划分,得到多个网格点数据。
在其中一个实施例中,所述方法包括:
遍历所述网格点数据,获得到所述k维二叉树模型每个网格点数据对应的叶子节点;
将所述叶子节点的属性值与网格点数据建立关联关系,得到网格点数据文件。
一种网格点数据的获取方法,所述方法包括:
获取设备相关信息;
将所述设备相关信息与网格点数据文件中的预设参数进行匹配,得到对应的网格点数据;
提取出所述网格点数据对应的属性值。
在其中一个实施例中,所述方法还包括:
将设备相关信息与网格点数据进行关联,得到设备数据文件。
一种二叉树的数据网格化装置,所述装置包括:
离散站点数据获取模块,用于获取离散站点数据;其中,所述离散站点数据包括属性值;
二叉树构建模块,用于通过所述属性值构建k维二叉树模型;
网格点数据获取模块,用于获取到网格点数据;
叶子节点查找模块,用于通过k维二叉树模型查找得到所述网格点数据对应的叶子节点;
属性值确定模块,用于将所述叶子节点对应的属性值确定为所述网格点数据的属性值。
一种网格点数据的获取装置,所述装置包括:
设备相关信息获取模块,用于获取设备相关信息;
匹配模块,用于将所述设备相关信息与网格点数据文件中的预设参数进行匹配,得到对应的网格点数据;
属性值提取模块,用于提取出所述网格点数据对应的属性值。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取离散站点数据;其中,所述离散站点数据包括属性值;
通过所述属性值构建k维二叉树模型;
获取到网格点数据;
通过k维二叉树模型查找得到所述网格点数据对应的叶子节点;
将所述叶子节点对应的属性值确定为所述网格点数据的属性值。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
针对所述属性值中每个维度的数据进行方差计算,确定最大方差的维度作为分割轴;
对当前属性值按分割轴进行检索,得到第一中位数,并将所述第一中位数放入至k维二叉树模型的当前节点;
按照所述第一中位数将所述当前属性值进行划分,将所述当前属性值放入左支或右支;
将分割轴进行更新,得到新的分割轴;
根据所述新的分割轴针对左支或右支中的数据进行中位数划分,得到第二中位数,并将第二中位数放入左子节点或右子节点,构建出k维二叉树模型。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取预设参数;所述预设参数包括经度间隔、纬度间隔及经纬度范围;
通过所述经度间隔、纬度间隔对所述经纬度范围进行划分,得到多个网格点数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
遍历所述网格点数据,获得到所述k维二叉树模型每个网格点数据对应的叶子节点;
将所述叶子节点的属性值与网格点数据建立关联关系,得到网格点数据文件。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取设备相关信息;
将所述设备相关信息与网格点数据文件中的预设参数进行匹配,得到对应的网格点数据;
提取出所述网格点数据对应的属性值。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
将设备相关信息与网格点数据进行关联,得到设备数据文件。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取离散站点数据;其中,所述离散站点数据包括属性值;
通过所述属性值构建k维二叉树模型;
获取到网格点数据;
通过k维二叉树模型查找得到所述网格点数据对应的叶子节点;
将所述叶子节点对应的属性值确定为所述网格点数据的属性值。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
针对所述属性值中每个维度的数据进行方差计算,确定最大方差的维度作为分割轴;
对当前属性值按分割轴进行检索,得到第一中位数,并将所述第一中位数放入至k维二叉树模型的当前节点;
按照所述第一中位数将所述当前属性值进行划分,将所述当前属性值放入左支或右支;
将分割轴进行更新,得到新的分割轴;
根据所述新的分割轴针对左支或右支中的数据进行中位数划分,得到第二中位数,并将第二中位数放入左子节点或右子节点,构建出k维二叉树模型。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取预设参数;所述预设参数包括经度间隔、纬度间隔及经纬度范围;
通过所述经度间隔、纬度间隔对所述经纬度范围进行划分,得到多个网格点数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
遍历所述网格点数据,获得到所述k维二叉树模型每个网格点数据对应的叶子节点;
将所述叶子节点的属性值与网格点数据建立关联关系,得到网格点数据文件。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取设备相关信息;
将所述设备相关信息与网格点数据文件中的预设参数进行匹配,得到对应的网格点数据;
提取出所述网格点数据对应的属性值。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
将设备相关信息与网格点数据进行关联,得到设备数据文件。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取离散站点数据;其中,所述离散站点数据包括属性值;
通过所述属性值构建k维二叉树模型;
获取到网格点数据;
通过k维二叉树模型查找得到所述网格点数据对应的叶子节点;
将所述叶子节点对应的属性值确定为所述网格点数据的属性值。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
针对所述属性值中每个维度的数据进行方差计算,确定最大方差的维度作为分割轴;
对当前属性值按分割轴进行检索,得到第一中位数,并将所述第一中位数放入至k维二叉树模型的当前节点;
按照所述第一中位数将所述当前属性值进行划分,将所述当前属性值放入左支或右支;
将分割轴进行更新,得到新的分割轴;
根据所述新的分割轴针对左支或右支中的数据进行中位数划分,得到第二中位数,并将第二中位数放入左子节点或右子节点,构建出k维二叉树模型。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取预设参数;所述预设参数包括经度间隔、纬度间隔及经纬度范围;
通过所述经度间隔、纬度间隔对所述经纬度范围进行划分,得到多个网格点数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
遍历所述网格点数据,获得到所述k维二叉树模型每个网格点数据对应的叶子节点;
将所述叶子节点的属性值与网格点数据建立关联关系,得到网格点数据文件。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取设备相关信息;
将所述设备相关信息与网格点数据文件中的预设参数进行匹配,得到对应的网格点数据;
提取出所述网格点数据对应的属性值。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
将设备相关信息与网格点数据进行关联,得到设备数据文件。
上述二叉树的数据网格化方法、装置、计算机设备、存储介质和计算机程序产品,通过二叉树模型算法将离散的站点数据进行网格化转化为网格点数据,将无序的离散的站点数据转化进行有序化排列,方便进行快捷高效的检索,网格点数据便于使用,且与原始站点数据解耦。使用时计算量少,处理效率高。
上述网格点数据的获取方法、装置、计算机设备、存储介质和计算机程序产品,可以根据电气设备的相关信息,快速得到最近的站点数据,可简化设备等受某些空间相关要素的影响分析,便于使用,网格点数据使用简单,使用时计算量少,处理效率高。
附图说明
图1为一个实施例中二叉树的数据网格化方法的流程示意图;
图2为一个实施例中二叉树模型构建步骤的流程示意图;
图3为一个实施例中网格点数据获取步骤的流程示意图;
图4为一个实施例中网格点数据文件获得步骤的流程示意图;
图5为一个实施例中网格点数据的获取方法的流程示意图;
图6为一个实施例中设备数据文件获取步骤的流程示意图;
图7为一个实施例中二叉树的数据网格化装置的结构框图;
图8为一个实施例中二叉树的数据网格化装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种二叉树的数据网格化方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的***,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
步骤101,获取离散站点数据;其中,所述离散站点数据包括属性值;
本实施例中,终端或服务器首先可以获得离散站点数据,其中,该离散站点数据包括属性值,属性值包括经度,纬度,数据值等,本实施例对属性值的种类不作过多的限制;
需要说明的是,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
步骤102,通过所述属性值构建k维二叉树模型;
进一步地,在得到属性值后,根据上述的属性值构建k维二叉树模型,
需要说明的是,k维二叉树模型是每个节点均为k维数值点的二叉树,其上的每个节点代表一个超平面,该超平面垂直于当前划分维度的坐标轴,并在该维度上将空间划分为两部分,一部分在其左子树(左支),另一部分在其右子树(右支)。即若当前节点的划分维度为d,其左子树上所有点在d维的坐标值均小于当前值,右子树上所有点在d维的坐标值均大于等于当前值。进一步地,除根节点外、在二叉树的节点还包括父节点、子节点、叶子节点。
具体而言,按照某种顺序将无序化的点进行有序化排列,方便进行快捷高效的检索。
首先,可以针对属性值中的每个维度的数据进行方差计算,将计算得到的最大方差确定为分割轴,再根据分割轴进行检索,得到中位数据,根据中位数据将数据放入至左支、右支;更新分割轴,重复上述的步骤,再根据计算得到第二个中位数划分左子节点及右子节点,完成k维二叉树模型的构建。
步骤103,获取到网格点数据;
本实施例中,该网格点数据是指在一定的经度及纬度范围内按照预设间隔进行划分的经纬度数据,网格点数据的数量可以是多个;该网格点数据包括经度坐标及纬度坐标。
步骤104,通过k维二叉树模型查找得到所述网格点数据对应的叶子节点;
实际应用到本实施例中,通过k维二叉树模型查找到距离该网格点数据的最近的节点,并判断该节点是否为叶子节点。
具体而言,可以通过计算欧式距离的方式判断当前的节点是否为最近的节点,若是,则该最近的节点为叶子节点。
步骤105,将所述叶子节点对应的属性值确定为所述网格点数据的属性值。
在得到网格点数据对应的叶子节点后,提取出该叶子节点对应的属性值,将该属性值确定为该网格点数据的属性值。
进一步地,可以遍历所有的网格点数据,将每个网格点数据对应的叶子节点的属性值,关联为自身的属性值。
上述二叉树的数据网格化方法中,通过二叉树模型算法将离散的站点数据进行网格化转化为网格点数据,将无序的离散的站点数据转化进行有序化排列,方便进行快捷高效的检索,网格点数据便于使用,且与原始站点数据解耦。使用时计算量少,处理效率高。
在一个实施例中,如图2所示,是本实施例的一种二叉树模型构建步骤的流程示意图,包括:
步骤201,针对所述属性值中每个维度的数据进行方差计算,确定最大方差的维度作为分割轴;
步骤202,对当前属性值按分割轴进行检索,得到第一中位数,并将所述第一中位数放入至k维二叉树模型的当前节点;
步骤203,按照所述中位数将所述当前属性值进行划分,将所述当前属性值放入左支或右支;
步骤204,将分割轴进行更新,得到新的分割轴;
步骤205,根据所述新的分割轴针对左支或右支中的数据进行中位数划分,得到第二中位数,并将第二中位数放入左子节点或右子节点,构建出k维二叉树模型。
本实施例中,提取出离散站点数据的属性值中每个维度的数据进行方差计算,如经度、纬度及数据值等维度的数据分别进行方差的计算,判断计算得到的方差大小,将最大方差对应的维度的数据确定为分割轴。
将当前属性值按分割轴对应的维度进行检索,识别出第一中位数,将并将所述第一中位数放入至k维二叉树模型的当前节点;再按照该第一中位数对当前属性值进行划分,小于第一中位数的值划分到左支中,大于或等于中位数的值划分到右支中。
对分割轴进行更新,在左支或右支中的数据进行中位数划分,得到第二中位数,将第二中位数放入左子节点或右子节点,将所有的左支或右支中的数据进行第二中位数据的查找及添加到子节点,完成了k维二叉树模型的构建。
具体应用到本实施例中,如图3所示,是本实施例的一种网格点数据获取步骤的流程示意图,包括:
步骤301,获取预设参数;所述预设参数包括经度间隔、纬度间隔及经纬度范围;
步骤302,通过所述经度间隔、纬度间隔对所述经纬度范围进行划分,得到网格点数据。
在一种实施例中,采用一定的数据间隔对经纬度范围进行划分,得到多个不同的经纬度坐标,该经纬度坐标即为网格点数据。
举例而言,经度范围:112.83-114.16,纬度范围:112.83-114.16,经度间隔:0.005,纬度间隔:0.005,可按照上述的经度间隔及纬度间隔对经纬度范围进行划分,得到多个网格点数据。
需要说明的是,可以把经度间隔、纬度间隔、经纬度范围和网格点数据保存到同一个文件;也可以是把经度间隔、纬度间隔、经纬度范围保存为描述文件,将网格点数据保存到另一个数据文件,将描述文件和数据文件打包为一个压缩文件,方便调用。
在具体实现中,如图4所示,是本实施例的一种网格点数据文件获得步骤的流程示意图,包括:
步骤401,遍历所述网格点数据,获得到所述k维二叉树模型中每个网格点数据对应的叶子节点;
步骤402,将所述叶子节点的属性值与网格点数据建立关联关系,得到网格点数据文件。
将所有的网格点数据通过构建后的k维二叉树模型计算得到其对应的叶子节点,再将该叶子节点的属性值与网格点数据建立关联关系,得到网格点数据文件,将无序的数据转化为有序数据,便于取用,计算效率高。
在一个实施例中,如图5所示,提供了一种网格点数据的获取方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的***,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
步骤501,获取设备相关信息;
举例而言,可以获取到杆塔设备的设备相关信息、变电站设备的设备相关信息等;具体地,该设备相关信息可以包括经度、纬度、高度等。
步骤502,将所述设备相关信息与网格点数据文件中的预设参数进行匹配,得到网格点数据;
在网格点数据文件中,其包含叶子节点的属性值与网格点数据的关联关系,而网格点数据包含预设参数;所述预设参数包括经度间隔、纬度间隔及经纬度范围,根据上述的预设参数可以计算到某一个网格点数据的经度及纬度,将所述设备相关信息的经度、纬度与网格点数据的经度及纬度进行对比匹配,得到对应的网格点数据。
步骤503,提取出所述网格点数据对应的属性值。
得到网格点数据后,可以根据网格点数据文件中叶子节点的属性值与网格点数据的关联关系,提取出对应的属性值,即为该设备的属性值,得到设备的站点数据。
上述网格点数据的获取方法中,可以根据电气设备的相关信息,快速得到最近的站点数据,可简化设备等受某些空间相关要素的影响分析,便于使用,与原始站点数据解耦,网格点数据使用简单,使用时计算量少,处理效率高。
在具体实现中,如图6所示,是本实施例的一种设备数据文件获取步骤的流程示意图,包括:
步骤601,将设备相关信息与网格点数据进行关联,得到设备数据文件。
在另一种优选实施例中,还可以建立并保存设备相关信息与网格点数据的关联关系,得到设备数据文件,便于查询使用,提高数据处理效率。
其还可以包括设备相关信息、网格点数据及属性值三者之间的关联关系,进一步提高使用效率。
为了使本领域技术人员更好地理解本申请的核心构思,以下通过一个具体示例进行说明:
步骤1、读取待处理的离散点数据,离散点数据包含但不限于经度,纬度,数据值等属性值;
步骤2、基于步骤1读取的离散点数据构建k维二叉树;
构建k维的二叉树,其中的每一个节点都是k维的数据,数据结构如下所示:
struct tree{
Node-data-数据矢量 数据集中某个数据点,是n维矢量(这里也就是k维);
Range -空间矢量 该节点所代表的空间范围;
split-整数 垂直于分割超平面的方向轴序号;
Left-树 由位于该节点分割超平面左子空间内所有数据点所构成的树
Right-树 由位于该节点分割超平面右子空间内所有数据点所构成的树
parent-树 父节点
partitionDimention;-分割的维度
partitionValue; -分割的值
double[]value; -如果为非叶子节点,该属性为空,否则为数据
isLeaf -是否为叶子
}
按照某种顺序将无序化的点数组进行有序化排列,方便进行快捷高效的检索。
①初始化分割轴:对每个维度的数据进行方差的计算,取最大方差的维度作为分割轴,标记为r;
②确定节点:对当前数据按分割轴维度进行检索,找到中位数数据,并将其放入到当前节点上;
③划分双支:
划分左支:在当前分割轴维度,所有小于中位数的值划分到左支中;
划分右支:在当前分割轴维度,所有大于等于中位数的值划分到右支中。
④更新分割轴:r=(r+1)%k;
⑤确定子节点:
确定左节点:在左支的数据中进行步骤2;
确定右节点:在右支的数据中进行步骤2;
步骤3、根据预设参数,如坐标参数,坐标间隔等得到若干网格点,即网格点数据;本实施例采用经度方向间隔,维度方向间隔,经纬度范围为:起止经度: 112.83-114.16,起止纬度:22.42-24;经度间隔:0.005,纬度间隔:0.005;格点大小:0.005*0.005(约为500m*500m);
步骤4、遍历网格点,得到一个待处理的网格点,通过k维二叉树查找距离该待处理网格点较近的树节点;
步骤5、判断树节点是否是叶子节点,如果是叶子节点,则该叶子节点就是最近的节点;如果不是叶子节点,则进行步骤4,直到步骤4得到的较近的树节点是叶子节点为止,该叶子节点即为最近的节点;
查找某个待查询节点的最近的节点:
①取二叉树的根节点作为当前节点,计算当前节点到待查询节点的欧氏距离得到当前欧氏距离;
2维空间的欧式距离计算公式如下式所示:
k维空间(n=k)的欧氏距离的计算公式如下式所示:
②对比待查询节点的坐标值和当前节点当前分割轴的值,若待查询节点在当前分割轴的值小于当前节点的当前分割轴的维度值,则选取左支节点;否则选取右支节点;
③计算待查询节点到步骤2选取的支节点的距离为待比对距离,若待比对距离小于当前欧式距离,则步骤2选取的支节点为当前节点,待比对距离为当前欧式距离;
④重复步骤2,3,若当前节点为叶子节点,则当前节点为最近节点。
步骤6、获取最近的节点对应的站点数据,包含不限于经度,纬度,数据值,使用该节点对应的数据值作为该网格点对应的数据值;
步骤7、重复步骤4到步骤6,得到所有的网格点对应的数据值;
步骤8、将预设参数中的经度间隔、纬度间隔、经纬度范围和对应的网格点的数据值(属性值)保存。
网格点数据的使用(仅需计算一次):
步骤1、读取待分析的设备的相关信息(主要包含地理位置信息,如:经度,维度,高度等);
步骤2、读取网格点数据的预设参数,如:经度间隔、纬度间隔、经纬度范围等;
步骤3、通过步骤2读取的预设信息可计算得到每个网格点的位置信息(如:经度,纬度);
步骤4、根据步骤1和步骤2的位置信息计算得到每个待分析的设备的关联的网格点;
步骤5、保存每个待分析的设备与网格点的关联关系。
网格点数据网格数据使用:
步骤1、使用时通过保存的待分析的设备与网格点数据的关联关系取得关联的网格点的数据值;
步骤2、进行后续分析。
应该理解的是,虽然图1-6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-6中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种二叉树的数据网格化装置,包括:
离散站点数据获取模块701,用于获取离散站点数据;其中,所述离散站点数据包括属性值;
二叉树构建模块702,用于通过所述属性值构建k维二叉树模型;
网格点数据获取模块703,用于获取到网格点数据;
叶子节点查找模块704,用于通过k维二叉树模型查找得到所述网格点数据对应的叶子节点;
属性值确定模块705,用于将所述叶子节点对应的属性值确定为所述网格点数据的属性值。
在其中一个实施例中,所述属性值包括经度、纬度及数据值。
在其中一个实施例中,所述二叉树构建模块包括:
分割轴确定子模块,用于针对所述属性值中每个维度的数据进行方差计算,确定最大方差的维度作为分割轴;
检索子模块,用于对当前属性值按分割轴进行检索,得到第一中位数,并将所述第一中位数放入至k维二叉树模型的当前节点;
划分子模块,用于按照所述第一中位数将所述当前属性值进行划分,将所述当前属性值放入左支或右支;
分割轴更新子模块,用于将分割轴进行更新,得到新的分割轴;
二叉树构建子模块,用于根据所述新的分割轴针对左支或右支中的数据进行中位数划分,得到第二中位数,并将第二中位数放入左子节点或右子节点,构建出k维二叉树模型。
在其中一个实施例中,所述网格点数据获取模块包括:
预设参数获取子模块,用于获取预设参数;所述预设参数包括经度间隔、纬度间隔及经纬度范围;
网格点数据获取子模块,用于通过所述经度间隔、纬度间隔对所述经纬度范围进行划分,得到多个网格点数据。
在其中一个实施例中,所述装置包括:
遍历模块,用于遍历所述网格点数据,获得到所述k维二叉树模型每个网格点数据对应的叶子节点;
网格点数据文件获取模块,用于将所述叶子节点的属性值与网格点数据建立关联关系,得到网格点数据文件。
在一个实施例中,如图8所示,提供了一种网格点数据的获取装置,包括:
设备相关信息获取模块801,用于获取设备相关信息;
匹配模块802,用于将所述设备相关信息与网格点数据文件中的预设参数进行匹配,得到对应的网格点数据;
属性值提取模块803,用于提取出所述网格点数据对应的属性值。
在其中一个实施例中,所述装置还包括:
设备数据文件获取模块,用于将设备相关信息与网格点数据进行关联,得到设备数据文件。
关于二叉树的数据网格化装置、网格点数据的获取装置的具体限定可以参见上文中对于二叉树的数据网格化方法、网格点数据的获取方法的限定,在此不再赘述。上述二叉树的数据网格化装置、网格点数据的获取装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括通过***总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种二叉树的数据网格化方法、网格点数据的获取方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取离散站点数据;其中,所述离散站点数据包括属性值;
通过所述属性值构建k维二叉树模型;
获取到网格点数据;
通过k维二叉树模型查找得到所述网格点数据对应的叶子节点;
将所述叶子节点对应的属性值确定为所述网格点数据的属性值。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
针对所述属性值中每个维度的数据进行方差计算,确定最大方差的维度作为分割轴;
对当前属性值按分割轴进行检索,得到第一中位数,并将所述第一中位数放入至k维二叉树模型的当前节点;
按照所述第一中位数将所述当前属性值进行划分,将所述当前属性值放入左支或右支;
将分割轴进行更新,得到新的分割轴;
根据所述新的分割轴针对左支或右支中的数据进行中位数划分,得到第二中位数,并将第二中位数放入左子节点或右子节点,构建出k维二叉树模型。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取预设参数;所述预设参数包括经度间隔、纬度间隔及经纬度范围;
通过所述经度间隔、纬度间隔对所述经纬度范围进行划分,得到多个网格点数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
遍历所述网格点数据,获得到所述k维二叉树模型每个网格点数据对应的叶子节点;
将所述叶子节点的属性值与网格点数据建立关联关系,得到网格点数据文件。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取设备相关信息;
将所述设备相关信息与网格点数据文件中的预设参数进行匹配,得到对应的网格点数据;
提取出所述网格点数据对应的属性值。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
将设备相关信息与网格点数据进行关联,得到设备数据文件。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取离散站点数据;其中,所述离散站点数据包括属性值;
通过所述属性值构建k维二叉树模型;
获取到网格点数据;
通过k维二叉树模型查找得到所述网格点数据对应的叶子节点;
将所述叶子节点对应的属性值确定为所述网格点数据的属性值。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
针对所述属性值中每个维度的数据进行方差计算,确定最大方差的维度作为分割轴;
对当前属性值按分割轴进行检索,得到第一中位数,并将所述第一中位数放入至k维二叉树模型的当前节点;
按照所述第一中位数将所述当前属性值进行划分,将所述当前属性值放入左支或右支;
将分割轴进行更新,得到新的分割轴;
根据所述新的分割轴针对左支或右支中的数据进行中位数划分,得到第二中位数,并将第二中位数放入左子节点或右子节点,构建出k维二叉树模型。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取预设参数;所述预设参数包括经度间隔、纬度间隔及经纬度范围;
通过所述经度间隔、纬度间隔对所述经纬度范围进行划分,得到多个网格点数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
遍历所述网格点数据,获得到所述k维二叉树模型每个网格点数据对应的叶子节点;
将所述叶子节点的属性值与网格点数据建立关联关系,得到网格点数据文件。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取设备相关信息;
将所述设备相关信息与网格点数据文件中的预设参数进行匹配,得到对应的网格点数据;
提取出所述网格点数据对应的属性值。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
将设备相关信息与网格点数据进行关联,得到设备数据文件。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取离散站点数据;其中,所述离散站点数据包括属性值;
通过所述属性值构建k维二叉树模型;
获取到网格点数据;
通过k维二叉树模型查找得到所述网格点数据对应的叶子节点;
将所述叶子节点对应的属性值确定为所述网格点数据的属性值。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
针对所述属性值中每个维度的数据进行方差计算,确定最大方差的维度作为分割轴;
对当前属性值按分割轴进行检索,得到第一中位数,并将所述第一中位数放入至k维二叉树模型的当前节点;
按照所述第一中位数将所述当前属性值进行划分,将所述当前属性值放入左支或右支;
将分割轴进行更新,得到新的分割轴;
根据所述新的分割轴针对左支或右支中的数据进行中位数划分,得到第二中位数,并将第二中位数放入左子节点或右子节点,构建出k维二叉树模型。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取预设参数;所述预设参数包括经度间隔、纬度间隔及经纬度范围;
通过所述经度间隔、纬度间隔对所述经纬度范围进行划分,得到多个网格点数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
遍历所述网格点数据,获得到所述k维二叉树模型每个网格点数据对应的叶子节点;
将所述叶子节点的属性值与网格点数据建立关联关系,得到网格点数据文件。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取设备相关信息;
将所述设备相关信息与网格点数据文件中的预设参数进行匹配,得到对应的网格点数据;
提取出所述网格点数据对应的属性值。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
将设备相关信息与网格点数据进行关联,得到设备数据文件。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory, SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (12)
1.一种二叉树的数据网格化方法,其特征在于,所述方法包括:
获取离散站点数据;其中,所述离散站点数据包括属性值;
通过所述属性值构建k维二叉树模型;
获取到网格点数据;
通过k维二叉树模型查找得到所述网格点数据对应的叶子节点;
将所述叶子节点对应的属性值确定为所述网格点数据的属性值。
2.根据权利要求1所述的方法,其特征在于,所述属性值包括经度、纬度及数据值。
3.根据权利要求1所述的方法,其特征在于,所述通过所述离散站点数据构建k维二叉树模型,包括:
针对所述属性值中每个维度的数据进行方差计算,确定最大方差的维度作为分割轴;
对当前属性值按分割轴进行检索,得到第一中位数,并将所述第一中位数放入至k维二叉树模型的当前节点;
按照所述第一中位数将所述当前属性值进行划分,将所述当前属性值放入左支或右支;
将分割轴进行更新,得到新的分割轴;
根据所述新的分割轴针对左支或右支中的数据进行中位数划分,得到第二中位数,并将第二中位数放入左子节点或右子节点,构建出k维二叉树模型。
4.根据权利要求1所述的方法,其特征在于,所述获取到网格点数据,包括:
获取预设参数;所述预设参数包括经度间隔、纬度间隔及经纬度范围;
通过所述经度间隔、纬度间隔对所述经纬度范围进行划分,得到多个网格点数据。
5.根据权利要求1所述的方法,其特征在于,所述方法包括:
遍历所述网格点数据,获得到所述k维二叉树模型每个网格点数据对应的叶子节点;
将所述叶子节点的属性值与网格点数据建立关联关系,得到网格点数据文件。
6.一种网格点数据的获取方法,其特征在于,所述方法包括:
获取设备相关信息;
将所述设备相关信息与网格点数据文件中的预设参数进行匹配,得到对应的网格点数据;
提取出所述网格点数据对应的属性值。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
将设备相关信息与网格点数据进行关联,得到设备数据文件。
8.一种二叉树的数据网格化装置,其特征在于,所述装置包括:
离散站点数据获取模块,用于获取离散站点数据;其中,所述离散站点数据包括属性值;
二叉树构建模块,用于通过所述属性值构建k维二叉树模型;
网格点数据获取模块,用于获取到网格点数据;
叶子节点查找模块,用于通过k维二叉树模型查找得到所述网格点数据对应的叶子节点;
属性值确定模块,用于将所述叶子节点对应的属性值确定为所述网格点数据的属性值。
9.一种网格点数据的获取装置,其特征在于,所述装置包括:
设备相关信息获取模块,用于获取设备相关信息;
匹配模块,用于将所述设备相关信息与网格点数据文件中的预设参数进行匹配,得到对应的网格点数据;
属性值提取模块,用于提取出所述网格点数据对应的属性值。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
12.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111329278.XA CN114049463A (zh) | 2021-11-10 | 2021-11-10 | 一种二叉树的数据网格化、网格点数据的获取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111329278.XA CN114049463A (zh) | 2021-11-10 | 2021-11-10 | 一种二叉树的数据网格化、网格点数据的获取方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114049463A true CN114049463A (zh) | 2022-02-15 |
Family
ID=80208572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111329278.XA Pending CN114049463A (zh) | 2021-11-10 | 2021-11-10 | 一种二叉树的数据网格化、网格点数据的获取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114049463A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114866370A (zh) * | 2022-03-22 | 2022-08-05 | 深圳市立创电子商务有限公司 | 基于非对称二叉树链路的通信方法、装置、设备及介质 |
CN116227268A (zh) * | 2022-12-30 | 2023-06-06 | 上海尚实航空发动机股份有限公司 | 一种发动机涡轮叶片的热参数确定方法、装置、设备及介质 |
-
2021
- 2021-11-10 CN CN202111329278.XA patent/CN114049463A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114866370A (zh) * | 2022-03-22 | 2022-08-05 | 深圳市立创电子商务有限公司 | 基于非对称二叉树链路的通信方法、装置、设备及介质 |
CN114866370B (zh) * | 2022-03-22 | 2024-04-16 | 深圳市立创电子商务有限公司 | 基于非对称二叉树链路的通信方法、装置、设备及介质 |
CN116227268A (zh) * | 2022-12-30 | 2023-06-06 | 上海尚实航空发动机股份有限公司 | 一种发动机涡轮叶片的热参数确定方法、装置、设备及介质 |
CN116227268B (zh) * | 2022-12-30 | 2023-11-17 | 上海尚实航空发动机股份有限公司 | 一种发动机涡轮叶片的热参数确定方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9454580B2 (en) | Recommendation system with metric transformation | |
CN112116155A (zh) | 基于智能决策的人口流动预测方法、装置及计算机设备 | |
CN114049463A (zh) | 一种二叉树的数据网格化、网格点数据的获取方法及装置 | |
CN109886719B (zh) | 基于网格的数据挖掘处理方法、装置和计算机设备 | |
CN112214472B (zh) | 气象格点数据的存储及查询方法、装置及存储介质 | |
CN112949842B (zh) | 神经网络结构搜索方法、装置、计算机设备以及存储介质 | |
CN112434188A (zh) | 一种异构数据库的数据集成方法、装置及存储介质 | |
CN114547257B (zh) | 类案匹配方法、装置、计算机设备及存储介质 | |
CN116522003B (zh) | 基于嵌入表压缩的信息推荐方法、装置、设备和介质 | |
CN108345607B (zh) | 搜索方法和装置 | |
CN112699195A (zh) | 地理空间数据处理方法、装置、计算机设备及存储介质 | |
US9436715B2 (en) | Data management apparatus and data management method | |
CN115661472A (zh) | 图像查重方法、装置、计算机设备及存储介质 | |
CN115225308A (zh) | 大规模群体攻击流量的攻击团伙识别方法及相关设备 | |
CN113704309A (zh) | 图数据处理方法、装置、计算机设备和存储介质 | |
CN115358379B (zh) | 神经网络处理、信息处理方法、装置和计算机设备 | |
CN107741879A (zh) | 一种大数据处理方法及其装置 | |
CN117667999A (zh) | 数据推送方法、装置、计算机设备及计算机可读存储介质 | |
CN112215354A (zh) | 神经网络模型剪枝方法、装置、计算机设备和存储介质 | |
CN113849715A (zh) | 一种基于聚类算法的事件黑点分析方法及*** | |
CN116361507A (zh) | 视频检索模型构建方法、装置、设备及存储介质 | |
CN117827799A (zh) | 一种数据库的建立方法、装置、计算机设备、存储介质 | |
CN113190551A (zh) | 特征检索***的构建方法、特征检索方法、装置及设备 | |
CN115759419A (zh) | 位置预测方法、***、电子设备及存储介质 | |
CN117915272A (zh) | 终端移动轨迹展示方法、装置、设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |