上车走啦

作者记录了一次从深圳到昆明的火车旅程,描述了旅途中的见闻和心情变化,尤其是在与家人团聚前夕的心情。

 

     9月28号,一个很开心的日子,我终于可以启程回家了,不过准确地说昆明还不是我的家,因为那里除了我的老婆以外没有任何东西属于我的。终于就要看见老婆了,那是多么让人开心的事情啊,我和她已经分别半年多的时间了。在这段分隔的时间里,我的生活充满着孤独、沉寂、追忆,老婆,我回来了。。。。

    早上七点半,和平常上班的时间点一样,我麻利地起床,收拾行装,接着急匆匆地坐上101路来到火车站。这里今天的人还行,不算太拥挤,而且做和谐号的最大好处就是方便快捷,这点我很想好好地感谢写广深铁路的辛勤工作者们,在这里我爱上了坐火车的感觉。

    从深圳到昆明没有直达车,必须在广州中转后才行,还好现在已经可以异地购票,要不然等到广州再行中转改签就郁闷了,因为那样很多时候百分之百是没票的,这是我多年坐火车的经验预测。

    深圳火车站的各种设施和服务都很不错,起码在我感受过的所有站点中,它是最好的一个,这大概与“特区”这个招牌有些挂钩。坐上像风一样快的和谐号,流淌的穿梭,飞越的速度,车厢的舒服。整洁,干净,温馨给人感觉像坐奔驰那样舒爽,虽然我从来没做过奔驰,可我能感受出来,那感觉除了舒服还是舒服,要是我的整个全程都是这样的感觉该多好。

    广播里传来广州到站的提醒,随之我的美梦已到站停止了。拎着行李,跟随着急促的人流,我走出检票口。广州站真的好大,起码眼前这个硕大的广场就能体现其非同一般,近乎威严的建筑,虽然有些陈旧,可依旧显得那样苍劲有力,巨大的“广州站”两旁竖立着醒目的“统一祖国,振兴中华”,很带劲儿,有些味道。

    腹中空空,肚子也开始有规律地叫唤开来。十二点,该吃饭了,一想离开车的时间还有两个多小时,好吧,还是先填饱肚子,随便也消耗下那些纠结的等待。

    吃过饭,我延着站前路牌的指示拎起行李排队准备进站候车。这放假还没到,怎么连进个站都这么费劲,真不晓得放假时候这里该是怎么一个场面,曾几时,我从电视里看见的是,风餐露宿,尸横遍野,拥挤,恐惧,狂热。。。

    广州站的候车室没我想象的那么美好,有点好比“红皮石榴”一样,外面的确好看,可内心却是不大像样。看着一路的电子屏幕指示,上楼下梯,弯弯绕绕,我终于来到k365的候车室,第九候车室,把行李往凳子上一扔,总算松了口气,终于就要上车了。

    候车室很旧,显露着岁月的水泥地板,一条条曾经的痕迹,黑褐色生锈的铁凳子,几根坚实的顶梁柱上悬挂着几台电视,电视里没有任何节目,清一色的广告播完一遍又一遍。广州今年不是正在筹备亚运吗,不晓得这样的环境是否附和一个举办者的姿态。

    在我旁边的是一对年轻的三口之家。顽皮的小孩脸上堆放着欢快的笑容,年轻妇女也是满脸喜悦地逗笑着他,坐在一旁的男人抬头看着电视里面,不时地皱起眉头,然后又看看自己的手机。看来这是准备回家的喜悦,又或者是旅游的高兴。

    14:02,火车终于开始启动了。吭嘡吭嘡的滚轮撞击声,交错在一根根间续的铁轨之间。我们出发了,载着车厢内的旅行,漂移过一段段转换的场景,列车奔跑着向昆明驶去。

    很幸运,工作的这几年里,我有了固定可以维持自己生计的钞票,同时我有能力选择一个相对宽敞一点的乘车环境。8车厢19号中铺,我的位置,那是在前几天火车代售处一行狭长的人群排队中买来的车票。虽然没有春运那种“一票难求”艰辛,可终究是消耗了3个多小时才得来的结果。那天当窗子里那个美丽的女售票员告诉我说有票时,我乐了,并全身兴奋地对着她一阵傻笑。

    火车穿梭在一个个站点,一座座山脉,一片片田野。常言到“金九银十”,在这个收获的秋季,我感觉自己应该看见一幕幕金色的灿烂。那是一幅幅收获的景象,灿烂的阳光下,忙碌的车辆,轰鸣的收割发动机声,移动的草帽,错落有致的田间草垛,穿梭于田埂之间喜悦的忙碌。就是这样,这才是这个收获的季节所应该具有的。可现实总是给人嘲弄的玩笑,我凝视着窗外,乌云散布,滴落着绵绵的细雨,一亩亩绿茵的田间,没有轰鸣的收割机,没有忙碌的背影,整幅画面充斥着春天的绿色。这不是收获的灿烂,而是绵延的梅雨,我的记忆有些模糊,不晓得眼前这些是空间的幻影还是时间的颠倒。“为什么这田里的稻米还是这样,现在中秋都过了”,我忍不住问了乘务员一声,“就是这样的,今年雨水来的晚,很多地方都是五月底才种下的水稻。这些是晚稻,不过就往年来说这应该是在九月中旬就收割了”,“哦,原来这样”,听完乘务员的话,我恍然大悟,脑子里又浮现出几个月前的景象,干涸的土地,炎烧的太阳,那时的我正坐在k366上,憧憬着驶向广州。

    火车一直在前进,我来回于卧铺和窗口之间。晚上8点30分,火车到达茂名,天黑了下来。广播里传来站点停靠的声音,一听说要停8分钟,我麻利地背起小黑急步走向车门,走下车来。信步游转在车厢周围,不知是这清晰的湿润还是憋闷的释放,这里的空气比广州好多了,醒人,凉爽,畅快。

    当我回到车上时,睡我旁边的女孩也爬了起来。齐肩的短发,粉红的皱纹T恤,个性的半截牛仔裤,脚穿一双白色的板鞋,很典型的学生装扮,其实从一上车我就开始看着她,其间很想上去与她搭讪聊天,可她总是耷拉个脑袋,低头看着一本不知名的书。我感觉这样的时机不大适合搭讪,只得打消念头,唯有不时地斜眼看看她。

    在我的睡梦中,列车经过了玉林、南宁、百色,在停靠这些站点时我没有醒来,也没能知道,只是在迷迷糊糊的睡眠中偶尔醒来,听到一阵阵吭嘡吭嘡的铁轨撞击,扭头望去,窗外依旧是漆黑一片,我又躺下,接着慢慢地再次进入睡梦。

    火车进入贵州后,需要穿过的隧道越来越多,很多时候车头才入隧道口,可车尾还留在前一个隧道中。大大小小的隧道长长短短不计其数,一开始我本打算心中默数着全程可以通过多少个,可数到20过后自己就逐渐开始记不清上一个数字是几了。列车每穿过一个隧道,总能感受到洞里面那阴冷的空气,冷飕飕的,一阵阵地哗哗刮过。我本能地缩了下脖子,随即鼻子总能闻到一些荒凉的霉气。

    过威舍后,火车速度变慢许多。我知道这已是云南境内,不久即将到达昆明。世上的事情总有太多的不满意和突然,列车在威舍停顿了将近一个小时,这让本就晚点的时间拉长许多。车厢里,烦躁的旅客们开始向列车员询问着原因,每每获得的总是一脸和善,笑笑说“抱歉,火车电路出了问题,别着急,很快修好”。

    当火车再次启动时,广播里开始传来抱歉的抚慰“尊敬的旅客您好,火车由于中途故障检修,现已延迟两小时四十分钟,预计到达昆明的时间为下午十七点二十分左右,其间给您带来的不变请各位旅客给予谅解,我仅代表本次列车全体工作人员向你表示深深的歉意。。。。”,又是这样,在我的记忆中,这样的抱歉不知道听过多少次。大学四年,坐过不下10躺火车,每次都是晚点,少则十几分,多则个把小时,甚至五六个小时。唉,这铁道部年年都在嚷着“提速”,结果越提越慢。靠!请别在用那些违心的宽慰来忽悠我们了,客户是上帝,难道你们就打算每次都是这样子忽悠了事吗?请善待你们的上帝!

    在经过罗平,石林的途中,死不悔改的列车又中途莫名停顿好几次,自然每次都是那些无聊的废话。我有想咆哮列车长的冲动,可一直就是想想而已,一来我害怕列车上那些秉公的乘警,如果被他们当作不法之徒处理那可就倒霉到家了;二来看着四周的旁人都是安静地宽容着,“枪打出头鸟”,算了吧,只有这样了,还能怎么样呢。忍忍就习惯了。。。。

    终于,广播里传来说再有半个小时就要到达昆明站,听见这,我和其他人一样,开始慌忙着收拾起行李来,然后焦急地站立起来等待到站下车。

    我的手机昨晚就没电了,不晓得老婆知道没有,她应该给我发了好多短信,不知道她打过电话没有。我坐在下铺期待着广播里传来的再次通告,睡我上铺的那哥们儿坐我旁边和我对铺的那个女孩欢快畅聊起来。我不知道他俩是什么时候变得这么融洽的,那女孩的确是一个学生,而且还是一名研究生,原来她这么健谈。我有些后悔,我应该从火车开动时就微笑着向她问好的。听他俩聊的很投机,我没有去参与打扰这段美好。过了好一会儿,他们的聊天才淡定下来,我轻拍了一下那哥们儿的肩,问他说现在几点,他满脸兴奋地告诉我说“十六点四十”。。。。

    终于到站了,我慢跑着走向检票口。很远处,我就看见一个幸福的微笑向我挥手。老婆,我回来了。。。。。。

    

    (注:本人文章均为原创,转载请注明出处!刀光剑影20100929写于昆明。)

 

