鄧 河
(長沙民政職業(yè)技術(shù)學(xué)院 軟件學(xué)院,湖南 長沙 410004)
公共自行車出行搜索系統(tǒng)的設(shè)計與實現(xiàn)
鄧 河
(長沙民政職業(yè)技術(shù)學(xué)院 軟件學(xué)院,湖南 長沙 410004)
通過分析綠色出行最主要的方式——公共自行車出行的特點和需求,提出建設(shè)基于移動平臺上的公共自行車出行信息搜索系統(tǒng),介紹了系統(tǒng)建設(shè)的基本思路和框架并對系統(tǒng)關(guān)鍵的實現(xiàn)進行了詳細(xì)闡述。
公共自行車出行;綠色出行;Android;百度地圖
從國家“十二五”規(guī)劃到我國政府“節(jié)能減排”承諾,“綠色”理念正逐漸擴展到各級政府、各行各業(yè)[1]。隨著國家和社會倡導(dǎo)的“綠色出行”觀念深入人心,越來越多的城市都逐步建立了公共自行車租賃服務(wù)。隨著公共自行車的出行方式越來越受到人們的青睞,為了提高公共自行車的使用效率,減少有些人惡意占用公共資源的習(xí)慣,絕大部分城市暫定為每天累計使用1小時免費。所以對于出行的人們來說,如何有效地找到有車(或有車位)的公共自行車投放點就成了關(guān)注的問題。為此,我們提出了基于移動平臺的公共自行車出行搜索服務(wù)系統(tǒng)。
隨著智能手機的普及,基于移動平臺的公共自行車出行搜索服務(wù)系統(tǒng),能不受地點和各種條件的制約,為群眾提供最為便利的服務(wù)。系統(tǒng)整體設(shè)計框架如圖1所示。

圖1 系統(tǒng)設(shè)計框架圖
系統(tǒng)數(shù)據(jù)層包括公共自行車租貸系統(tǒng)數(shù)據(jù)庫和搜索系統(tǒng)數(shù)據(jù)庫。實時的租車信息通過公共自行車租貸系統(tǒng)數(shù)據(jù)庫中導(dǎo)出,搜索系統(tǒng)數(shù)據(jù)庫為本系統(tǒng)的數(shù)據(jù)庫系統(tǒng),主要存儲公共自行車的點位信息。服務(wù)層提供地圖位置服務(wù)以及數(shù)據(jù)查詢服務(wù)。應(yīng)用層是基于WEB的自行車點位信息管理系統(tǒng)和Android移動端的自行車點搜索系統(tǒng)?;赪EB的自行車點位信息管理系統(tǒng)[2]面向管理人員,主要完成與現(xiàn)有公共自行車租賃系統(tǒng)的數(shù)據(jù)交換和對現(xiàn)有公共自行車投放點信息進行維護。
公共自行車租賃公司一般都有一套內(nèi)部系統(tǒng)控制自行車的借出和歸還以及各投放點的自行車數(shù)據(jù)等信息。而我們系統(tǒng)需要即時地取到這些數(shù)據(jù),并把數(shù)據(jù)反應(yīng)到用戶的移動端??梢圆捎脭U展系統(tǒng)的對外數(shù)據(jù)查詢接口(Web Service方式)來實現(xiàn)。
WEB管理端最主要的功能就是對自行車點位信息進行管理。管理人員通過在地圖上精確定位自行車投放點,對自行車點數(shù)據(jù)進行增加、更新和刪除操作。自行車點信息管理基于WEB系統(tǒng),采用百度地圖API引擎——Java Script API開發(fā)。
1、創(chuàng)建Map實例
var map=new BMap.Map("allmap");//創(chuàng)建Map實例
var point=new BMap.Point(116.404,39.915);//創(chuàng)建點坐標(biāo)
map.centerAndZoom(point,15);//初始化地圖,設(shè)置中心點坐標(biāo)和地圖級別。
2、設(shè)置右鍵菜單選項——添加自行車點

