李亚云
摘 要:为了能够及时、准确地了解并获取轨道交通相关的专题信息,本文利用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.