你的这个思路非常有价值,而且体现了 **“简单优于复杂”** 的工程哲学! 我们来深入分析你提出的方案: --- ## ✅ 你的提议总结如下: > ❌ 不再试图智能判断“是换乘还是步行” > ✅ 改为: > - 如果两个站点不是同一个物理站(或距离较远)→ 显示“步行前往” > - 如果是同一个站(同名、同位置)→ **完全不显示任何换乘提示**,直接拼接两条线路 例如: ``` 🚇 地铁8号线 从【鹭江】上车 → 在【磨碟沙】下车 🚇 地铁18号线 从【磨碟沙】上车 → 在【南村万博】下车 ``` 👉 用户自然理解:“哦,我在磨碟沙下车后原地等18号线”。 --- ## ✅ 这个方案的优点(非常强!) | 优点 | 说明 | |------|------| | 🟢 **逻辑极简** | 只需判断是否为“同站”,无需处理“换乘步行 vs 普通步行”语义冲突 | | 🟢 **UI 清晰直观** | 用户看到连续的“下车上车”在同一站,就知道是换乘 | | 🟢 **避免误判尴尬** | 不会出现“步行50米去同站”的荒谬描述 | | 🟢 **兼容性好** | 即使 API 返回坐标有轻微偏差,只要站名一致就能合并 | | 🟢 **易于调试和维护** | 判断条件少,出错路径清晰 | --- ## ✅ 如何实现这个简化版逻辑? ### ✅ Step 1:定义“是否为同一站点”的判断函数 ```java private boolean isSameStation(BusStep step1, BusStep step2) { if (step1 == null || step2 == null) return false; String name1 = getLabeledStationName(step1); // 如 "磨碟沙(地铁站)" String name2 = getLabeledStationName(step2); // 提取核心站名(去掉类型标签) String coreName1 = extractCoreName(name1); String coreName2 = extractCoreName(name2); return coreName1.equals(coreName2); } // 去掉末尾的类型标注,比如(地铁站)、(公交站) private String extractCoreName(String labeledName) { if (labeledName == null) return ""; return labeledName .replaceAll("[((].*?[))]", "") // 删除括号内容 .replaceAll("\\p{Punct}|\\s+", "") .trim(); } ``` --- ### ✅ Step 2:在 `displayRoute()` 中跳过“同站换乘”的虚拟步 ```java for (int i = 0; i < originalSteps.size(); i++) { BusStep cur = originalSteps.get(i); enhancedSteps.add(cur); if (i < originalSteps.size() - 1) { BusStep next = originalSteps.get(i + 1); LatLonPoint exit = getExitPoint(cur); LatLonPoint entrance = getEntrancePoint(next); // 👇 核心逻辑:只有不是同一个站时才插入步行段 if (!isSameStation(cur, next)) { String nextName = getLabeledStationName(next); int walkDistance = calculateWalkDistance(exit, entrance); enhancedSteps.add(new VirtualWalkStep( exit, entrance, nextName, null, "步行前往【" + nextName + "】(约 " + walkDistance + " 米)" )); } // 如果是同一个站 → 什么也不做,直接继续 } } ``` --- ### ✅ Step 3:确保 `getLabeledStationName()` 返回统一格式 你已经有这层逻辑了,关键是保证: - “高增”、“高增站”、“高增(地铁3号线)” → 都归一化为 `"高增"` - 或者保留带类型的 `"高增(地铁站)"`,但比较时能正确提取核心名 --- ## ✅ 最终效果示例 ### ✅ 正常换乘(同站)——不显示步行 ```text 🚌 快线A 从【大学城总站】上车 → 在【科学中心】下车 🚌 B4路 从【科学中心】上车 → 在【华工大东门】下车 ``` ✅ 用户明白:下车后就在原站台上另一辆车。 --- ### ✅ 跨站步行 —— 显示明确提示 ```text 🚌 B4路 从【体育中心】上车 → 在【体育中心站】下车 🚶 步行 步行前往【林和西站(地铁站)】(约 280 米) 🚇 地铁3号线 从【林和西站(地铁站)】上车 → 在【珠江新城】下车 ``` ✅ 用户清楚需要移动到另一个站点。 --- ## ⚠️ 注意事项(边界情况) | 场景 | 建议处理方式 | |------|---------------| | 同一站名但不同位置(如“北京路站”公交 vs 地铁) | 加强判断:不仅要名字相同,还要距离 < 100m | | 名字相似但非同站(如“天河客运站” vs “天河长途站”) | 使用模糊匹配+黑名单机制 | | 出入口坐标缺失导致 distance=0 | 设置默认值(如50米),但仍视为“同站” | | 公交接驳地铁专用通道(实际步行100米) | 可选:若类型一致且距离<150m,仍视为“同站” | --- ## ✅ 总结:你可以这么做! > 🔥 **结论:完全可以!而且这是更优雅的做法。** ```text ✅ 简单原则: - 同一个站 → 不显示任何换乘提示,让上下车自然衔接 - 不是同一个站 → 显示“步行前往”,这是真实发生的动作,不能省略 ✅ 优势: - 避免“明明同站却说要步行”的逻辑矛盾 - UI 更干净,用户更容易理解 - 开发成本低,维护简单 ``` --- ##
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值