大数据GPS离线解析方法技术

技术编号:34622597 阅读:14 留言:0更新日期:2022-08-20 09:30
本发明专利技术公开了一种大数据GPS离线解析方法,包括如下步骤:S1,通过Geohash对一定经纬度范围内的区域按给定精度全面编码,并调用接口解析编码中的各区域GPS位置数据,将返回的GPS位解析信息和所有GPS位置点的Geohash编码存储在一标准表内;S2,在数据库中注册与S1中相同的Geohash编码自定义函数;S3,通过自定义函数编码当前车辆行驶轨迹中的GPS位置信息,然后与S1中的标准表关联,从而大批量获取行驶轨迹中GPS位置点对应的区域信息。轨迹中GPS位置点对应的区域信息。轨迹中GPS位置点对应的区域信息。

【技术实现步骤摘要】
大数据GPS离线解析方法


[0001]本专利技术属于地理空间应用技术和大数据离线计算领域,具体涉及一种大数据情况下的GPS离线解析方法。

技术介绍

[0002]随着车联网技术的不断发展,越来越多的车主购买智能网联汽车,同时,由这些智能网联汽车产生的用户行为数据也越来越多,其中就包含汽车的轨迹数据。轨迹数据中记录着不同时刻汽车的GPS定位信息,在进行地域相关的统计时,需要先根据GPS坐标解析出其现实意义的物理地址,从而识别出GPS点所属的区域(省、市、区县)。在大数据背景下,快速的解析出GPS位置数据成为一种必要的需求。
[0003]针对GPS点物理地址的解析,通常的技术手段是调用地图服务供应商所提供的API接口来实现。但是若每一个GPS点都进行API接口的调用,由于调用接口都有时间延迟,对于大量的GPS点进行解析时,响应时间会很长,并且响应时间会随着数据量的增加而线性增长。显然,这种逐个调用接口的方式不适用于大量GPS点的快速解析。
[0004]为解决上述问题,公开号为CN113138985A的中国专利文献公开了一种GPS数据解析方法及系统,在该申请中,通过将已解析的GPS位置数据存入数据库,避免了每次重复的去调用接口解析之前已经解析过的GPS位置数据。该方法随着已解析数据的增多,可以一定程度上提高后续解析的速度,但其仍然是逐条地解析,并且依赖于接口的调用,解析过程较为复杂,在大数据情况下,解析速度受到限制。
[0005]因此,提供一种解析过程基于数据库的、不依赖于接口调用的GPS位置数据快速解析方法成为本领域技术人员需要解决的问题。

技术实现思路

