APP下载

基于Google Maps的车辆跟踪系统研究与实现

2013-09-13王建国

电子测试 2013年18期
关键词:终端服务器数据库

王建国,刘 明

(西安工业大学计算机科学与工程学院,陕西 西安,710021)

0 引言

Internet和GIS技术的飞速发展,使得WEB GIS成为人们研究的热点,而且,实际应用中对地理信息服务的各种新要求不断驱动着WEB地图服务模式的地理信息技术发展与完善,其所涉及的知识领域已经涵盖网络技术、通讯技术、视觉技术、空间定位技术、最佳路径选择技术等多个学科。

具有开放、易用、低成本等特点的Google Maps API是谷歌向地图二次开发提供的一个接口,它提供了庞大的地理数据库和强大的地图处理功能,开发者可以在不建立自己地图服务器的情况下,为用户提供位置服务。地理数据库是是GIS的中枢系统,Google Maps具有强大、成熟的地理数据库,为WEB GIS提供强有力的地理信息可视化及查询功能的支持。然而如何将Google Maps与GPRS技术有效结合,实现车辆的跟踪,以及如何为用户提供精确的位置服务,在GPS数据纠偏上还存在一些问题。

本文以Google Maps作为地图资源为基础,利用开放的API,对Google Maps进行二次开发,结合GPRS通信技术,设计并实现了基于Google Maps的车辆跟踪系统,该系统具有较强的工程应用价值,如易燃易爆品运输公司等对车辆实时监控要求性较高的公司。

1 Google Maps API

Google Maps是由Google提供的电子地图服务, 它提供了道路图、卫星地图、地形图、道路卫星混合图、街景地图五种不同的视图模式。Google Maps API是给Google Maps二次开发者提供的一个接口,借助Google Maps API开发者可以在不建立自己的地图服务器情况下,将Google Maps地图数据嵌入到自己的web应用中,为用户提供位置服务,还可以对此地图服务进行扩展,给地图添加标注和路径以及其他图层覆盖物,或者响应用户的点击事件,以及帮助开发者打造自己个性化的地图应用站点。

1.1 Google Maps API 的概念

Google Maps API 是一种将Google Maps嵌人到web应用的一组AP1,提供了强大的地图显示功能和地图事件的处理功能。常用的有两种接口:Ajax应用程序调用的JavaScript接口;Flash应用程序调用的Flex接口。

1.2 Google Maps API 的特点

Google Maps API 的特点体现在:

①Google Maps 对所有获取地图服务秘钥的用户都是相对免费的,每天的访问次数不超过2000次;

②Google Maps提供了道路图、卫星图、地形图、道路卫星混合图、街景图五种不同的视图模式,用户可以根据自己的需求切换;

③Google Maps API 是一种基于服务器的应用开发模式,GIS 数据处理主要集中在Google Maps的服务器端,同时,地理数据库的更新也由Google Maps服务器端负责,用户只需发出请求获取数据即可。

2 车辆跟踪系统的设计

2.1 系统总体结构设计

本系统由三部分组成:数据处理层、数据采集层以及连接两者之间的数据传输层。其中数据传输层包括互联网和接入网两个部分。系统拓扑结构示意图如图1所示:

图1 系统拓扑结构示意图

如图1所示,至下向上,依次是数据采集层、数据传输层、数据处理层。其中:

数据采集层:由终端车辆的信息采集设备完成,负责终端车辆自身信息和行驶信息的采集,如车辆的车牌号码、车型、行驶速度、行驶方向、所处经纬度等信息,并将所采集的车辆所有信息打包,然后交给传输层;

数据传输层:由GPRS技术实现,负责将数据采集层获得的车辆信息数据包传输到数据处理层。

数据处理层:负责接收传输层的数据包,并对数据包进行解析和处理。首先,将数据包解析成车辆自身数据和车辆行驶数据两部分;其次,将车辆自身数据和行驶数据分别存入数据库,以便为查询车辆的历史轨迹提供数据;最后,根据车辆的GPS数据,结合Google Maps的GPS纠偏库,在Google Maps上标记车辆的位置,点击标记时,弹出车辆的车牌号码、行驶速度、方向等信息窗口,从而实现车辆的实时跟踪。

本系统采用三层的拓扑结构,将数据的采集、传输、处理完全分开,具有清晰的逻辑性,同时,使系统的可扩展性、可维护性大大提高。

2.2 终端车辆信息采集设备

终端车辆作为车辆跟踪系统的监控对象,那么车辆上的信息采集设备必须具备车辆位置数据的采集和传输两大功能。车辆定位是车辆跟踪系统的最基本功能,即将汽车的车牌号、经纬度、行驶方向、行驶速度、定位时间等信息实时的发送到车辆中控服务器。

GPRS从实现方式上来讲是在GSM的基础上引入了分组,以包的形式发送数据,在移动终端与外部网络中不再使用永久连接,当数据发送时,建立连接,为用户分配独立地址,将用户也作为独立的数据用户,以数据流量的方式付费。同时,传输速率也有很大的提升。GPRS系统本身采用IP网络结构,内嵌有TCP/IP协议,因此遵循网络协议来完成相应的通信,通过控制途经的路径确定数据的传输过程。