{//得到地圖上點的地址信息

3、利用Ajax實現(xiàn)異步數(shù)據(jù)更新

基于Android端的搜索系統(tǒng)主要借助于百度地圖對城市的公共自行車投放點進行搜索與定位,查看指定附近區(qū)域的自行車點的位置、距離以及車位信息(有多少自行車可借?有多少自行車位可停車?)。下面來詳細(xì)地介紹一下搜索的實現(xiàn)。
1、公共自行車投放點信息搜索
系統(tǒng)中通過實現(xiàn)最近搜索、區(qū)域搜索、地名搜索三種方式讓用戶搜索公共自行車投放點信息。最近搜索是以用戶當(dāng)前定好的地理位置(默認(rèn)以用戶所在位置)出發(fā)、查找一定數(shù)量的自行車點信息的搜索方式。區(qū)域搜索根據(jù)用戶輸入搜索半徑,按照半徑大小搜索以自己為圓心范圍內(nèi)的所有自行車點信息。地名搜索是以用戶熟知的地址名稱搜索附近區(qū)域內(nèi)的自行點方式。
因為考慮到百度地圖上的實際距離測量較慢,三種搜索方式都是以直線距離為參考。先找出范圍內(nèi)的點,再將范圍內(nèi)的點進行實際距離測量,最后給出最佳路線建議。
下面給出異步計算行走路線的核心代碼

//得到行走路線后的回調(diào)函數(shù)


2、路線規(guī)劃
路線規(guī)劃是讓用戶輸入起點和終點(可以輸入中文地址也可以直接在地圖上描點)、系統(tǒng)自動搜尋出一條行走路線的方式,它實現(xiàn)了從起點借車到目點地還車的整個過程,系統(tǒng)提供兩種方式的路線規(guī)劃——行走路線最短,總距離最短。
核心代碼如下:
地理編碼
//地圖移動到該點

//地理編碼:通過地址檢索坐標(biāo)點

//反地理編碼:通過坐標(biāo)點檢索詳細(xì)地址及周邊

顯示不同方式的規(guī)劃路線
首先將兩條不同規(guī)劃方式的路線計算出來,定義存放不同方式的路徑規(guī)劃層數(shù)組。

然后計算兩種方式的路徑規(guī)劃層,核心代碼如下:

最后根據(jù)用戶的選擇顯示不同的規(guī)劃路線。
3、更新數(shù)據(jù)
自行車點基本數(shù)據(jù)離線保存在用戶手機中的SQ Lite數(shù)據(jù)庫中,更新數(shù)據(jù)功能就是實現(xiàn)本地數(shù)據(jù)與服務(wù)端數(shù)據(jù)進行同步。如果有新版本的數(shù)據(jù),系統(tǒng)會自動提示用戶進行更新數(shù)據(jù)。為了提高數(shù)據(jù)的更新效率,可以將批量數(shù)據(jù)的插入作為一個事務(wù)處理。
本文研究并實現(xiàn)了基于地圖及移動Android平臺的公共自行車出行搜索系統(tǒng)的核心功能[3],分析了系統(tǒng)建設(shè)的基本框架,為后來的同類系統(tǒng)的開發(fā)者拋磚引玉。在接下來的研究中,將研究公共自行車點位的車輛調(diào)度的算法問題,為公共自行車的調(diào)度者提供參考。
[1] 《中華人民共和國國民經(jīng)濟和社會發(fā)展第十二個五年(2011—2015年)規(guī)劃綱要》[Z].2011.
[2] 白云龍.基于云端的公共自行車管理系統(tǒng)的研究[J].電腦知識與技術(shù),2016,(24).
[3] 薛彬.城市公共自行車系統(tǒng)規(guī)劃研究[J].現(xiàn)代交際,2016,(5).
TP31
A
1671-5136(2016)04-0132-03
2016-10-31
鄧河(1978-),男,長沙民政職業(yè)技術(shù)學(xué)院軟件學(xué)院講師、碩士研究生。研究方向:智能計算、數(shù)據(jù)挖掘、網(wǎng)絡(luò)流量分類。