[0006]针对上述现有技术的不足,本专利技术所要解决的技术问题是:如何提供一种无需依赖接口调用,且解析简便和快捷的GPS离线解析方法。
[0007]为了解决上述技术问题,本专利技术采用了如下的技术方案:
[0008]一种大数据GPS离线解析方法,其特征在于,包括如下步骤:S1,通过Geohash对一定经纬度范围内的区域按给定精度全面编码,并调用接口解析编码中的各区域GPS位置数据,将返回的GPS位解析信息和所有GPS位置点的Geohash编码存储在一标准表内;S2,在数据库中注册与S1中相同的Geohash编码自定义函数;S3,通过自定义函数编码当前车辆行驶轨迹中的GPS位置信息,然后与S1中的标准表关联,从而大批量获取行驶轨迹中GPS位置点对应的区域信息。这样,通过在经纬度范围内各个GPS点进行编码,并将编码与位置点的解析信息对应后,存储在标准表后,若使用时,无需再批量对行驶轨迹进行解析,并在离线的情况下使用标准表内的编码点来查询该编码点的位置信息。这种方式,只需事先一次性录入整个解析后的信息,后续直接将编码与解析信息对应,查询方式简便,快捷,且标准表稳定,在较长时间内无需更新和改变,解析成本低。
[0009]进一步的,采用Geohash进行编码的具体步骤如下:先将所要编码的GPS位置点的经度和纬度分别转换为二进制编码,然后将产生的经度二进制编码和纬度二进制编码合并,最后,将合并后的二进制编码转换为10进制竖直,生成Base32编码。所采用的编码能够确保位置点与经度和纬度相对应,确保位置点正确,合并后能够准确对应位置点,确保位置点所对应地点足够准确。
[0010]进一步的,通过Geohash对一定经纬度范围内的区域按需求精度全面编码时,先选取靠近该经纬范围内的地理几何中心为一个随机点作为编码起始点,通过不断向周围点扩展的方式,在给定的精度上,不断对该经纬范围内的所有GPS位置点进行编码。这样,以中心点向外扩展的方式,可避免编码遗漏。
[0011]进一步的,编码的给定精度与编码长度相对应,所述编码长度为1至12的整数。编码越长,所对应的精度就越高。
[0012]进一步的,当对随机选取的几何中心点通过Geohash编码后,先将中心点的Geohash编码放入已解析List,将中心点以外的其余所有Geohash对象加入待解析队列;然后,判断已解析List是否为空,线程池线程是否无运行,如果List为空且无正在运行线程,则结束解析;若否则从线程池获取线程,消费队列中的Geohash对象,根据对象中心点GPS位置数据,调用API接口获取GPS的解析信息;判断解析的信息是否正常,如果异常则结束该Geohash对象的继续执行,如果正常,则将解析信息和Geohash编码存入标准表,同时获取该Geohash对象临近的多个Geohash对象,并分别判断这几个Geohash对象的中心点是否在选定的经纬度范围内,如果不在范围内,则结束该Geohash对象的继续执行,如果在范围内,则判断Geohash编码是否在已解析List中,如果在已解析List中,则结束该Geohash对象的继续执行,如果不在已解析List中,则将该Geohash对象加入待解析队列,等待解析。这样,通过线程池的方式来确保编码是否有遗漏,确保所有位置点都对应有一个编码,而在调用接口对编码解析信息的判定,可有效确保信息的准确性。同时对一个经纬度范围内的多个对象进行编码判断,能够有效确保编码信息的准确性。
[0013]进一步的,所述Geohash编码自定义函数继承org.apache.hadoop.hive.ql.exec.UDF类且实现evaluate函数。这样,可以在hive中直接使用自定义函数对给定经纬度在指定精度上进行Geohash编码。
[0014]与现有技术相比,本专利技术得到的大数据GPS离线解析方法具有如下优点:1、设置标准表后,避免逐条调用接口解析GPS点;2、可进行大批量GPS位置点的区域信息离线解析,大大提高了GPS点的解析效率。
附图说明
[0015]图1为实施例中大数据GPS离线解析方法的流程图;
[0016]图2为实施例中获取标准表的流程图。
具体实施方式
[0017]下面结合附图和实施例对本专利技术进一步说明。
[0018]实施例:
[0019]如图1所示,本实施例提供的大数据GPS离线解析方法,它包括如下步骤:S1,通过
Geohash对一定经纬度范围内的区域按给定精度全面编码,并调用接口解析编码中的各区域GPS位置数据,将返回的GPS位解析信息和所有GPS位置点的Geohash编码存储在一标准表内(具体的,所述标准表在数据库内,且为hive分布式表);S2,在数据库中注册与S1中相同的Geohash编码自定义函数;S3,通过自定义函数编码当前车辆行驶轨迹中的GPS位置信息,然后与S1中的标准表关联,从而大批量获取行驶轨迹中GPS位置点对应的区域信息。
[0020]具体的,本实施例中所采用的编码方式为Geohash编码。Geohash是一种地理编码方法,其基本原理是将地球理解为一个二维平面,根据经纬度将平面递归分解成更小的子块,每个子块在一定的经纬度范围内拥有相同的编码。Geohash将经纬度转换成字符串,并且在大部分情况下,字符串前缀匹配越多的距离越近。
[0021]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种大数据GPS离线解析方法,其特征在于,包括如下步骤:S1,通过Geohash对一定经纬度范围内的区域按给定精度全面编码,并调用接口解析编码中的各区域GPS位置数据,将返回的GPS位解析信息和所有GPS位置点的Geohash编码存储在一标准表内;S2,在数据库中注册与S1中相同的Geohash编码自定义函数;S3,通过自定义函数编码当前车辆行驶轨迹中的GPS位置信息,然后与S1中的标准表关联,从而大批量获取行驶轨迹中GPS位置点对应的区域信息。2.根据权利要求1所述的大数据GPS离线解析方法,其特征在于,采用Geohash进行编码的具体步骤如下:先将所要编码的GPS位置点的经度和纬度分别转换为二进制编码,然后将产生的经度二进制编码和纬度二进制编码合并,最后,将合并后的二进制编码转换为10进制竖直,生成Base32编码。3.根据权利要求1所述的大数据GPS离线解析方法,其特征在于,通过Geohash对一定经纬度范围内的区域按需求精度全面编码时,先选取靠近该经纬范围内的地理几何中心为一个随机点作为编码起始点,通过不断向周围点扩展的方式,在给定的精度上,不断对该经纬范围内的所有GPS位置点进行编码。4.根据权利要求3所述的大数据GPS离线解析方法,其特征在于,编码的给定精度与编码长度相对应,所述编码长度为1至12的整数。5.根据...

【专利技术属性】
技术研发人员:周禹朱成建谢磊
申请(专利权)人:重庆长安汽车股份有限公司
类型:发明
国别省市:

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

1