高德地图的红绿灯倒计时如何实现?🚦
我一开始以为高德地图接入类似全国交通灯API,连接并同步交管数据库,但事实并非如此。
高德后台没那么大,能够连接全国交通数据库?另,草台班子估计压根就没什么数据库,一个红绿灯就像一个路灯,坏了就找电工修一修,各省各市自行负责解决,除此以外它什么都不是。所以压根不存在全国交通API接口让人调取数据之说。
那么高德如何做到,精确显示红绿灯倒计时?
高德地图官方发布视频首次揭秘了“红绿灯倒计时读秒”功能背后的实现原理。该功能依赖于过往车主的行驶启停规律,运用云端大数据算法推算出具体红绿灯读秒时间。即使路口临时设置移动式红绿灯,虽然没有接电和接网,但高德地图依然会显示红绿灯倒计时状态。
那么高德地图是如何知道过往车辆的启停规律的呢?它不可能连接每一个红绿灯之前的摄像头,也不可能接入官方数据。因此,我们推测,高德地图是通过每一个正在使用高德地图设备、运动中的车来判断经过红绿灯的时间。
只要有十辆车正在使用高德地图,分别经过同一个红绿灯,它们之间间隔时间就能帮助推算出红绿灯的读秒时间。但是,每一辆车的车速不一样,如何精确到一秒不差呢?
假设在红绿灯前三百米左右进行测算,车子从静止到启动加速通过这个红绿灯,车速应该都差不多。何况高德地图对车速判断已经很精准了。只要开着高德地图的车经过这个红绿灯就会被采集数据,数百辆汽车分别经过这个红绿灯,大数据分析演算之后,自然可以做到分秒不差。
只要这个红绿灯时间固定不变,至少某一个周期内时间固定不变,那么就能得到一个非常精确的倒计时显示。一旦交通灯的时间做出调整,那么每一辆开着高德的汽车经过就会动态检测到数据变化,重新校正。对于计算机来说,一旦数据推算方案设计完成,计算结果很可能就是,红绿灯时间有调整,第一辆经过车存在误差,第二辆车马上就被修正,第三辆车经过时,显示正确,毫无所知。
根据2017年的数据,中国大约有1000多个城市,每个城市都有数百个或数千个红绿灯,因此中国的红绿灯数量至少达到了数百万个。高德红绿灯倒计时已支持超过8万多个红绿灯路口,遍布全国范围内近240个城市。距离高德地图对每一个红绿灯都有倒计时显示,还需要多久?
Comments(1)
好像车辆转弯时对方来车也能根据实时车辆情况进行提醒