1.路网约束下的空间自相关Spark并行计算方法,其特征是,包括步骤:(1)采用LineInfo描述道路网中各单条道路的道路信息;
(2)Spark中driver节点向集群广播道路网,excutor节点执行:各excutor节点分别计算任意两条道路之间的交点,并在LineInfo中记录交点坐标信息;从道路网获取每条道路的起止点、拐点、交点的坐标并排列,构建坐标序列;以起止点、交点为分割点,分别分割各单条道路,将每条道路划分为多条路段,再将每条路段分割为多个线性单元发送至driver节点;
分割每条路段时,按照预设的线性单元长度划分,不足一个线性单元长度的按照一个线性单元处理;
(3)driver节点将各线性单元按位置顺序存储入有序线性单元集中,再次向集群广播;
excutor节点根据交点坐标信息及线性单元编号构建路网拓扑结构,并统计各线性单元的事件点总数;各excutor节点统计的各线性单元的事件点总数发送至driver节点;
构建路网拓扑结构时,对有序线性单元集中各线性单元的首尾节点顺次编号,第m个线性单元的首节点和尾节点分别编号为m‑1、m;针对每个线性单元,结合其所在道路的起止点和交点坐标信息,构建路网拓扑结构;路网拓扑结构中Map数组的键为交点编号,值为与交点相交的其他道路的道路信息;
事件点总数的统计方法为:
计算输入的计算各事件点集中各事件点与各条道路的距离,选择距离最短的道路Lmin;
再分别计算各事件点与Lmin的每个线性单元的距离,找出距离最短的线性单元,若该最短距离未超出预设的阈值范围,将该线性单元的计数值加1;
(4)driver节点再次将统计的事件点总数向集群广播;各excutor节点根据网络拓扑结构,计算各线性单元的邻接线性单元;
(5)在Driver节点,利用Spark的累加器实现空间自相关指数的计算;
自相关指数计算为全局或局部自相关指数计算;
当为局部自相关指数计算时,具体流程如下:
通过累加器实现整体线性单元对应点事件统计值的平均值、标准差的计算;
在excutor节点对每个线性单元的点事件统计值标准化;
在excutor节点,得到每个线性单元所对应的邻接线性单元的点事件统计值,计算局部自相关指数。
2.如权利要求1所述的路网约束下的空间自相关Spark并行计算方法,其特征是:LineInfo描述的道路信息包括道路编号id、分区编号partitionNum、道路的Geometry形式LineString、道路分段信息segments、与其他道路的交点信息crossPoints、路网拓扑结构intersections、交点的位置信息relationInfo、每个线性单云的邻接单元信息weight、邻域内的事件点数pointcount。
3.如权利要求1所述的路网约束下的空间自相关Spark并行计算方法,其特征是:还包括步骤:
在Spark的每个分区,随机置换每个线性单元的统计事件点数,完成随机分布模拟,再次计算自相关指数。
4.如权利要求3所述的路网约束下的空间自相关Spark并行计算方法,其特征是:所述随机置换为全局随机置换,其具体为:将道路集合广播到集群,在各个分区内,交换线性单元的统计事件点数。
5.如权利要求3所述的路网约束下的空间自相关Spark并行计算方法,其特征是:所述随机置换为局部随机置换,其具体为:将道路集合广播到集群,在各Excutor节点,每个线性单元随机挑选m个线性单元的事件统计值分别作为m个邻接线性单元的事件统计值,模拟随机置换。