实时路况在机顶盒上的图形化显示方案

时间:2022-10-30 06:13:07

实时路况在机顶盒上的图形化显示方案

摘 要

本文介绍了我们在实践中利用Google Static Maps API,实现实时路况在机顶盒上的图形化显示,解决机顶盒特定网络条件和系统环境下的地图显示问题,文中阐述了方案的设计思路和技术特点。

【关键词】机顶盒 实时路况 地图

实时路况的数据和地图数据都比较成熟,在大城市的应用也已经比较广泛。本项目的主要难点在于在机顶盒特殊的硬件条件和网络条件下,如何清晰、快速的显示路况地图。目前实时路况在互联网上的实现也有许多方案,一般采取以下两种主要方式:

1.使用JavaScript API,采用地图提供商提供的API在地图上进行点、线的绘制,然后进行图层的叠加。这种方法的优点是开发方便,功能完整,可以使用成熟的地图引擎进行缩放、平移、定位等操作,广泛应用于电脑和移动终端中。其特点是需要连接互联网,终端有完整的JavaScript支持,对硬件的要求也比较高。

2.使用GIS数据直接绘制地图,比如使用SVG矢量化图形来绘制地图。这种方式需要完整的GIS数据,可定制化的程度高,一般适合专业领域的高需求应用。其特点是需要专门的GIS软件支持,地图绘制难度比较大。

在机顶盒特定的软件硬件和网络条件下,以上方法都存在着不少的难度。首先,机顶盒网络的特点是高可靠性下的可控可管,无法直接连接互联网资源,公开的地图API方式无法直接应用于机顶盒上。其次,机顶盒的并没的提供完整的JavaScript、SVG等的支持,性能上无法与PC等终端相比,因此JavaScript、SVG等地图绘制方法并不适用于机顶盒。

在综合考虑以上的因素,我们最终决定采用一种比较简单可靠方式来实现地图的显示,即使用Google Static Maps API来生成静态地图,它不需要引入任何JS API文件,不需要依赖JavaScript或者其它服务的支持,只要能显示图片就可以,适应性广,可移植性强,而且显示质量可以满足目前高清机顶盒的要求。

1 项目技术实施方案

本项目的系统架构示意图如图1所示。

1.1 实时路况数据由智慧交通的数据中心提供,通过JMS接口获取数据:

(1)数据格式

数据接收格式为 JSON 格式的 String,发送端将数据封装为 JSONObject 对象,在 JSONObject 对象中添加了一个键值对:segment:……,值为 ObjectArray。数据编码 UTF-8。

路况数据格式如图2所示。

(2)数据发送模式

中心平台每 30 秒向客户端推送路况数据。客户端可以根据需要定时进行更新。

(3)客户端连接

1.2 实时路况数据到地图的转换

实时路况的数据获取之后,我们选取Google static maps API来进行地图绘制。Google提供了很强大的地图API,借助 Google Static Maps API,无需使用 JavaScript 或加载任何动态网页,即可在自己的网页上嵌入 Google 地图图片。Google 静态地图服务根据通过标准 HTTP 请求发送的网址参数来创建您的地图,并以可显示在您网页上的图片形式返回地图。这种方式正是机顶盒显示的最佳方式,只需要支持标准HTTP网页即可显示地图,所有的数据加工都可以在服务器端完成,节省资源,提高了效率。

Google Static Maps API 会通过网址返回一张图片(GIF、PNG 或 JPEG 格式),以响应 HTTP 请求。对于每个请求,您可以指定地图位置、图片大小、缩放级别、地图类型以及可选标记在地图各个位置上的放置。此外,您还可以使用字母数字字符为您的标记添加标签。

url串以&为标记分成不同的段,以放置不同的参数,实现地图的自定义。实时路况使用path参数定义一组用一路径相连以叠加在地图图片上的位置,API将沿着这些点按指定顺序连接路径,我们用不同颜色来表示不同路段的拥堵情况,这样,就形成了路况的示意图。以下分步实现:

(1)从JMS接口取得实时路况数据(json格式)

(2)将全市道路按路段进行位置编码。Google采用一种编码拆线算法来对线段进行编码以压缩长度,编码过程使用我们所熟悉的 Base64 编码方案将二进制值转换为一系列 ASCII 字符的字符代码:为确保这些字符能够正常显示,在将其转换为 ASCII 之前,使用 63(ASCII 字符“?”)对编码值进行了求和。该算法还会通过检查每个字节组的最不显著位检查给定点的附加字符代码;如果该位设为 1,则该点尚未完全构造完毕,还必须提供附加数据,如图3所示。

(3)将json格式的实时路况数据转化成位置编码,并取得路段状态。这里使用一段简单的文本处理程序进行数据转换:

(4)将每一条位置编码进行组装,生成Google API所需要的Url地址。

(5)由服务器根据得到的Url以图片形式下载路况地图至本地,供机顶盒终端实时路况地图。由于机顶盒网络并不能直接访问Internet,需要服务器进行地图的下载工作,并至机顶盒。

作者单位

昆山信息港网络科技有限责任公司 江苏省昆山市 215300

上一篇:提高计算机网络运行可靠性的方法研究 下一篇:如何实现基于FPGA芯片的远程编程