将多伦多时间?
这个问题有意思,我是从多个维度来看待这个问题的, 先给出答案: 在不考虑成本的情况下,用服务器推导出本地的时间是最准确的;在考虑成本的情况下,用服务器来推导本地时间会变得很复杂,这时可以采用加权平均的方法计算各个节点的时差,然后求和得出总时差,最后将每个节点的时间换算回统一起始时间点即可。这样计算出的时间比直接使用服务器的时间要准确很多倍。
下面详细论述: 多伦多(Toronto)位于北美洲的东部,西临五大湖之一伊利湖,南接美国,东北部为尼亚加拉瀑布。人口460多万。地处北大西洋暖流与拉布拉多寒流交汇之处,冬暖夏凉,气候宜人。 多伦多是加拿大安大略省的省会,也是该省最大的城市。 安大略省西南部的基奇纳市(Kitchener)和尼亚加拉瀑布地区的圣凯瑟琳市(St. Catherine's)也都有大型的汽车制造厂。这些工厂生产的汽车开上公路之后,就会受到来自美国和加拿大的交通堵塞之苦。 早在20世纪70年代,美国的计算机性能已经远远超过早期的通用电子计算机了。当时,一个名为“莫克利”(Mortice)的研究小组正在研究如何利用计算机来解决交通问题。他们发现了一个令人吃惊的事实: 如果将北美洲的所有公路都连接在一起的话,那么它们将会形成一个巨大的超大型网络。
只要能获取每辆车上的GPS数据,然后再结合地理信息找到每一条路对应的公路号码,最后就能通过算法来计算出任意两点之间的公路距离。 这个数据如果用来给汽车导航倒是不错,可是用来计算时间呢? 我们来想想看,一辆汽车从旧金山开到纽约需要15个小时,但从多伦多到尼亚加拉瀑布只需3小时!难道是多伦多离纽约更近吗?并不是。其实从多伦多出发,开车向北走大约300公里就能到达美国边境,再往东开200多公里就能抵达纽约。
究其原因,是因为北美大陆的地理地貌不是平坦的,而是向西缓慢倾斜。蒙特利尔(Montréal)离纽黑 克(Newark)要比多伦多近许多。而多伦多附近则是群山环抱。从多伦多驾车前往尼亚加拉瀑布区,实际上是从一个山沟里驶向另一个山沟里,直线距离反而较远。 基于这种特殊的地理环境造成的长途堵车难题,科学家们想到了一个新的解决办法——计算拥堵延时。只要获得了每个路段的拥堵延时数据,再结合起点和终点间的公路里程,就可以通过算法来计算出行驶时间。
不过,这个办法要求每辆车都要安装带有定位功能的电子设备,实时地将车辆的位置和数据传到某个中心服务器。 这似乎是一个无法解决的问题。因为车辆不可能自带这样的设备。后来人们想出了一个巧 主意:既然车体本身没有带电子器件的能力,那就让路上的通信信号塔和电线杆都携带一定的计算能力,帮助道路附近的车辆估算时间。 经过多年的发展,现在的智能交通系统已经能够较为准确地预测出行时间,甚至还能根据特定路段的延误情况为用户提供合理的绕行路线建议。