英语原文共 7 页,剩余内容已隐藏,支付完成后下载完整资料
基于全球定位系统的出租车呼叫调度系统的设计与实现
LBS应用的教学案例研究
宇建周晓敏赵宏宇
计算机科学与技术系
南京大学
南京中国210093
yujianxn@nju.edu.cn
摘要-本文介绍了一种基于出租车呼叫调度系统(之后简称为TCDS)的应用,这是一个基于GPS的手机LBS应用原型。本文给出了基本设计、模块划分、GIS显示算法的设计、测试结果和出租车呼叫系统的原型特征分析。最后,本文指出了该出租车呼叫系统的进一步改进的方向并且预示了它在未来的使用。
索引词:LBS,移动电话,GPS,出租车服务,位图GIS、GSM、位置显示、移动通信,应用
I.背景
目前,移动通信技术的发展和采用使得基于LBS服务(基于位置的服务)的应用越来越受到人们欢迎。除了商业应用,LBS应用也成为了高等院校在研究普适计算和嵌入式系统的教学方面的一个很好的案例。
在这里我们介绍一种由南京大学计算机科学与技术系(后面简称为DCSTNU)研发的由持有装有GPS移动电话的乘客使用的一款基于LBS服务应用原型——出租车呼叫系统。它是由南京大学计算机科学与技术系的教师和在校学生一起研究的。
在许多城市里,人们不得不在路边等出租车等待很长一段时间。在早上或者晚上的交通高峰时段,在下雨、下雪、结冰或天气炎热的时候,情况会变得更加糟糕。然而,站在出租车公司的角度来看,它通常的情况是这样的,出租车司机事实上并不知道乘客在哪里等待出租车。这就导致了空的出租车漫无目的行驶在路上。那么,有没有一种方式,不仅使乘客容易找到一辆出租车,而且也使出租车公司方便提供出租车服务?这是我们研究这个移动通信应用的背景。
II. LBS应用概述
经过半年的研究工作,我们设计了一个基于GPS的移动电话的出租车呼叫调度系统(简写为TCDS)的软件包,。它的主要功能是为全球定位系统的移动电话用户提供的一种新的方法来获得出租车服务。
软件系统采用客户机和服务器(C/S)结构,属于分布式移动通信系统。客户端(客户端)是一个装有全球定位系统的电话。在服务器端(服务器)是一台在出租车公司调度中心的计算机。在客户端,装有GPS的移动电话用户可以通过这个软件系统活的出租车服务。与此同时,用户可以使用该软件在手机屏幕上了解调度来的出租车的实时位置。在服务器端,出租车公司管理人员可以通过手动或自动的方式做出最佳的日程安排。
该软件适用于普通的装有全球定位系统的移动电话用户和出租车公司。它可以使装有全球定位系统的移动电话用户更方便地呼叫出租车,从而提高出租车利用效率。有了这个软件的出租车司机也可以很容易地了解附近正在等待出租车的乘客的位置。因此,出租汽车公司可以减少出租车空载行驶的几率,节省燃料,减少等待时间,增加收入。
III. 出租车呼叫调度系统的基本设计
A.功能需求与设计目标
出租车呼叫调度系统的设计目标是让GPS手机用户通过按下一个键发送短信息(位置信息)到特定的出租车公司呼叫出租车。服务器安装在一个出租车公司的中央控制室,通过GSM通信模块可以在在不到一秒钟内接收到寻呼消息。同时调度管理者可以在大屏幕显示的电子地图上直观看到的申请人的当前位置和公司所有的出租车的位置。因此,管理者可以通过自动或手动方式为所有的申请人安排和调度出租车。无论是哪种方式,一旦用户的全球定位系统的移动电话接收到被指定的出租车信息,之后该出租车的位置信息将显示在用户的手机屏幕上,而且这个位置信息将每20秒刷新一次。
B.客户端的基本设计
使用电话呼叫出租车的GPS手机用户可能是中国或外国公民,因此出租车呼叫调度系统软件包含中文和英语界面,并且在它安装时能够检测当地的语言类型。
当该出租车呼叫调度用户呼叫出租车,两种的数据是必要的。一个是在服务器端的GSM模块的SIM卡号码,另一个是当前用户的位置。在软件获得2种数据后,它将通过手机将定位数据发送到服务器来进行出租车呼叫。
(1)服务器GSM模块SIM卡号码
TCDS的用户可以预先在在三个或更多的出租车公司的服务器输入GSM模块的SIM卡号码,当他需要出租车时可以由他自己输入其他的号码。此外,TCDS可以保存用户最后一次使用的号码,即如果用户不改变出租车公司,它是不需要重新输入该号码的。
(2) 当前用户的位置
此数据是指用户当前所在位置的经纬度坐标。用户可以通过2种方式获得该数据,因此,用户可以通过2种方式的呼叫出租车。
一种方法是当用户在随机位置呼叫时,通过移动电话的全球定位系统的功能得到的数据。在这种用户模式下,用户不知道它当前位置的经纬度坐标,软件会自动从全球定位系统的接收器读取位置数据,并提取纬度和经度坐标。
当用户在常规位置时进行调用时,另一方法是很有用的。坐标的纬度和经度存储在移动电话中。在这种模式下,它是不需要从全球定位系统接收器获得目前的位置数据,所以它适合于那些位置是相当固定,或其移动电话不支持全球定位系统的用户。后者可以从在互联网上的谷歌地图或谷歌地球上获得位置坐标,并提前输入到他的移动电话中。
C.显示即将到来的出租车的位置信息
服务器将被调度的出租车的位置发送给用户之后,该软件将自动从移动电话短消息接收器中提取位置数据,然后在电子地图上显示当前出租车的位置。
下面,我们将简要地介绍一下TCDS中出租车呼叫流程的5个步骤:
1)全球定位系统的移动电话用户将其当前位置信息发送给服务器。位置信息是经纬度坐标。
2)在出租车公司服务器接收用户的呼叫短消息后,用户的位置会在电子地图上显示,服务器会自动找到最接近用户的出租车。
3)服务器将用户的位置信息发送给相应的被调度的出租车。
4)服务器将出租车的位置信息发送给相应的用户(周期约为20秒到50秒)。
5)用户收到来自服务器的出租车位置数据后,出租车的位置将显示在电子地图上,并根据从服务器收到的新信息,软件将不断在电子地图上更新出租车的位置。
图1说明了TCDS的基本功能。通过对图1的分析,读者可以很容易地知道系统坐标的各对象是如何工作的。
D.服务器的基本设计
主要是,全球定位系统的移动电话用户发送需要出租车服务(包括用户的位置信息)的短信。在接到用户请求后,出租车公司的服务器立即在出租车状态数据库中搜索离用户最近的空出租车,并将“服务”信息包括用户的位置信息和电话号码发送到被选中的出租车。如果出租车司机同意提供服务,则回复服务器确认信息并提供服务,并将其状态设置为“服务”,同时,服务器将出租车的位置发送给全球定位系统的移动电话用户。如果出租车拒绝了某些原因,则服务器再呼叫方寻找离对方最近(除了之前的)的空出租车,并重复上述过程。这是服务器需要在一个实际的系统中实现的功能。
服务器端的屏幕(通常是大屏幕投影屏幕)显示地图的城市的主要街道,并将该公司的空出租车的位置标记为绿色点,将发出出租车呼叫请求的全球定位系统的移动电话用户标记为红点。由于空出租车和用户的位置动态变化,每20秒到一分钟,位置信息被刷新一次。服务器也统计每个空出租车和出租车呼叫用户数。
如果服务器接收到由全球定位系统用户发送的出租车服务请求,则它将根据出租车呼叫的位置信息立即搜索最近的出租车(目前该系统只实现了直线距离的计算)。如果有出租车可以提供服务,服务器将出租车呼叫者的位置显示为迅速闪烁的红点,将出租车的位置显示为迅速闪烁的蓝点,蓝点定期移动(沿直线)到红色点。在移动过程中,服务器每20秒发送一次出租车的位置信息给用户。
当出租车足够接近用户时,服务器在地图上隐藏用户和出租车的信息。如果暂时没有出租车服务可以提供,那么服务器只将移动电话用户的位置标记为红点(不闪烁)。这时,服务器会想呼叫者发送一个简短的说明。短信的内容是“对不起,没有空出租车给你。你要等10分钟(音)吗?,如果用户向服务器发送“是”消息,该调用请求将在服务器内存中保留10分钟。在此期间,服务器继续尝试与空出租车的用户匹配,直到时间期限。在我们的 原型系统中,最大的出租车呼叫用户数可以保持记录为30。
图1.TCDS基本运行图
IV. TCDS软件结构
现在让我们来介绍客户端的模块。参见图2。图2显示的是客户端软件结构图。有七个主要模块全部在一起。这些模块的功能总结如下。
客户端移动电话读取来自呼叫者的全球定位系统接收模块的当前位置数据,或者从存储在移动存储器中的文件读取默认位置数据。在那之后,它允许用户通过按下一个按钮将短消息发送给出租车公司的服务器。之后,它听从服务器响应。当它接收到一个出租车被派给他的信息时,手机会在电子地图上显示在出租车和乘客的位置。当出租车到达时,TCDS客户端程序停止运行。在客户端中,用户可以设置当前位置数据和的连接到出租车公司的服务器GSM模块的SIM卡号码为默认值。
图2.客户端软件框图
图3给出了TCDS服务器软件框图。服务器软件有5个模块:短消息处理,地图显示和地图信息,手动配对,自动配对,重复出租车呼叫。
图3.服务器端软件框图
在服务器端的各模块主要功能如下:
1)短消息处理。该部分接收来自客户端的数据并将数据发送到客户端。以一个时间段为单位,我们周期性检查是否有一个呼叫出租车的请求出现。
2)地图显示和地图信息。这个模块包含了地图信息,如尺寸(宽度、高度和像素的成员)的位图图像(即在IPG格式文件),坐标转换公式的系数等。它可以加载和显示服务区的地图图片的某一部分(以位图格式的文本)。根据电话用户和出租车的位置数据,在地图的适当位置显示红色、绿色和蓝色点。
3)手动操作的配对,除了显示的电子地图,出租车公司的控制中心的管理者也可以看到出租车司机和呼叫者的列表,并对他们手动配对。
4)自动配对。当一个请求发生时找到最近的出租车。
5)重复出租车呼叫。该功能用开应对这样的情况,当一个呼叫出租车的请求到达时,没有空出租车为用户提供服务。如果用户同意等待,该模块将在10分钟内持续不断的呼叫出租车。
v. GIS算法设计
A.数据采集与定位显示
当一个TCDS用户预约出租车时,两种数据是必要的。一是在出租车公司出租车呼叫服务器的GSM模块的SIM卡号码,另一个是用户的位置。TCDS得到两种数据并将它们作为一个请求发送到服务器。第三部分客户端的基本设计说明解释了TCDS如何得到这两种数据。
TCDS中,不仅乘客与出租车公司沟通是重要的,而且显示在手机液晶屏上的乘客和出租车的位置也是重要的。在客户端和服务器,TCDS的核心在于出租车和呼叫者的位置以什么方式显示在地图上。因此,它提出了2个问题:我们使用什么样的图像类型?如何显示图像?我们将在2个部分分别回答上述2个问题。
B. 地理信息系统的图像类型:矢量或栅格?
在人们开发LBS应用的过程中,关于GIS图像采用矢量格式和栅格图形(位图图像)讨论一直没有停止过[ 4 ] [ 5 ]。矢量图像占据更少的空间,放大和缩小时不会失真,但它的颜色是单调的。位图画得很好,但需要大量的空间来存储。TCDS的 GIS显示模块中,我们选择位图有如下两个原因:
1.对于某个用户来说,通常是在一个城市呼叫出租车。在这种情况下,我们可以使用一个一个城市位图,对于大众用户来说这是没有问题的。
2.通过位图,我们可以以更快的速度实现显示。
C.将地图图像分割成图像块
为了在手机屏幕上显示和更好的观察乘客和出租车的位置,我们需要将整个出租车服务区域的图像分割成一组小的位图块。例如,典型的城市区域地理信息系统图是3200点正方形区域,它太大了,以至于不可以在手机屏幕上显示或者是电脑屏幕上显示的。
见图片4,首先,我们做了网格,并且让每一个网格框位图是手机屏幕位图的四分之一。然后,我们给每一个网格按行的主要顺序编号。我们使用的行数和列数来命名一个网格框,从0000到m*n,见图4。因此,整个图片被削减到一个m(假设20)*n矩阵的网格箱。之后,我们决定保存该规格的块位图,其中有四个2*2个形式的位图框。在图4中,用四个小方框绘制的矩形框中有一个块位图,该图将在一个全球定位系统手机的液晶显示屏上全部显示出来。
分块位图块保存为JPG文件格式,它的名字是的左上方网格的坐标(交叉点的垂直和水平坐标系)。例如,第二行第二列的位图块被命名为0101.jpg,它包括四个格子编号0101 0102,0201 0202。通过这个划分的方法,除了
全文共9467字,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[154376],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。