基于空间索引的邻近分析方法、装置、设备及介质制造方法及图纸

技术编号:23512692 阅读:28 留言:0更新日期:2020-03-18 00:02
本发明专利技术提出了一种基于空间索引的邻近分析方法、装置、设备及介质。包括:建立R‑Tree算法,获取空间数据,通过R‑Tree算法建立R‑Tree索引结构,对R‑Tree索引结构中的计算数据进行数据分片,并建立数据分片索引;获取初始位置的距离,计算初始位置的距离到各个分片数据之间的距离数值,根据距离数值以及对应的分片数据建立队列;设置初始距离,计算初始位置的距离到各分片数据中几何图形的图形距离,将该图形距离与该几何图形对应的标签存入队列中,从队列中提取数值最小的图形距离对初始距离进行更新。本发明专利技术通过以分片查找替代缓冲器查找,利用具有排序功能的队列用于中间过程数据存储,可以实现以多线程以及多任务的方式进行邻近分析,提高了分析效率。

Proximity analysis methods, devices, devices and media based on spatial index

【技术实现步骤摘要】
基于空间索引的邻近分析方法、装置、设备及介质
本专利技术涉及地理信息
,尤其涉及一种基于空间索引的邻近分析方法、装置、设备及介质。
技术介绍
KNN(K-NearestNeighbor)即邻近算法,或者说K最近邻分类算法是数据挖掘分类技术中最简单的方法之一。所谓K最近邻,就是K个最近的邻居的意思,说的是每个样本都可以用它最接近的K个邻居来代表。根据邻近算法可以实现邻近分析,邻近分析是一种常见的GIS分析功能,邻近分析算法的一般思路是:以输入位置为中心,设置缓冲半径,迭代查找,直到找到距离输入位置最近的K个要素。但是,现有的邻近分析算法存在一些问题:通过串行方式来实现,当数据量大时,相比并行实现,实现训练比较低;缓冲半径不确定性较高,当查找要素过多时,缓冲次数会增加,最终迭代次数呈几何增长,这样对分析效率的影响非常大,而且已经不能满足显示的需求。上述内容仅用于辅助理解本专利技术的技术方案,并不代表承认上述内容是现有技术。
技术实现思路
有鉴于此,本专利技术提出了一种基于空间索引的邻近分析方法、装置、设备及介质,旨在解决现有技术无法通过多线程、多任务方式来实现邻近分析的技术问题。本专利技术的技术方案是这样实现的:一方面,本专利技术提供了一种基于空间索引的邻近分析方法,所述基于空间索引的邻近分析方法包括以下步骤:S1,建立R-Tree算法,获取空间数据,通过R-Tree算法对该空间数据进行计算,根据计算数据建立R-Tree索引结构,对R-Tree索引结构中的计算数据进行数据分片,并根据各分片数据建立对应的数据分片索引;S2,获取数据分片索引以及初始位置的距离,根据数据分片索引计算初始位置的距离到各个分片数据之间的距离数值,根据距离数值以及对应的分片数据建立队列;S3,设置初始距离,从队列中的分片数据中提取几何图形,计算初始位置的距离到各几何图形的图形距离,将该图形距离与初始距离进行比较,根据比较结果,将该图形距离与该几何图形对应的标签存入队列中;S4,设置标签数量阈值,实时获取队列中标签数量,当队列中标签数量大于标签数量阈值时,从队列中提取数值最小的图形距离对初始距离进行更新。在以上技术方案的基础上,优选的,步骤S1中,建立R-Tree算法,还包括以下步骤,所述R-Tree算法为,设定空间数据数为n以及扇区的大小定义为fan,估计叶结点数k=n/fan,将所有空间数据按照其矩形外框中心点的x值排序,将排序后的空间数据分组,每组大小为*fan,且最后一组可能不满员,将每一个空间数据分组内的数据按照空间数据矩形外框中心点的y值排序,将排序后的每一个分组再分组,每组大小为fan,将每一小组作为叶结点,叶子结点数为nn。在以上技术方案的基础上,优选的,步骤S1中,对R-Tree索引结构中的计算数据进行数据分片,并根据各分片数据建立对应的数据分片索引,还包括以下步骤,所述数据分片索引包括:分片数据最小外包矩形、分片数据最小外包矩形包围的几何图形以及该几何图形对应的标签。在以上技术方案的基础上,优选的,步骤S2中,获取数据分片索引以及初始位置的距离,根据数据分片索引计算初始位置的距离到各个分片数据之间的距离数值,根据距离数值以及对应的分片数据建立队列,还包括以下步骤,获取数据分片索引以及初始位置的距离,根据该数据分片索引获取分片数据最小外包矩形的位置,计算初始位置的距离到分片数据最小外包矩形的位置之间的距离数值,根据该距离数值以及对应的分片数据建立队列,根据距离数值按照从小到大的顺序对分片数据进行排列。在以上技术方案的基础上,优选的,步骤S3中,设置初始距离,从队列中的分片数据中提取几何图形,计算初始位置的距离到各几何图形的图形距离,还包括以下步骤,设置初始距离以及分片数据数量阈值,遍历队列中的分片数据的数量,当分片数据的数量大于分片数据数量阈值时,将该分片数据对应的距离数值与初始距离进行比较,当该距离数值不大于初始距离时,从队列中取出该分片数据,并从该分片数据中提取分片数据最小外包矩形包围的几何图形以及该几何图形对应的标签,并计算初始位置的距离到各几何图形的图形距离。在以上技术方案的基础上,优选的,步骤S3中,将该图形距离与初始距离进行比较,根据比较结果,将该图形距离与该几何图形对应的标签存入队列中,还包括以下步骤,将图形距离与初始距离进行比较,当图形距离不大于初始距离时,将该图形距离与该几何图形对应的标签存入队列中。在以上技术方案的基础上,优选的,步骤S4中,设置标签数量阈值,实时获取队列中标签数量,当队列中标签数量大于标签数量阈值时,从队列中提取数值最小的图形距离对初始距离进行更新,还包括以下步骤,设置标签数量阈值,实时获取队列中标签数量,将标签数量与标签数量阈值进行比较,当标签数量不小于标签数量阈值时,从队列中提取数值最小的图形距离对初始距离进行更新;当标签数量小于标签数量阈值时,重新选择新的分片数据。更进一步优选的,所述基于空间索引的邻近分析装置包括:数据分片索引建立模块,用于建立R-Tree算法,获取空间数据,通过R-Tree算法对该空间数据进行计算,根据计算数据建立R-Tree索引结构,对R-Tree索引结构中的计算数据进行数据分片,并根据各分片数据建立对应的数据分片索引;队列建立模块,用于获取数据分片索引以及初始位置的距离,根据数据分片索引计算初始位置的距离到各个分片数据之间的距离数值,根据距离数值以及对应的分片数据建立队列;图形距离计算模块,用于设置初始距离,从队列中的分片数据中提取几何图形,计算初始位置的距离到各几何图形的图形距离,将该图形距离与初始距离进行比较,根据比较结果,将该图形距离与该几何图形对应的标签存入队列中;初始距离更新模块,用于设置标签数量阈值,实时获取队列中标签数量,当队列中标签数量大于标签数量阈值时,从队列中提取数值最小的图形距离对初始距离进行更新。第二方面,所述基于空间索引的邻近分析方法还包括一种设备,所述设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的基于空间索引的邻近分析方法程序,所述基于空间索引的邻近分析方法程序配置为实现如上文所述的基于空间索引的邻近分析方法的步骤。第三方面,所述基于空间索引的邻近分析方法还包括一种介质,所述介质为计算机介质,所述计算机介质上存储有基于空间索引的邻近分析方法程序,所述基于空间索引的邻近分析方法程序被处理器执行时实现如上文所述的基于空间索引的邻近分析方法的步骤。本专利技术的一种基于空间索引的邻近分析方法相对于现有技术具有以下有益效果:(1)通过建立R-Tree索引结构,并对空间数据进行分片,并建立对应的分片索引,然后通过分片查找替代缓冲查找,能够满足多个要素进行查找,同时查找的精确度也很高,提高了整个分析过程的效率;(2)通过将具有排序功能的队列用于中间过程的数据存储,能够实现多线程、多任务的分析过程,同时排序功能也可以直接准确、快速提取需要的数据,提高了整个分析过程的效率。本文档来自技高网...

