亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Android手機(jī)的西安市公交查詢系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

        2018-09-19 09:40:52劉高輝林亞茹何坤城
        關(guān)鍵詞:數(shù)據(jù)表站點(diǎn)客戶端

        劉高輝,袁 萌,林亞茹,何坤城

        (西安理工大學(xué)自動(dòng)化與信息學(xué)院,西安 710048)

        0 引言

        近年來,我國的公交查詢系統(tǒng)迅速發(fā)展,不少城市都擁有了公交線路查詢系統(tǒng),網(wǎng)絡(luò)上也可以下載到許多不同版本的公交查詢軟件[1]。但是,目前的公交查詢系統(tǒng)存在其不足之處:

        1)目前的公交查詢系統(tǒng)不能向用戶提供所查詢路段的道路擁堵狀況信息,這將不利于乘客有選擇的乘車;2)目前西安的公交查詢系統(tǒng)也不能給客戶提供下一輛公交車的準(zhǔn)確到達(dá)時(shí)間,造成用戶盲目等待某輛公交車,造成對(duì)時(shí)間的大量浪費(fèi)[2]。

        針對(duì)當(dāng)前存在的公交管理系統(tǒng)的不足,本文中提出并設(shè)計(jì)了一個(gè)基于安卓手機(jī)的公交查詢系統(tǒng),系統(tǒng)主體分為3個(gè)部分:模擬服務(wù)器、手機(jī)客戶端、模擬車輛終端,通過各部分之間的配合,實(shí)現(xiàn)安卓手機(jī)客戶端對(duì)指定線路公交車運(yùn)行狀態(tài)的查詢,從而方便乘客選擇乘車[3]。

        本系統(tǒng)的成功開發(fā),不僅能夠?qū)崿F(xiàn)用戶對(duì)公交信息的查詢,更重要的意義在于能夠?qū)⑷恕④?、路三者結(jié)合起來,通過車況來反映路況信息,再通過服務(wù)器將信息發(fā)布到手機(jī)客戶端,從而達(dá)到方便乘客出行的目的。另外,本系統(tǒng)也可作為交通查詢網(wǎng)絡(luò)的雛形,可以想象,如果進(jìn)一步開發(fā),可能形成一個(gè)巨大的交通信息網(wǎng)絡(luò),這對(duì)于智能化交通以及提高公交管理水平都具有重要意義。

        1 系統(tǒng)總體設(shè)計(jì)

        1.1 系統(tǒng)主要功能模塊

        本公交查詢系統(tǒng)主體分為3個(gè)部分:模擬服務(wù)器、手機(jī)客戶端、車輛終端。圖1是系統(tǒng)總體結(jié)構(gòu)圖。圖中,系統(tǒng)模擬服務(wù)器是指一個(gè)運(yùn)行在電腦上的一個(gè)Java應(yīng)用程序,該應(yīng)用后面維護(hù)著一個(gè)數(shù)據(jù)庫,用來儲(chǔ)存公交運(yùn)行中的各種數(shù)據(jù);手機(jī)客戶端和模擬車輛終端都是運(yùn)行在Android手機(jī)上的應(yīng)用程序。

        圖1 系統(tǒng)總體結(jié)構(gòu)圖

        1.2 系統(tǒng)功能描述

        系統(tǒng)各部分功能描述如下:

        模擬服務(wù)器功能:(1)增加和刪除公交路線和行車線路;(2)接收并發(fā)布用戶選定的線路上公交車傳來的站點(diǎn)擁堵信息;(3)為用戶發(fā)布選定線路上下一輛到達(dá)的公交車所處站點(diǎn)。

        手機(jī)客戶端功能:(1)調(diào)用百度地圖按公交路線 (如“11”)查詢行車線路;(2)查詢下一輛到達(dá)的公交車所處站點(diǎn);(3)從服務(wù)器上獲取在選定線路上的公交傳回的道路擁堵信息。

        模擬車輛終端功能:(1)向服務(wù)器發(fā)送自身的運(yùn)行方向及所處的位置;(2)實(shí)時(shí)地向服務(wù)器發(fā)送該車所在運(yùn)行區(qū)間的擁堵狀況。

        系統(tǒng)總體功能基本是系統(tǒng)各部分功能的總和,是將系統(tǒng)各部分有機(jī)的結(jié)合在一起作為一個(gè)整體運(yùn)行。系統(tǒng)的主要運(yùn)行方式是:通過手機(jī)客戶端和模擬車輛終端向模擬服務(wù)器發(fā)出的請(qǐng)求來驅(qū)動(dòng)模擬服務(wù)器更新數(shù)據(jù)庫以及反饋信息到客戶端。

        2 模擬服務(wù)器的設(shè)計(jì)

        模擬服務(wù)器是整個(gè)系統(tǒng)的核心,系統(tǒng)的其它模塊都要通過模擬服務(wù)器與別的部分產(chǎn)生聯(lián)系。模擬服務(wù)器后臺(tái)維護(hù)著一個(gè)子線程,該線程不斷地接受來自手機(jī)客戶端和模擬車輛終端傳來的消息,并對(duì)數(shù)據(jù)庫進(jìn)行相應(yīng)的更新或給手機(jī)客戶端和模擬車輛終端反饋相應(yīng)的信息。

        2.1 模擬服務(wù)器結(jié)構(gòu)組成

        系統(tǒng)主界面是模擬服務(wù)器的中心界面,管理員通過登錄界面登錄到系統(tǒng)中就進(jìn)入系統(tǒng)主界面,隨即系統(tǒng)主界面開啟了一個(gè)線程來處理來自模擬車輛終端和手機(jī)客戶端的請(qǐng)求。在主界面中管理員可以選擇完成“添加線路”、“修改線路”或者“刪除線路”來執(zhí)行相應(yīng)的操作,執(zhí)行的效果會(huì)實(shí)時(shí)更新到數(shù)據(jù)庫里。

        2.2 數(shù)據(jù)庫的設(shè)計(jì)

        模擬服務(wù)器后臺(tái)連接著一個(gè)Access數(shù)據(jù)庫,該數(shù)據(jù)庫命名為bus,用來存儲(chǔ)系統(tǒng)中所要用到的一些數(shù)據(jù)。需要說明的是,Java中有多種訪問數(shù)據(jù)庫的方法,本系統(tǒng)采用的是把JDBC轉(zhuǎn)換成ODBC驅(qū)動(dòng)器的方法,靠ODBC和數(shù)據(jù)庫建立通信連接[4]。

        根據(jù)需求,本系統(tǒng)中建立了五張數(shù)據(jù)表來存儲(chǔ)數(shù)據(jù),他們分別是:busLine、busLocation、stationLocation、station-StateGo和stationStateBack。需要說明的是,因?yàn)閷?shí)際中全國公交線路過多,公交站點(diǎn)數(shù)更是難以計(jì)數(shù),如果要全部錄入,勢(shì)必造成工作量過大。因此,本系統(tǒng)在設(shè)計(jì)時(shí)將重點(diǎn)放在各功能的實(shí)現(xiàn)上,只選取了西安市以‘1’開頭的部分線路作為樣本來驗(yàn)證本系統(tǒng)的功能。

        下面分別對(duì)這些數(shù)據(jù)表進(jìn)行詳細(xì)介紹。

        2.2.1 數(shù)據(jù)表busLine的設(shè)計(jì)

        數(shù)據(jù)表busLine的作用是按順序存儲(chǔ)各公交線路上的站點(diǎn)信息,供用戶在已知公交線路的情況下查詢?cè)摋l線路上的站點(diǎn)序列,設(shè)計(jì)為每條線路可以存儲(chǔ)70個(gè)公交站點(diǎn)。busLine中各字段說明如表1。

        表1 數(shù)據(jù)表busLine各字段說明

        需要說明的是,如果公交線路上的的站點(diǎn)數(shù)不足70站,則將不存在的站點(diǎn)名設(shè)為“xx”,表示不存在該站點(diǎn)。查詢數(shù)據(jù)表busLine可以獲取線路上的站點(diǎn)信息。

        2.2.2 數(shù)據(jù)表busLocation的設(shè)計(jì)

        數(shù)據(jù)表busLocation用來存儲(chǔ)每條公交線路上每輛公交車所在的站間區(qū)間以及運(yùn)行方向信息,設(shè)計(jì)為每條公交線路上可以運(yùn)行50輛公交車,其各字段如表2所示。

        表2 數(shù)據(jù)表busLocation各字段說明

        busLocation表,可以得到所查詢線路上所有公交車的位置信息。再結(jié)合每輛公交車的運(yùn)行方向和乘客所在站點(diǎn)信息,就能計(jì)算出下一輛到達(dá)的公交車還有幾站到達(dá)。

        2.2.3 數(shù)據(jù)表busStateBack的設(shè)計(jì)

        數(shù)據(jù)表busStateBack用來存儲(chǔ)每條公交線路返程上每個(gè)站間區(qū)間的交通狀態(tài),其各字段說明如表3所示。

        表3 數(shù)據(jù)表busStateGo各字段說明

        數(shù)據(jù)表busStateBack中的信息是根據(jù)車輛終端發(fā)回的道路狀態(tài)信息進(jìn)行實(shí)時(shí)更新的。每個(gè)站間的交通狀態(tài)有五種可選取值:state、state1、state2、state3和 state4。其中,state為默認(rèn)狀態(tài),當(dāng)未收到來自車輛終端的更新該區(qū)間狀態(tài)的信息時(shí),默認(rèn)為state;state1表示“交通暢通”;state2表示“輕度擁堵”;state3表示“重度擁堵”;state4表示“發(fā)生事故”。

        2.2.4 數(shù)據(jù)表busStateGo的設(shè)計(jì)

        busStateGo表和busStateBack表的結(jié)構(gòu)相同,各字段表示的意義也一樣,只不過是把“返程方向”改成“往程方向”而已,此處不再贅述。

        2.2.5 數(shù)據(jù)表stationLocation的設(shè)計(jì)

        數(shù)據(jù)表stationLocation的作用是存儲(chǔ)站點(diǎn)的百度地圖經(jīng)緯度坐標(biāo),它的各字段說明如表4所示。有了此坐標(biāo)表就能實(shí)現(xiàn)地址解析,將公交站名轉(zhuǎn)化成對(duì)應(yīng)的地理坐標(biāo),進(jìn)而實(shí)現(xiàn)在百度地圖上繪制公交線路的功能[5,6]。數(shù)據(jù)表stationLocation存儲(chǔ)了西安的所有公交站點(diǎn),所以理論上所有公交線路都能解析成一個(gè)地理坐標(biāo)鏈。

        表4 數(shù)據(jù)表stationLocation各字段說明

        2.3 模擬服務(wù)器運(yùn)行流程圖

        2.3.1 系統(tǒng)總體運(yùn)行流程圖

        模擬服務(wù)器的總體運(yùn)行流程圖如圖2所示。

        圖2 模擬服務(wù)器的總體運(yùn)行流程圖

        如圖2所示,系統(tǒng)運(yùn)行后,首先進(jìn)入登錄頁面,提示用戶輸入用戶名和密碼。當(dāng)用戶登錄的時(shí)候,為了增加安全性,使用MD5加密。系統(tǒng)把用戶輸入的密碼計(jì)算成MD5值,然后再去和保存在文件系統(tǒng)中的MD5值進(jìn)行比較,進(jìn)而確定輸入的密碼是否正確。通過這樣的步驟,系統(tǒng)在并不知道用戶密碼的明碼的情況下就可以確定用戶登錄系統(tǒng)的合法性。這不但可以避免用戶的密碼被具有系統(tǒng)管理員權(quán)限的用戶知道,而且還在一定程度上增加了密碼被破解的難度。如果輸入的用戶名和密碼與數(shù)據(jù)庫中儲(chǔ)存的用戶名和密碼相同,則登錄成功,進(jìn)入系統(tǒng)主界面;否則,報(bào)錯(cuò)并提示用戶重新登錄。登錄成功后,系統(tǒng)會(huì)開啟子線程來處理來自手機(jī)客戶端和模擬車輛終端的請(qǐng)求,管理員可以選擇“添加線路”、“刪除線路”以及“修改線路”等功能,分別執(zhí)行不同的操作。

        2.3.2 后臺(tái)子線程運(yùn)行流程圖

        系統(tǒng)后臺(tái)子線程的運(yùn)行流程圖如圖3所示。

        圖3 后臺(tái)子線程運(yùn)行流程圖

        從圖3可以看出,子線程開啟后,系統(tǒng)一直循環(huán)會(huì)檢測(cè)是否接到手機(jī)客戶端或模擬車輛終端發(fā)來的請(qǐng)求,若沒有接到,則繼續(xù)檢測(cè);若接到請(qǐng)求,根據(jù)信息的類型進(jìn)行不同處理。如果是模擬車輛終端上傳的路況信息,就更新數(shù)據(jù)庫中對(duì)應(yīng)線路相應(yīng)區(qū)間的交通狀況信息;如果是手機(jī)客戶端查詢信息,進(jìn)一步判斷要查詢信息的類型,然后在數(shù)據(jù)庫中進(jìn)行查找并返回查詢結(jié)果。

        2.4 數(shù)據(jù)通信格式

        從上面的系統(tǒng)總體結(jié)構(gòu)圖可以看出,模擬服務(wù)器是整個(gè)公交管理系統(tǒng)的核心,是將這個(gè)系統(tǒng)聯(lián)系在一起的中心節(jié)點(diǎn)。手機(jī)客戶端,模擬車輛終端都必須先與模擬服務(wù)器接線聯(lián)系才能實(shí)現(xiàn)與數(shù)據(jù)庫的交互。下面介紹一下,手機(jī)客戶端以及模擬車輛終端和模擬通信的格式,系統(tǒng)中所有通信格式說明見表5。

        表5 通信格式說明

        由表5可以看出:客戶端向模擬服務(wù)器發(fā)出的請(qǐng)求可以分為兩類,一類是查詢類請(qǐng)求,另一類是更新類請(qǐng)求。查詢類請(qǐng)求要求服務(wù)器返回客戶端所要查詢的內(nèi)容,更新類請(qǐng)求只是通知服務(wù)器更新數(shù)據(jù)信息,不需要服務(wù)器返回任何內(nèi)容。實(shí)際上客戶端和服務(wù)器通信的核心還是客戶端與數(shù)據(jù)庫的交互:即客戶端查詢數(shù)據(jù)庫中的信息,并更新數(shù)據(jù)庫中的信息。

        3 模擬車輛終端和手機(jī)客戶端的設(shè)計(jì)與實(shí)現(xiàn)

        本論文中的模擬車輛終端和手機(jī)客戶端均是基于Android平臺(tái)開發(fā)的應(yīng)用程序。其中模擬車輛終端用來模擬運(yùn)行中的公交車輛,在運(yùn)行過程中能向服務(wù)中心發(fā)送當(dāng)前位置信息和所在站間區(qū)間的交通擁堵狀況信息[78]。手機(jī)客戶端是向用戶發(fā)布的公交查詢軟件,通過該軟件用戶不僅可以清晰地看到所查詢線路上的交通狀況,還可以知道最近一輛公交車到達(dá)這里還有幾站路。用戶可以根據(jù)這些信息選擇乘車方案從而優(yōu)化出行,提高公交效率。

        3.1 模擬車輛終端和手機(jī)客戶端組成

        模擬車輛終端包括“登錄界面”、“選擇線路”、“站點(diǎn)選擇”、“狀態(tài)發(fā)布”4個(gè)功能模塊。

        手機(jī)客戶端包括“登錄界面”、 “線路和站點(diǎn)選擇”、“線路狀態(tài)發(fā)布”、“地圖顯示”4個(gè)功能模塊。

        3.2 模擬車輛終端和手機(jī)客戶端運(yùn)行流程圖

        模擬車輛終端和手機(jī)客戶端運(yùn)行流程圖分別如圖4和圖5所示。

        用戶在使用模擬車輛終端向服務(wù)器上傳車輛信息時(shí),先通過“選路選擇”和“選擇站點(diǎn)”選定車輛所在位置,然后選擇車輛運(yùn)行方向和當(dāng)前的交通狀況,點(diǎn)擊“發(fā)布”按鈕即可。

        使用手機(jī)客戶端向服務(wù)器查詢車輛信息時(shí),輸入要查詢公交車的線路、自己當(dāng)前所在站點(diǎn)和目的地點(diǎn)信息,點(diǎn)擊“查詢”。手機(jī)客戶端接收服務(wù)器返回的數(shù)據(jù)后,在“地圖顯示”和“線路狀態(tài)顯示”頁面上顯示查詢的線路以及下輛公交車還有幾站到達(dá),兩個(gè)界面之間可以通過滑屏操作進(jìn)行切換。

        3.3 模擬車輛終端和手機(jī)客戶端運(yùn)行效果圖

        3.3.1 模擬車輛終端運(yùn)行效果圖

        如圖6所示,子圖 (a)為模擬車輛終端“登錄界面”運(yùn)行效果圖;子圖 (b)為模擬車輛終端“線路選擇”功能運(yùn)行效果圖;子圖 (c)為模擬車輛終端“站點(diǎn)選擇”功能運(yùn)行效果圖;子圖 (d)為模擬車輛終端“狀態(tài)發(fā)布”功能運(yùn)行效果圖。

        3.3.2 手機(jī)客戶端運(yùn)行效果圖

        如圖7所示,子圖 (a)為手機(jī)客戶端“登錄界面”運(yùn)行效果圖;子圖 (b)為手機(jī)客戶端“線路和站點(diǎn)選擇”功能運(yùn)行效果圖;子圖 (c)為手機(jī)客戶端“地圖顯示”功能運(yùn)行效果圖;子圖 (d)為手機(jī)客戶端“線路狀態(tài)顯示”功能運(yùn)行效果圖。

        圖6 模擬車輛終端運(yùn)行效果圖

        圖7 手機(jī)客戶端運(yùn)行效果圖

        4 結(jié)語

        未來的交通必將向著智能化和方便人們生活的方向發(fā)展,優(yōu)化的公交管理系統(tǒng)和便攜實(shí)用的交通查詢軟件成為交通水平提高的必然需求[9]。

        交通管理系統(tǒng)也將會(huì)向高度智能化的方向發(fā)展,形成一個(gè)車輛、乘客和服務(wù)中心交互網(wǎng)絡(luò)[10]。屆時(shí)每輛公交車也將參與提供實(shí)時(shí)路況信息,乘客不僅能在客戶端查詢線路,還能獲取到每條線路上更多的動(dòng)態(tài)信息,從而將交通的諸多要素聯(lián)動(dòng)起來,優(yōu)化乘客出行,提高公交效率,具有一定的推廣價(jià)值。

        本文中設(shè)計(jì)的系統(tǒng)可以作為公交車輛、服務(wù)中心、用戶終端交互系統(tǒng)的雛形。如果能進(jìn)一步研究和發(fā)展,結(jié)合現(xiàn)階段先進(jìn)的公交管理技術(shù),必將會(huì)使現(xiàn)在的公交管理水平達(dá)到一個(gè)新的更高的水平[11]。

        猜你喜歡
        數(shù)據(jù)表站點(diǎn)客戶端
        湖北省新冠肺炎疫情數(shù)據(jù)表
        黨員生活(2020年2期)2020-04-17 09:56:30
        基于Web站點(diǎn)的SQL注入分析與防范
        電子制作(2019年14期)2019-08-20 05:43:42
        2017~2018年冬季西北地區(qū)某站點(diǎn)流感流行特征分析
        基于列控工程數(shù)據(jù)表建立線路拓?fù)潢P(guān)系的研究
        縣級(jí)臺(tái)在突發(fā)事件報(bào)道中如何應(yīng)用手機(jī)客戶端
        孵化垂直頻道:新聞客戶端新策略
        基于Vanconnect的智能家居瘦客戶端的設(shè)計(jì)與實(shí)現(xiàn)
        首屆歐洲自行車共享站點(diǎn)協(xié)商會(huì)召開
        中國自行車(2017年1期)2017-04-16 02:53:52
        怕被人認(rèn)出
        圖表
        亚洲天堂无码AV一二三四区 | 人人澡人人妻人人爽人人蜜桃麻豆| 在教室伦流澡到高潮hgl动漫 | 亚洲乱码av乱码国产精品| 无码中文字幕日韩专区| 中文字幕一区二区三区乱码| 欧美成人www免费全部网站| 免费国产在线精品三区| 国产午夜精品视频在线观看| 丰满少妇高潮惨叫久久久| 国产精品第一国产精品| 国产av成人精品播放| 亚洲双色视频在线观看| av免费一区二区久久| av无码国产精品色午夜| 国产精品免费看久久久8| 国产精品偷伦免费观看的| 国产av区亚洲av毛片| 国产影片一区二区三区| 蜜臀性色av免费| 国产又黄又猛又粗又爽的a片动漫 亚洲精品毛片一区二区三区 | 99热久久这里只精品国产www| 久久99中文字幕久久| 亚洲精品久久麻豆蜜桃 | 国产综合色在线精品| 野花社区视频www官网| 九九在线精品视频xxx| 国产激情视频在线观看首页| 免费在线观看视频播放| 大肉大捧一进一出好爽视频| 国产女高清在线看免费观看 | 国产精品一级av一区二区| 久久精品国产亚洲av久按摩| 日本真人做爰免费视频120秒| 色狠狠一区二区三区香蕉| 美女视频永久黄网站免费观看国产 | 国产亚洲女在线线精品| 成人免费播放片高清在线观看| 男女裸体做爰视频高清| 美女av一区二区三区| 亚洲人妻无缓冲av不卡|