Show HN:我做了一个网站,帮助你在旅行时找到最能避开阳光的公交座位
一个名为 SitInShade 的业余项目使用地图数据和太阳位置计算,告诉公交乘客在特定行程中车辆哪一侧会更阴凉。评论者赞赏这个想法简单而实用,同时探讨了其技术基础,例如使用 OpenStreetMap 路线、无需外部 API 计算太阳方位,以及如何处理隧道、渡轮和超长多日行程等边缘情况。许多人建议将其扩展到火车、航班、步行和体育场座位,并增加 UX 调整,以及为那些主动偏爱晒太阳的人提供选项。
总体反应
- 许多评论者觉得这个点子很可爱,而且“虽小但有意义”,称赞它是一个执行得很好的业余项目。
- 几位评论者提到,不需要手机应用让人松了一口气;一个能在全球范围内工作的简单网站很受欢迎。
- 有人看到了商业潜力(例如集成到售票网站中),但整体上大家普遍认为这个项目并非商业化项目。
使用场景与需求
- 常见使用场景:空调很差的炎热公交车、会被频闪光线诱发的晕车或偏头痛、对眼睛敏感、皮肤方面的顾虑,以及让婴儿保持舒适。
- 人们也希望有适用于航班、火车、汽车、渡轮、体育场座位、城市步行和徒步的版本(例如与 AllTrails 集成)。
- 少数人表示不理解为什么遮阴重要;其他人则回应说,直射阳光会让睡觉、工作或长途乘坐变得很难受。
技术方案与挑战
- 路线目前依赖 OpenStreetMap;对于航班,有一个位于
dev.sitinshade.com/flight的测试版,需要手动输入飞行时长。 - 作者表示,他在后端(Node.js)计算太阳方位角、太阳高度角等,不使用外部太阳 API,而是结合公交车随时间的朝向变化。
- 评论者提到了已知的太阳位置资源(NOAA 电子表格、pvlib、SunCalc、天文学库),并讨论了精度与“够用”之间的取舍。
局限、错误与数据问题
- 主要局限:路线使用的是道路/汽车导航方向,而不是真实的公交或火车路线;这会出现很大偏差(例如仅供公交通行的桥梁、渡轮、英吉利海峡隧道)。
- 用户认为有些行程结果不对(例如法国路线、西澳大利亚的例子、多伦多—蒙特利尔的侧边选择、JFK—希思罗却给出里斯本路线)。
- 边缘情况包括极高纬度地区(冰岛显示 0% 阳光)、时区混淆以及奇怪的自动补全行为。
- 批评者认为对于“方向感好”的人来说这很简单;但其他人反驳说,道路弯曲、一天中的时间、季节和南北半球都会让直觉不可靠。
功能请求与 UX 反馈
- 请求包括:24 小时时制、按出发地使用本地时区、可添加途经点或自定义路线、火车/铁路支持、体育场和城市步行规划器、阳光侧与阴影侧切换。
- UX 建议:红色的“推荐侧”颜色感觉像“不要选”;座位侧的颜色可以更一致一些。
更广泛的讨论
- 话题进一步扩展到按纬度/季节的太阳运行轨迹、南北半球差异,甚至“posh”的词源。
- 健康讨论分支涵盖玻璃对紫外线的影响、近视与户外光照,以及防晒霜与紫外线暴露的权衡。