【技术保护点】
1.一种基于空间索引的邻近分析方法,其特征在于:包括以下步骤;/nS1,建立R-Tree算法,获取空间数据,通过R-Tree算法对该空间数据进行计算,根据计算数据建立R-Tree索引结构,对R-Tree索引结构中的计算数据进行数据分片,并根据各分片数据建立对应的数据分片索引;/nS2,获取数据分片索引以及初始位置的距离,根据数据分片索引计算初始位置的距离到各个分片数据之间的距离数值,根据距离数值以及对应的分片数据建立队列;/nS3,设置初始距离,从队列中的分片数据中提取几何图形,计算初始位置的距离到各几何图形的图形距离,将该图形距离与初始距离进行比较,根据比较结果,将该图形距离与该几何图形对应的标签存入队列中;/nS4,设置标签数量阈值,实时获取队列中标签数量,当队列中标签数量大于标签数量阈值时,从队列中提取数值最小的图形距离对初始距离进行更新。/n

【技术特征摘要】
1.一种基于空间索引的邻近分析方法,其特征在于:包括以下步骤;
S1,建立R-Tree算法,获取空间数据,通过R-Tree算法对该空间数据进行计算,根据计算数据建立R-Tree索引结构,对R-Tree索引结构中的计算数据进行数据分片,并根据各分片数据建立对应的数据分片索引;
S2,获取数据分片索引以及初始位置的距离,根据数据分片索引计算初始位置的距离到各个分片数据之间的距离数值,根据距离数值以及对应的分片数据建立队列;
S3,设置初始距离,从队列中的分片数据中提取几何图形,计算初始位置的距离到各几何图形的图形距离,将该图形距离与初始距离进行比较,根据比较结果,将该图形距离与该几何图形对应的标签存入队列中;
S4,设置标签数量阈值,实时获取队列中标签数量,当队列中标签数量大于标签数量阈值时,从队列中提取数值最小的图形距离对初始距离进行更新。


