一种地理空间大数据的点密度实现方法及电子设备与流程

文档序号:30222532发布日期:2022-05-31 22:57阅读:105来源:国知局
1.本发明涉及数据处理
技术领域
:,具体涉及一种地理空间大数据的点密度实现方法及电子设备。
背景技术
::2.大数据时代,获取区域内点、线、面等地理实体的统计值(又称密度),是空间大数据领域的研究热点之一。3.目前常用的密度获取方法主要有聚类算法(dbscan、cbscan、k-means、hdbscan、optics)、核密度算法等,这些算法在描述地理空间大数据的点格局发挥重要的作用,市场上已有较多软件与语言也有其快速实现的平台,如arcgis/arcgispro、python/r等。4.但对于离散的地理空间大数据而言,存在明显的局限:5.(1)两类算法改变离散点的二维形状和相对位置,将原来无数据记录的位置也拟合成有值的区域,存在过度拟合的问题;6.(2)获取的密度为加权平均值,而不是真实密度;7.(3)输入参数不同时,所获取的结果差异较大,受主观因素较大;8.(4)需预先设定计算范围,否则将导致整个范围的形状发生改变。技术实现要素:9.针对现有技术的不足,本发明公开了一种地理空间大数据的点密度实现方法及电子设备,通过引入大数据快速处理与存储技术、大数据的分箱技术,开发格网快速遍历等技术,解决了在不改变地理空间大数据二维离散特性和相对位置的基础上,不能快速获取其真实密度的问题。10.本发明通过以下技术方案予以实现:11.第一方面,本发明公开了一种地理空间大数据的点密度实现方法,包括以下步骤:12.s1将空间大数据离散化,读取离散后的数据,设置搜索邻域与格网,通过近似的方法,对数据进行分箱处理、降低维度;13.s2将搜索邻域遍历每个格网,计算标志距离,并将该距离设置为遍历的参数,实现搜索领域内的点被单次遍历;14.s3计算搜索领域内点密度值,将密度值与离散点坐标分布式存储,直到遍历整个区域;15.s4利用降维处理时的key值,对大数据的维度进行恢复,并输出离散点的密度值与对应的经纬度坐标。16.更进一步的,所述方法中,以r语言为运行环境,地理空间大数据由n个poi点组成,并且人为设置空白区域。其中n为自然数。17.更进一步的,所述方法中,在r语言环境下引入data.table功能包,进行快速聚合大数据,快速排序的连接,按组快速添加/修改/删除列,且不使用任何副本,进行友好且快速的字符分隔值读/写,以加快开发速度。18.更进一步的,所述方法中,将空间大数据离散化时,包含坐标的地理空间大数据,若缺少经纬度坐标,需要经过逆地理编码实现坐标的获取,若数据为线状的,需要提取线状地物的坐标,若为面状地物,需要提取中心点坐标。19.更进一步的,所述方法中,进行分箱处理时设置分箱规则,将研究区域划分为等距的格网,其中格网大小为g,搜索半径为r,通过近似的方式获取每个点在其最近格网点的坐标,并返回唯一的key值。20.更进一步的,所述方法中,遍历格网时分三重循环,算法如下:首先遍历m个格网点,获取邻域内格网点f的坐标(lat1,lon1);21.其次沿着中央经线方向,依次从f点遍历至g点,当遍历至f点时,l等于邻域半径r,容忍距t为0;22.判断density(lat1,lon1)是否存在,若不存在将其值赋予bin_density(lat1,lon1)+1,若存在则density_hash(lat1,lon1)值为bin_density(lat1,lon1)的值;23.当遍历至e点时,此时的容忍距t(0《t《r),然后以格网大小g为步长遍历经度方向的点e1至e4,将其经纬度坐标存储至density()表中,并记录次数,以此类推直至遍历至点g完成邻域内所有格网点的循环。24.更进一步的,所述方法中,容忍距t是识别领域内点经度的重要依据,用于保证只有在搜索邻域范围内的点被遍历,当遍历结束后,density(latt,lont)的key值为经过分箱操作后点的经纬度坐标值,地址值为点真实的密度值,此时数据的维度仍为m。25.更进一步的,所述方法中,进行维度的还原时,依次遍历大数据的维度n,从density()中读取第二步获取的点的个数与key值,最终得到大数据n个离散点的初始坐标和对应的密度值26.第二方面,本发明公开了一种电子设备,包括处理器以及存储有执行指令的存储器,当所述处理器执行所述存储器存储的所述执行指令时,所述处理器执行第一方面所述的地理空间大数据的点密度实现方法。27.本发明的有益效果为:28.本发明通过编写算法,使用大数据快速处理与存储技术,设定规则,在保持地理空间大数据二维离散特征、投影关系、相对位置的基础上,快速获取区域内大数据点密度的算法,并以可视化方式展示。解决了传统统计方法费时费力的问题、解决了常用的核密度法改变空间大数据离散特征、解决了聚类算法主观归类的计算方法,而难以获取真实密度的局限。并且可应用于自然资源统计与应用管理等领域。附图说明29.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。30.图1是地理空间大数据的点密度实现方法流程图;31.图2是空间大数据分布图;32.图3是本发明技术总体技术流程图;33.图4是设定分箱规则示意图;34.图5是本发明遍历格网示意图;35.图6是arcgis/pro核密度计算结果图;36.图7是本发明不同搜索半径的算法实现效果图;37.图8是随机抽样原图;38.图9是本发明随机抽样的点密度结果图。具体实施方式39.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。40.实施例141.本实施例公开如图1所示的一种基础地理空间大数据的点密度实现方法,所述从空间大数据的降维处理、格网化、计算标志距离、计算搜索邻域内点密度、大数据维度的恢复、输出点密度与对应的坐标。42.本实施例实现大数据快速处理与存储效果,需要部署分布式存储和空间大数据快速读取的环境。43.本实施例中,地理空间大数据的分箱、降维处理,首先将空间大数据离散化,具体而言:需要包含坐标的地理空间大数据(点、线、面均可),若缺少经纬度坐标,需要经过逆地理编码实现坐标的获取。若数据为线状的,需要提取线状地物的坐标,若为面状地物,需要提取中心点坐标。44.读取空间大数据后,设置搜索邻域与格网,通过近似的方法,实现对大数据的分箱处理、降低维度。45.本实施例中,格网快速遍历,将搜索邻域(圆)遍历每个格网,计算标志距离(flagdistance),将该距离设置为遍历的参数,保证了搜索领域内的点被单次遍历。46.本实施例中,计算领域内点密度,单次遍历后,计算搜索领域内点密度值,将密度值与离散点坐标分布式存储,直到遍历整个区域。47.本实施例中,大数据维度的恢复,通过第一步降维处理时的key值,对大数据的维度进行恢复。48.本实施例中,输出离散点的密度值与对应的经纬度坐标。49.实施例250.本实施例以r语言为运行环境,地理空间大数据由江苏省部分区域的1628742个poi点组成,为保证显示效果,人为设置了空白区域,该数据量大、覆盖范围广,点位分布如图2所示。51.本实施例引用了大数据快速处理与存储技术,具体而言:在r语言环境下引入了data.table功能包,快速聚合大数据(例如,ram中为100gb以上的数据量),快速排序的连接,按组快速添加/修改/删除列,完全不使用任何副本,友好且快速的字符分隔值读/写,提供自然而灵活的语法,以加快开发速度。该功能包在数据处理与读取等方面,速度与效率远优于其他主流语言的数据处理能力。52.本实施例同时引入分布式数据存储技术,通过多线程技术和网络使用每台机器上的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散的存储在网络中的各个节点上,在数据处理时能及时将结果快速存储至本地,整个过程对计算机内存的消耗较少。53.实际操作中本发明使用了data.table功能包,与r语言内置的数据读取函数相比,读取百万级数据量所需的时间在秒级以内(如表1所示),当数据量越大,优势越明显,因此对大数据的处理能力有了很大提升。54.表1不同样本数量下数据读取的时间对比[0055][0056]实施例3[0057]本实施例公开一种大数据的分箱技术,与核密度分析等算法最大的不同是,本实施例无需预先设定研究范围,而是依据等距分箱规则,将研究区域设定成若干个规格相同的格网,近似获取与每个格网点最近的离散点坐标,当完成分箱操作后大数据的维度降低了,便于算法的快速迭代和维持算法的稳定性。[0058]本实施例是在保持地理空间大数据点的离散属性与位置的基础上,通过设定分箱规则对大数据进行降维处理,遍历格网点,通过计算标志距离获取搜索领域内的点密度,最后通过大数据维度的恢复,统计并计算每个搜索邻域内点的单位真实数量,快速输出离散点的位置与点密度,总体流程图如图3所示。[0059]本实施例首先是设定分箱规则,分箱的规则是将研究区域划分为等距的格网(格网大小为g,搜索半径为r),通过近似的方式获取每个点在其最近格网点的坐标,并返回唯一的key值,示意图如图4所示,点1被近似至格网a1点的坐标值,此时点1的坐标值变成tlat1,tlon1,并将结果赋予唯一的key值分布式存储到本地数据库中,用bin_density()表示。[0060]此时key值保存了最近邻格网点的经纬度坐标,此时tlat1,tlon1为活跃点,用active_grid()表示,新维度m的值由0变成1;遍历至点2时,由于点2近似至a1,其坐标值仍为tlat1,tlon1,m的值不变,当执行完成时m的值为6,依次类推,数据的维度由n降至m。此时以key值和近似坐标值两种值分布式保存至本地。[0061]实施例4[0062]本实施例公开一种格网快速遍历技术,创造性解决了格网循环与遍历过程中出现的遍历次数较多、点位遗漏的问题。格网快速遍历的关键是计算标志距离(flagdistance),是识别领域内点坐标的重要标记,保证了搜索领域内的点被单次遍历。[0063]本实施例的第二步遍历格网,分三重循环,算法的示意图如图5所示。首先遍历m个格网点,获取邻域内格网点f的坐标(lat1,lon1);其次沿着中央经线方向,依次从f点遍历至g点,当遍历至f点时,l等于邻域半径r,容忍距t为0。[0064]判断density(lat1,lon1)是否存在,若不存在将其值赋予bin_density(lat1,lon1)+1,若存在则density_hash(lat1,lon1)值为bin_density(lat1,lon1)的值,当遍历至e点时,此时的容忍距t(0《t《r),然后以格网大小g为步长遍历经度方向的点e1至e4,并将其经纬度坐标存储至density()表中,并记录次数,以此类推直至遍历至点g完成邻域内所有格网点的循环。[0065]容忍距t是识别领域内点经度的重要依据,保证了只有在搜索邻域范围内的点被遍历,有效地减少了循环遍历的次数。当遍历结束后,density(latt,lont)的key值为经过分箱操作后点的经纬度坐标值,地址值为点真实的密度值,此时数据的维度仍为m。[0066]第三步为维度的还原,依次遍历大数据的维度n,从density()中读取第二步获取的点的个数与key值,最终得到大数据n个离散点的初始坐标和对应的密度值。[0067]实施例5[0068]本实施例对结果及效率对比分析,进行可视化效果对比利用arcgis/prokerneldensityanalysis工具生成的核密度结果作为对比验证,如图6所示,本发明执行的结果如图7所示。[0069]从可视化效果可得知,图6均改变了图2的形状,且部分无值的区域被拟合为有值,同时也改变了图2所示离散点的二维特征。[0070]图7为本实施例设置不同的搜索半径执行的结果,虽然不同的半径返回的图例不一样,但所表示真实密度值是相同的,同时与图2进行对比,完全保持原来的形状与大数据的离散点特征,同时不改变点的位置,仅改变显示效果。[0071]本实施例执行效率对比,以r语言通用的kde2d核密度算法为对比,该算法的时间复杂度为o(nm),本发明的时间复杂度为o(n(2r/g)2)。依次随机抽取5000、10000、50000、100000、500000、1000000个样本点,取样点的分布图,本发明的执行结果图分别如图8、9所示。两个算法的执行效率如表2所示。[0072]表2kde2d与本发明的时间复杂度对比[0073][0074]由此可知,本发明解决了大数据、覆盖范围广的情况下点密度获取的问题,如表2所示,当数据量较大时本发明的优势明显。[0075]综上,本发明通过编写算法,使用大数据快速处理与存储技术,设定规则,在保持地理空间大数据二维离散特征、投影关系、相对位置的基础上,快速获取区域内大数据点密度的算法,并以可视化方式展示。解决了传统统计方法费时费力的问题、解决了常用的核密度法改变空间大数据离散特征、解决了聚类算法主观归类的计算方法,而难以获取真实密度的局限。并且可应用于自然资源统计与应用管理等领域。[0076]以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1