关于一站式交通出行解决方案项目的策划案
项目背景
前言
目前,大众平时的长途外出方式主要可由铁路、民航两部分构成。对于我们铁路交通爱好者而言,找到一个适合自己的出行方案并不难。但大多数人其实并不关心自己坐了列什么型号的火车,他们往往只需要一个实用性高并且简单的出行方案。而在目前的诸多APP的支持下,单独的直达方案可视为比较完善。但铁路-铁路、铁路-民航、民航-民航之类相互的中转换乘方案仍并不完善。我们期望开发一个一站式交通出行解决方案,为人们的出行提供便利。
现存软件分析
国铁12306网页及客户端:网页端整体界面风格上有待提高;铁路中转换乘算法存在问题,给出的方案并不是最优解;存在铁路-民航换乘组件(上过热搜、知名度还是不高、且给出的方案存在的问题更大)。但是服务器很强大,一度被称为国内最强软件,幕后的开发者确实功不可没。
各种铁路购票的第三方应用:在手机端界面风格上优于12306客户端;给出的中转换乘方案实用性更高。但界面也较为花哨、各种优先抢票套路盛行,也对实际体验有所影响。
航旅纵横客户端:在民航购票方面非常强大;界面风格比较友好;有中航信官方背书,可靠性高。在与铁路中转换乘方面做得一般。
各种由爱好者开发的小程序:界面相对都比较简洁。受个人开发者时间精力因素影响,在后期维护上做得一般,能够留存下来的知名度也确实不高,大多是铁路民航爱好者圈内使用,出圈难度较高。
项目简介
项目 | 信息 |
---|---|
暂用名 | Hayi出行(又名: Hayi-GO) |
开发环境 | Python.tkinter,(未来:PytQt,Electron,Web,Mobile) |
目前开发版本 | Python GUI Ver-8.0 |
Hayi出行(又名:Hayi-GO)是一款一站式交通出行解决方案,能够提供便捷的票务查询及购票出行指南。在目前计划中,项目定位于交通出行方案规划,暂没有关于软件内购票抢票功能的想法。
当前版本(Python GUI Ver-7.2)已包含站点编码信息查询、直达/中转换乘火车票查询、列车时刻表查询等功能,并且已完成铁路购票价格查询的代码层实现。在目前开发版本(Python GUI Ver-8.0)将暂定实现优化项目整体代码风格和选项卡排布重构。
未来版本将计划更新空铁联运换乘查询、城市地铁查询、公交查询及购票预算指南等功能,并且将会进一步开发其他终端版本以及接入相关地图API实现,逐步打造一站式的交通出行解决方案。
相关组件解释(Base Ver-8.0 +)
站点编码信息
在国铁12306网站后台会对每一个车站站点定义一个三字码(也叫电报码,例如北京站对应BJP),获取这个三字码列表是后续相关查询的基础。而在12306后台获取到的站点列表会包含全国以及国际站点的相关代码、所在城市等信息。如图为示例数据。
直达车次查询
在当前版本中,直达车次查询依托抓取12306网页端后台数据实现。
BugFix 现存方案不适用于环线列车的查询。12306后台对于环线列车的处理方式非常奇怪,会将起点终点相同的站点视为不同名称,并在站点编码上进行区分,且这个区分不会体现在上面提到的12306后台获取到的站点列表。
中转换乘查询
在当前版本中,已实现由用户输入出发地、到达地、出发时间、[指定换乘站、有座显示(可选)],程序给出相关换乘方案。
**即将进行较大版本更新 ** 改进方向:提高换乘查询的准确性和实用性,可能会自研一个更好的换乘计算算法。
车次综合动态查询
Ver-8.0 版本中的新增组件 为了整合此前版本中特定车次时刻表、票务与价格信息这几个零散的功能组件,实现目标是用户输入一个车次信息以及时间信息,程序自动给出相关的时刻表以及当日的价格信息。
程序设置界面
**设想新增组件 ** 因为当前程序获取相关查询数据的方式直接来自于12306后台,会因12306官方对网页后台的相关修改而导致功能不可用。与此同时,随着程序内容体量的增大,原有的设置界面无法满足需求
后续开发计划
- 在一个不太长的时间段内完成 Python GUI Ver-8.0 版本的开发。在这一版本中将会对程序组件界面进行较大改动更新。
- 继续完成对民航出行方案的查询,开发相关独立组件,例如民航直达航班查询、民航-民航中转方案查询等。
- 在完成铁路、民航这两个组件的独立开发后,研究整合查询方案的具体实现。
- 远期大饼 根据自己的算法能力,尝试重构铁路换乘方面的优化。
- 超远期大饼 自学Electron开发以及相关跨平台开发学习,尝试开发安卓平台应用。
- 有生之年系列 项目推广、应用投放。