李亞云
摘 要:為了能夠及時、準確地了解并獲取軌道交通相關的專題信息,本文利用B/S架構結合豐富的數據資源以及較為完善的交通換乘算法,設計了一套以軌道交通為主的地理信息查詢系統,該系統包含“地圖服務”“綜合查詢”“周邊查詢”“交通換乘”四大模塊,已成功應用于地鐵客服業務,輔助客服為現場或電話咨詢的乘客提供各類地理信息或者出行方案的查詢服務。
關鍵詞:B/S架構 軌道交通 信息查詢 地圖瀏覽 交通換乘
中圖分類號:TP311 文獻標識碼:A 文章編號:1672-3791(2018)03(c)-0001-02
隨著城市的不斷發展,人口的日益增加,軌道交通線路也在不斷擴增,其中換乘樞紐站的增加,使交通換乘方法更加靈活和多樣化,但同時也因為軌道交通網絡的互聯互通性,使得交通換乘越來越復雜,尤其在一些大型換乘樞紐會因為客流量大、客流流向復雜等因素,使得導乘信息難以理解[1-2],從而給地鐵客服人員帶了較大的工作量。為此,本文從地理信息服務角度設計了一套以軌道交通為主的查詢系統,并將其作為軌道交通客服支持系統的子系統之一。由于使用系統的客服人員涉及到軌道交通多個站點,甚至有可能覆蓋到全部站點,為了簡化系統的部署和維護工作,本文采用B/S架構作為系統的基礎架構,系統通過內部局域網獨立的前置服務器,實現地圖瀏覽、距離測量、地圖打印、綜合搜索、周邊查詢以及起點至終點公共交通換乘方案查詢等功能,輔助客服為現場或電話咨詢的乘客提供各類地理信息或者出行方案的查詢服務。
1 系統架構
B/S(Browser/Server)即瀏覽器/服務器結構,通過Web瀏覽器訪問服務器所提供的數據和服務,整體架構將系統的核心功能集中到服務器上,只在瀏覽器前端實現極少的事務邏輯,以此來簡化系統的開發、維護和使用[3-4]。通過對系統需求和數據流的調研和分析,本文將系統設計為三層架構:數據層、處理層、表示層。其中表示層主要包括二維地圖服務、綜合查詢、周邊查詢以及出行方案查詢等服務,為用戶提供交互式操作的界面。處理層主要包括后臺服務器的操作、管理以及網絡設置等內容,在數據交換中起到了承上啟下的作用。
數據層包括綜合查詢數據庫和公交數據庫,其中綜合查詢數據庫由公開版地圖數據庫和門址數據庫兩個部分組成,包括交通、地名、POI信息和門牌號等要素,主要為表示層中的綜合查詢和周邊查詢服務,詳細的數據庫字段如表1所示。
公交數據庫是由公交列表、公交線段表、公交站點表以及公交換乘表這4張表組成,主要是為交通換乘查詢這一功能服務。各個表之間存在相互關聯的邏輯關系,如圖1所示,其中公交標識BusID和站點標識StopID都是關聯4張表的關鍵字段。
2 功能分析
2.1 地圖服務
系統通過調用ArcGIS for Javascript API接口[5-6],并應用上海市地理信息公共服務平臺(公眾版)中的二維地圖及其相關操作,展現包括基礎地理框架信息(道路、河流、建筑物、綠化、政區)、POI信息,以及地鐵車站外形輪廓、地鐵出入口等信息內容,實現二維地圖的地圖瀏覽(包含地圖的放大、縮小、漫游)、距離量測和地圖打印等功能。
2.2 綜合查詢
綜合查詢支持多種類型查詢,其中包括地址查詢、門址查詢和道路交叉口查詢,系統通過B/S架構以及提供的數據訪問接口,將前臺的查詢請求傳遞到后臺,在綜合查詢數據庫中根據關鍵字搜索到相應的記錄,并以JSON的數據格式返回給前臺,通過數據解析將查詢到的結果以標準的圖標形式一一展示在地圖上,以供用戶查看使用。
2.3 周邊查詢
周邊查詢的內容包括一級大類和二級小類,一級類包括軌交設施、政府機構、教育機構、文體設施、醫療衛生、旅游、賓館、交通設施、汽車服務、公共服務、商業設施、休閑娛樂這12個大類,二級類會從每級大類中繼續細分。以一級類TYPE1、二級類TYPE、中心點坐標(X0,Y0)以及查詢距離作為初始輸入參數,結合綜合查詢數據庫,提取出查詢距離內符合類別條件的所有記錄,并返回給前臺通過點線面的表現形式呈現給用戶。
2.4 出行換乘查詢
絕大多數人在出行時習慣按照一種優先順序來選擇公共交通出行方案,系統主要設計了“軌交優先”“只乘軌交”“只乘公交”這3種方式供用戶選擇。整個公共交通換乘算法的核心思想即按照換乘次數和起止點的位置,根據公交數據庫計算各種滿足條件的換乘方案,然后按照一定的優先條件進行排序,挑選最佳方案返回給前臺顯示。
2.4.1 交通直達
首先根據獲得的起點P和終點Q坐標信息做緩沖區分析,分別得到兩者附近一定范圍內的交通站點P1和Q1,然后搜索公交數據庫得到經過該交通站點的交通線路集合A和B,計算集合A和B的交集即可得到交通直達線路的所有方案,再根據用戶的具體需求按照一定的優先條件進行排序以此獲取最佳直達方案,具體方法如圖2所示。
2.4.2 一次換乘
同交通直達原理,首先計算分別經過起點、終點附近站點的集合A和B,然后在公交換乘表中搜索集合E,使其換乘前公交ID包含在集合A中,換乘后公交ID包含在集合B中。將公交換乘表中的數據作為集合C,并以BusID1(即換乘前公交ID)為統計對象,求出集合A與C的交集D,其次將集合D中以BusID2(即換乘后公交ID)為統計對象,計算其與集合B 的交集E,即可得到一次換乘的所有方案,再按照一定的優先條件進行排序以此獲取最佳的一次換乘方案。
2.4.3 二次換乘
二次換乘的原理是在一次換乘上的拓展,同樣先獲得分別經過起點、終點附近站點的線路集合A和B,然后利用公交換乘表根據字段BusID1搜索可與A中交通線路換乘的集合D,根據字段BusID2搜索可與B中交通線路換乘的集合F,計算D和F的交集即可獲得二次換乘的所有方案,再按照一定的優先條件進行排序以此獲取最佳的二次換乘方案。
3 結語
本文所設計的以軌道交通為主的地理信息查詢系統,完成了數據庫的結構設計、數據提取以及后臺部署,實現了周邊查詢、交通換乘等后臺算法的編寫;并通過B/S架構,利用Javascript+html+css語言完成了地圖瀏覽、距離量算、頁面打印以及各類查詢服務的前臺開發,能夠及時、準確地反映軌道交通相關的專題信息。系統已成功應用于軌道交通客服行業,為輔助客服查詢各類地理信息或者出行方案提供了有力的數據和功能支持。
參考文獻
[1] 智鵬,蔣秋華,于鑫.軌道交通乘客信息查詢系統關鍵技術的實現[J].鐵路計算機應用,2012,21(4):64-66.
[2] 陳春嬌.完善上海軌道交通網絡導乘系統管理的探討[J].城市軌道交通研究,2010(4):42-45.
[3] 李云云.淺析B/S和C/S體系結構[J].科學之友,2011(2): 6-7.
[4] 曾學軍.淺析B/S和C/S結構的開發與應用[J].網絡通訊與安全,2007(8):407-408.
[5] 劉波,李佳.基于WebGIS的城市公交換乘系統設計與實現[J].數學技術與應用,2017(1):166-167.
[6] 曹詩淇.GIS在城市智能公交系統中的應用[J].測繪與空間地理信息,2016(5):125-128.