鉴于车辆终端设备的最基本功能要求,考虑到系统的实验阶段性,终端车辆的移动性,需采用无线网络传输,由于智能手机内嵌有GPS采集模块和GPRS模块,且内置了TCP/IP协议,可实现数据的高速可靠传输,满足了移动通信的需要,因此本系统采用智能手机作为终端车辆的采集设备。

2.3 中控服务器

中控服务器端是本系统的核心,需要具备以下功能:一是在Google Maps上实时跟踪终端车辆,中控服务器对终端车辆信息采集设备发送的数据进行分析和处理,将车辆的空间位置数据标记在Google Maps上,以做到实时跟踪,并将GPS数据存入数据库,以实现历史轨迹回放功能;二是信息查询与管理功能,当需要查看车辆过去某一时间段的形式轨迹时,根据数据库提供的数据,绘制车辆行驶轨迹。

根据车辆的经纬度,在Google Maps上更新车辆标记的位置,以实现对车辆的实时跟踪,是本系统的核心功能,那么对Google Maps API的研究显得尤为重要。Google Maps API 提供的功能可以分成两类:一是地图显示功能, 即用户可以调用API 进行地图信息的显示及显示模式的切换; 二是API 的扩展功能, 开发者可以利用Google Maps 所提供的API 进行二次开发, 或者与自己的系统进行整合,使地图的功能更完善、强大。下面介绍在系统开发过程中使用到的核心类。

2.3.1 Google Maps的加载

Google Maps作为本系统的基础平台,因此如何加载Google Maps是需要解决的首要问题。在此使用到了Google Maps API的三个核心类,即Map、MapOptions、MapTypeId。Map类用来在指定的 HTML 容器中创建一个地图对象;MapOptions是地图选项类,主要是设置和获取地图的一些属性,如地图的类型、中心、缩放级别等,该类只有属性没有方法;MapTypeId类以常量的方式存储Google Maps的类型,Google Maps的类型有四种:HYBRID(混合地图)、ROADMAP(街道地图)、SATELLITE(卫星地图)、TERRAIN(地形地图)。

2.3.2 车辆GPS位置在Google Maps上的标记

中控服务器根据终端车辆数据采集设备实时采集的GPS定位数据,在Google Maps上添加标记,以实现对车辆的实时跟踪。为此,首先研究了Google Maps API的两个核心类:Marker、MarkerOptions。Marker类用来在指定的地图上添加标记;MarkerOptions是标记选项类,主要设置和获取标记的属性,如标记在地图上显示的位置、标记的标题、标记显示的样式等。

3 车辆跟踪系统的实现

3.1 在Google Maps上跟踪终端车辆

终端车辆上的手机通过GPS模块采集到车辆的GPS数据,将GPS数据和车辆自身数据打包,并通过GPRS无线网络将数据实时的反馈给中控服务器;中控服务器将车辆的GPS数据保存到数据库,以便为查询车辆的历史轨迹提供数据,并且根据此数据的经纬度信息在Google Maps上添加标记,实现跟踪。

具体实现方法是,根据终端车辆的经纬度数据创建一个LatLng实例,然后将LatLng实例作为MarkerOptions的position参数创建一个MarkerOptions实例,Marker类再通过构造方法以MarkerOptions实例作为参数创建对象,最后Map对象通过setOptions方法将Marker对象绑定到地图上,至此,车辆位置也就标记到Google Maps上。将当回放历史信息时,监控中心从车辆行驶信息数据库中读取车辆的行驶信息,再按照上述方法,在Google地图上标识出来。图2是终端车辆在预定路线的实时位置。

3.2 信息管理与查询

中控服务器作为一个Web服务器,是为用户提供位置信息服务的,因此需要建立良好的信息管理和查询平台,以保障系统的良好运行。中控服务器可通过终端车辆的车牌号、行驶时间、车辆型号等信息进行单条件或多条件组合查询,从而得到车辆的历史行车轨迹。

图2 终端车辆在预定路线的实时位置

4 结束语

本文分析了Google Maps API的基本特点、功能及基本使用方法,并在此基础上设计并实现了车辆跟踪系统。结果表明,基于Google Maps JavaScript API的地图服务应用系统,不仅降低系统开发的难度,也改善了用户体验,且在非盈利的系统应用中完全免费,在工程应用方面,具有很好的前景和推广价值。

[1]吴肖,彭 璇,朱明磊.基于Google Map API的校园电子地图开发.测绘工程.2010年6月第19卷第3期.

[2]江前斌.Google地图接口在物流运输系统中的应用研究.中国市场.2011年第6期.

[3]戴 兵.基于Google Maps API的校园地图设计[J].电脑知识与技术.2008(S2): 184- 185

[4]王志红,胡川.基于Google Maps API的网络地图服务系统的研究与应用.测绘标准化.2010: 26(2).

[5]莫以为,何新彪.基于Google Maps JavaScript API的物流配送车辆调度系统设计.制造自动化.2011年6月第33卷第6期.

[6]张艳,李忠,赵冬梅.基于Google Maps的人员定位调度系统研究与实现.湖南工程学院学报.2011年9月第21卷第3期.

猜你喜欢

终端服务器数据库
X美术馆首届三年展:“终端〉_How Do We Begin?”
通信控制服务器(CCS)维护终端的设计与实现
GSM-R手持终端呼叫FAS失败案例分析
数据库
中国服务器市场份额出炉
得形忘意的服务器标准
计算机网络安全服务器入侵与防御
数据库
数据库
数据库