关于obd围栏报警的实现思考

围栏报警做为obd较为重要的一个功能实质上是依靠软件技术来实现的一个功能。算法

什么是围栏

根据地图服务提供能的路书功能,咱们能将车辆行驶的坐标在地图上造成轨迹标示出来,若是车主将车停靠在某一个位置,而对这个位置的环境不放心的时候,车主能够在地图上将车所在的区域设置一个围栏,并设置若是车辆离开围栏则将警报信息发送给车主,这就是围栏报警。安全

有哪些围栏以及使用场景

通常状况下两种围栏便可知足大部分常规需求。spa

一是规则围栏,以某一个位置画一个圆圈。这种围栏通常用来设定车辆的安全位置,当车发生移动并走出围栏则触发报警。blog

二是多边形围栏,多边形围栏既能够知足规则一的使用场景也能够较为复杂的需求。如车辆行径路线的管理,在地图上将某一段路使用围栏围起来,划定车辆的行驶范围,当车辆超出行驶范围时触发警报。图片

围栏的实现

规则一围栏的实现较为简单,知道圆的半径后,根据车辆上报的坐标计算距离中心点的距离和半径作对比便可知道是否进入或开出围栏。it

规则二的实现涉及到较为复杂的算法,即为:判断一个点是否在一个多边形区域内。较为可靠的算法是投影法,以原始点为起点,沿着Y轴向上下两个防线分别话一条垂直线,判断这条线与多边形围栏的边相交点的个数。若是为偶数个则表示在多边形外,若是为奇数个则表示在多边形内。百度地图

图片描述

如上图中,目标点1坐标点在内部,以起始点画一条垂直线,即Y轴。在Y轴的上下两方和围栏在A,B点各有一处相交,则能够判断是在多边形内。class

目标点2,3分别和多边形围栏的各个边相交的状况为:百度

目标点2,Y上0个,Y下两个软件

目标点3:Y上0个,Y下0个

因此目标点2和目标点3都在多边形围栏外。

在实现的过程当中要注意一点很是重要的问题,那就是无论是北斗仍是GPS仍是伽利略上传的坐标点是WGS标准的坐标,在百度地图或者高德地图上应用时须要转为地图相应的坐标才行,不然是失之毫厘谬以千里。

在围栏的设置过程当中,若是为一辆车在其必经的路线上设置了一个较小区域时,应当考虑到车速状况。obd平均15秒(能够设置上报间隔)上报一次数据,若是在进入围栏前上报了一条数据,等下一条上报时,已经穿过围栏了,这种状况并不会触发报警。

相关文章
相关标签/搜索