2.如权利要求1所述的基于空间索引的邻近分析方法,其特征在于:步骤S1中,建立R-Tree算法,还包括以下步骤,所述R-Tree算法为,设定空间数据数为n以及扇区的大小定义为fan,估计叶结点数k=n/fan,将所有空间数据按照其矩形外框中心点的x值排序,将排序后的空间数据分组,每组大小为*fan,且最后一组可能不满员,将每一个空间数据分组内的数据按照空间数据矩形外框中心点的y值排序,将排序后的每一个分组再分组,每组大小为fan,将每一小组作为叶结点,叶子结点数为nn。


3.如权利要求1所述的基于空间索引的邻近分析方法,其特征在于:步骤S1中,对R-Tree索引结构中的计算数据进行数据分片,并根据各分片数据建立对应的数据分片索引,还包括以下步骤,所述数据分片索引包括:分片数据最小外包矩形、分片数据最小外包矩形包围的几何图形以及该几何图形对应的标签。


4.如权利要求2所述的基于空间索引的邻近分析方法,其特征在于:步骤S2中,获取数据分片索引以及初始位置的距离,根据数据分片索引计算初始位置的距离到各个分片数据之间的距离数值,根据距离数值以及对应的分片数据建立队列,还包括以下步骤,获取数据分片索引以及初始位置的距离,根据该数据分片索引获取分片数据最小外包矩形的位置,计算初始位置的距离到分片数据最小外包矩形的位置之间的距离数值,根据该距离数值以及对应的分片数据建立队列,根据距离数值按照从小到大的顺序对分片数据进行排列。


5.如权利要求3所述的基于空间索引的邻近分析方法,其特征在于:步骤S3中,设置初始距离,从队列中的分片数据中提取几何图形,计算初始位置的距离到各几何图形的图形距离,还包括以下步骤,设置初始距离以及分片数据数量阈值,遍历队列中的分片数据的数量,当分片数据的数量大于分片数据数量阈值时...

【专利技术属性】
技术研发人员:张业鑫李爱兵李纯杨扬
申请(专利权)人:武汉光谷信息技术股份有限公司
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1