鄧 河
(長(zhǎng)沙民政職業(yè)技術(shù)學(xué)院 軟件學(xué)院,湖南 長(zhǎng)沙 410004)
公共自行車出行搜索系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
鄧 河
(長(zhǎng)沙民政職業(yè)技術(shù)學(xué)院 軟件學(xué)院,湖南 長(zhǎng)沙 410004)
通過(guò)分析綠色出行最主要的方式——公共自行車出行的特點(diǎn)和需求,提出建設(shè)基于移動(dòng)平臺(tái)上的公共自行車出行信息搜索系統(tǒng),介紹了系統(tǒng)建設(shè)的基本思路和框架并對(duì)系統(tǒng)關(guān)鍵的實(shí)現(xiàn)進(jìn)行了詳細(xì)闡述。
公共自行車出行;綠色出行;Android;百度地圖
從國(guó)家“十二五”規(guī)劃到我國(guó)政府“節(jié)能減排”承諾,“綠色”理念正逐漸擴(kuò)展到各級(jí)政府、各行各業(yè)[1]。隨著國(guó)家和社會(huì)倡導(dǎo)的“綠色出行”觀念深入人心,越來(lái)越多的城市都逐步建立了公共自行車租賃服務(wù)。隨著公共自行車的出行方式越來(lái)越受到人們的青睞,為了提高公共自行車的使用效率,減少有些人惡意占用公共資源的習(xí)慣,絕大部分城市暫定為每天累計(jì)使用1小時(shí)免費(fèi)。所以對(duì)于出行的人們來(lái)說(shuō),如何有效地找到有車(或有車位)的公共自行車投放點(diǎn)就成了關(guān)注的問(wèn)題。為此,我們提出了基于移動(dòng)平臺(tái)的公共自行車出行搜索服務(wù)系統(tǒng)。
隨著智能手機(jī)的普及,基于移動(dòng)平臺(tái)的公共自行車出行搜索服務(wù)系統(tǒng),能不受地點(diǎn)和各種條件的制約,為群眾提供最為便利的服務(wù)。系統(tǒng)整體設(shè)計(jì)框架如圖1所示。
圖1 系統(tǒng)設(shè)計(jì)框架圖
系統(tǒng)數(shù)據(jù)層包括公共自行車租貸系統(tǒng)數(shù)據(jù)庫(kù)和搜索系統(tǒng)數(shù)據(jù)庫(kù)。實(shí)時(shí)的租車信息通過(guò)公共自行車租貸系統(tǒng)數(shù)據(jù)庫(kù)中導(dǎo)出,搜索系統(tǒng)數(shù)據(jù)庫(kù)為本系統(tǒng)的數(shù)據(jù)庫(kù)系統(tǒng),主要存儲(chǔ)公共自行車的點(diǎn)位信息。服務(wù)層提供地圖位置服務(wù)以及數(shù)據(jù)查詢服務(wù)。應(yīng)用層是基于WEB的自行車點(diǎn)位信息管理系統(tǒng)和Android移動(dòng)端的自行車點(diǎn)搜索系統(tǒng)?;赪EB的自行車點(diǎn)位信息管理系統(tǒng)[2]面向管理人員,主要完成與現(xiàn)有公共自行車租賃系統(tǒng)的數(shù)據(jù)交換和對(duì)現(xiàn)有公共自行車投放點(diǎn)信息進(jìn)行維護(hù)。
公共自行車租賃公司一般都有一套內(nèi)部系統(tǒng)控制自行車的借出和歸還以及各投放點(diǎn)的自行車數(shù)據(jù)等信息。而我們系統(tǒng)需要即時(shí)地取到這些數(shù)據(jù),并把數(shù)據(jù)反應(yīng)到用戶的移動(dòng)端??梢圆捎脭U(kuò)展系統(tǒng)的對(duì)外數(shù)據(jù)查詢接口(Web Service方式)來(lái)實(shí)現(xiàn)。
WEB管理端最主要的功能就是對(duì)自行車點(diǎn)位信息進(jìn)行管理。管理人員通過(guò)在地圖上精確定位自行車投放點(diǎn),對(duì)自行車點(diǎn)數(shù)據(jù)進(jìn)行增加、更新和刪除操作。自行車點(diǎn)信息管理基于WEB系統(tǒng),采用百度地圖API引擎——Java Script API開發(fā)。
1、創(chuàng)建Map實(shí)例
var map=new BMap.Map("allmap");//創(chuàng)建Map實(shí)例
var point=new BMap.Point(116.404,39.915);//創(chuàng)建點(diǎn)坐標(biāo)
map.centerAndZoom(point,15);//初始化地圖,設(shè)置中心點(diǎn)坐標(biāo)和地圖級(jí)別。
2、設(shè)置右鍵菜單選項(xiàng)——添加自行車點(diǎn)
{//得到地圖上點(diǎn)的地址信息
3、利用Ajax實(shí)現(xiàn)異步數(shù)據(jù)更新
基于Android端的搜索系統(tǒng)主要借助于百度地圖對(duì)城市的公共自行車投放點(diǎn)進(jìn)行搜索與定位,查看指定附近區(qū)域的自行車點(diǎn)的位置、距離以及車位信息(有多少自行車可借?有多少自行車位可停車?)。下面來(lái)詳細(xì)地介紹一下搜索的實(shí)現(xiàn)。
1、公共自行車投放點(diǎn)信息搜索
系統(tǒng)中通過(guò)實(shí)現(xiàn)最近搜索、區(qū)域搜索、地名搜索三種方式讓用戶搜索公共自行車投放點(diǎn)信息。最近搜索是以用戶當(dāng)前定好的地理位置(默認(rèn)以用戶所在位置)出發(fā)、查找一定數(shù)量的自行車點(diǎn)信息的搜索方式。區(qū)域搜索根據(jù)用戶輸入搜索半徑,按照半徑大小搜索以自己為圓心范圍內(nèi)的所有自行車點(diǎn)信息。地名搜索是以用戶熟知的地址名稱搜索附近區(qū)域內(nèi)的自行點(diǎn)方式。
因?yàn)榭紤]到百度地圖上的實(shí)際距離測(cè)量較慢,三種搜索方式都是以直線距離為參考。先找出范圍內(nèi)的點(diǎn),再將范圍內(nèi)的點(diǎn)進(jìn)行實(shí)際距離測(cè)量,最后給出最佳路線建議。
下面給出異步計(jì)算行走路線的核心代碼
//得到行走路線后的回調(diào)函數(shù)
2、路線規(guī)劃
路線規(guī)劃是讓用戶輸入起點(diǎn)和終點(diǎn)(可以輸入中文地址也可以直接在地圖上描點(diǎn))、系統(tǒng)自動(dòng)搜尋出一條行走路線的方式,它實(shí)現(xiàn)了從起點(diǎn)借車到目點(diǎn)地還車的整個(gè)過(guò)程,系統(tǒng)提供兩種方式的路線規(guī)劃——行走路線最短,總距離最短。
核心代碼如下:
地理編碼
//地圖移動(dòng)到該點(diǎn)
//地理編碼:通過(guò)地址檢索坐標(biāo)點(diǎn)
//反地理編碼:通過(guò)坐標(biāo)點(diǎn)檢索詳細(xì)地址及周邊
顯示不同方式的規(guī)劃路線
首先將兩條不同規(guī)劃方式的路線計(jì)算出來(lái),定義存放不同方式的路徑規(guī)劃層數(shù)組。
然后計(jì)算兩種方式的路徑規(guī)劃層,核心代碼如下:
最后根據(jù)用戶的選擇顯示不同的規(guī)劃路線。
3、更新數(shù)據(jù)
自行車點(diǎn)基本數(shù)據(jù)離線保存在用戶手機(jī)中的SQ Lite數(shù)據(jù)庫(kù)中,更新數(shù)據(jù)功能就是實(shí)現(xiàn)本地?cái)?shù)據(jù)與服務(wù)端數(shù)據(jù)進(jìn)行同步。如果有新版本的數(shù)據(jù),系統(tǒng)會(huì)自動(dòng)提示用戶進(jìn)行更新數(shù)據(jù)。為了提高數(shù)據(jù)的更新效率,可以將批量數(shù)據(jù)的插入作為一個(gè)事務(wù)處理。
本文研究并實(shí)現(xiàn)了基于地圖及移動(dòng)Android平臺(tái)的公共自行車出行搜索系統(tǒng)的核心功能[3],分析了系統(tǒng)建設(shè)的基本框架,為后來(lái)的同類系統(tǒng)的開發(fā)者拋磚引玉。在接下來(lái)的研究中,將研究公共自行車點(diǎn)位的車輛調(diào)度的算法問(wèn)題,為公共自行車的調(diào)度者提供參考。
[1] 《中華人民共和國(guó)國(guó)民經(jīng)濟(jì)和社會(huì)發(fā)展第十二個(gè)五年(2011—2015年)規(guī)劃綱要》[Z].2011.
[2] 白云龍.基于云端的公共自行車管理系統(tǒng)的研究[J].電腦知識(shí)與技術(shù),2016,(24).
[3] 薛彬.城市公共自行車系統(tǒng)規(guī)劃研究[J].現(xiàn)代交際,2016,(5).
TP31
A
1671-5136(2016)04-0132-03
2016-10-31
鄧河(1978-),男,長(zhǎng)沙民政職業(yè)技術(shù)學(xué)院軟件學(xué)院講師、碩士研究生。研究方向:智能計(jì)算、數(shù)據(jù)挖掘、網(wǎng)絡(luò)流量分類。
長(zhǎng)沙民政職業(yè)技術(shù)學(xué)院學(xué)報(bào)2016年4期