[发明专利]路网约束下K函数的Spark并行计算方法有效
申请号: | 201911052459.5 | 申请日: | 2019-10-31 |
公开(公告)号: | CN110851550B | 公开(公告)日: | 2023-04-28 |
发明(设计)人: | 常莉红;朱欣焰;佘冰;呙维 | 申请(专利权)人: | 武汉大学 |
主分类号: | G06F16/29 | 分类号: | G06F16/29 |
代理公司: | 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 | 代理人: | 张辰 |
地址: | 430072 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 路网 约束 函数 spark 并行 计算方法 | ||
本发明公开了路网约束下K函数的Spark并行计算方法,包括:步骤1,读取道路网和事件点集;步骤2,赋给每一条道路唯一编号标识;步骤3,各excutor节点分割各单条道路获得线性单元;步骤4,excutor节点构建路网拓扑结构、统计各线性单元的事件点总数、计算所有道路的总长度;步骤5,excutor节点计算路网距离t下各线性单元的事件点的总邻接点数;步骤6,driver节点计算观测K值;步骤7,excutor节点模拟点的随机分配;重复步骤5~7得到一系列观测K值;步骤8,计算一系列观测K值的统计学参数;步骤9,增加聚类距离,重复步骤5~9。本发明可充分利用计算机的多核运算,极大提高了大规模数据量下空间运算的效率,可满足海量数据的运算需求。
技术领域
本发明属于空间统计分析与并行化技术领域,具体涉及路网约束下K函数的Spark并行计算方法及系统
背景技术
空间分析一直是地理信息研究的重点。K函数反应了不同尺度下事件点的聚集程度,基于路网的K函数常被用来分析城市事件点的空间分布模式。随着城市现代化建设的加快,城市间的道路变得越来越密集,道路数据增加,沿道路发生的事件数量呈井喷式的增长,传统的单机算法受到内存和计算能力的影响,无法满足目前海量数据的运算需求。
发明内容
本发明的目的是提供路网约束下K函数的Spark并行计算方法及系统,该方法和系统可提高海量数据下K函数的运算效率。
传统的K函数主要基于二维平面分析,当遇到明显沿道路分布的事件时,会有一定的偏差。因此,本发明将路网引入K函数中,利用路网的空间自相关将发生的事件放在网络距离上进行计算。
本发明提供的路网约束下K函数的Spark并行计算方法,包括步骤:
步骤1,通过Spark中的dataSetRow操作读取道路网A和事件点集P,采用LineInfo描述道路网中各单条道路的道路信息;
步骤2,赋给A中的每一条道路一个唯一编号标识Li,Li表示第i条道路的编号标识,i=1,2,…n,n为道路网中道路数量;
步骤3,Spark中driver节点向集群广播道路网,excutor节点执行:
各excutor节点分别计算任意两条道路之间的交点,并在LineInfo中记录交点坐标信息;从道路网获取每条道路的起止点、拐点、交点的坐标并排列,构建坐标序列;以起止点、交点为分割点,分别分割各单条道路,将各线性单元发送并按位置顺序存储入有序线性单元集中;
步骤4,driver节点向集群广播道路信息,excutor节点执行:
根据交点坐标信息及线性单元编号构建路网拓扑结构,并利用Spark的累加器统计各线性单元的事件点总数,即线性单元的属性值;并计算道路网中所有道路的总长度;excutor节点将所计算出的路网拓扑结构、事件点总数、总长度发送至driver节点;
步骤5,driver节点向集群广播路网拓扑结构,excutor节点执行:
对每一个线性单元,根据网络拓扑结构,遍历得到该线性单元聚类距离范围内的其他线性单元,累计聚类距离范围内其他线性单元属性值的总数points,将inpoint与points相乘,inpoint为该线性单元的属性值,得到该线性单元下事件点的总邻接点数adjpoints;
步骤6,在各driver节点计算观测K值其中,npj(t)表示事件点pj在道路网的边集合的聚类距离t内的所有邻域点数目,w=n'/lT,n'表示事件点总数,pj表示第j个事件点,j依次取1、2、…n';lT为道路网中所有道路的总长度;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉大学,未经武汉大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911052459.5/2.html,转载请声明来源钻瓜专利网。