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

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

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

3、利用Ajax實現異步數據更新

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

//得到行走路線后的回調函數


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

//地理編碼:通過地址檢索坐標點

//反地理編碼:通過坐標點檢索詳細地址及周邊

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

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

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