BusVis · 把北京的所有公交织成一张图 🚌

2022-02-14 16:01:42 +08:00
 ddiu8081

多年来我一直有一个问题:一条道路上究竟有多少条公交在跑?

于是春节在家的时候花了几天时间做出了这么一个东西:

所有的公交线路织成了一张网,线路网上的每一个线都是可交互的,可以点击查看这条线路的详情。

在左上角可以切换另一个视角:站点网,可以把全城的所有公交站画下来,点击公交站可以查看从这个站点辐射出去的路网。

另外,除北京外我也加入了上海、南京、广州三个城市,欢迎体验👏。

网站地址: https://bus.ljl.li/

Github: https://github.com/ddiu8081/bus-vis

另外还写了一篇创造的过程: 把北京的所有公交织成一张图——带你看看北京的公交网

6334 次点击
所在节点    分享创造
61 条回复
thermalneko
2022-02-15 12:47:17 +08:00
天啊,这个项目好棒
yulgang
2022-02-15 13:49:33 +08:00
如果线路上能显示公交站点会不会更好
yulgang
2022-02-15 13:50:26 +08:00
我的意思是不需要点某条路线就可以显示,这样能看到两条线距离较近的两站
mydingyan
2022-02-15 14:31:05 +08:00
很强 数据源也全
CaptainD
2022-02-15 14:47:16 +08:00
v 站时刻提醒我,我是个废物
x66
2022-02-15 15:08:58 +08:00
太强了,什么时候加上成都
wolfie
2022-02-15 15:43:18 +08:00
有没有兴趣加个功能。

A -> B 、或者 A -> A ,随机推荐几条合并的公交路线。纯粹在公交车上打法时间。
ddiu8081
2022-02-15 16:38:05 +08:00
@yulgang #42 好主意,我试试
@x66 #44 感谢支持,成都已经上线了
@wolfie #45 类似于公交换乘查询,但是是不考虑时间成本的换乘?我也想实现这个,不过估计没有现成的在线服务,得自己想个算法来找😂
theqiang
2022-02-15 16:48:31 +08:00
牛🐮
cpstar
2022-02-16 09:40:02 +08:00
> 感谢转发。车站选择是指搜索某个公交站么?右上角有个搜索框可以按名称搜站

右上角搜索当然是一个交互用例,但是我遇到的情况是这样的:
缩放地图到某条街道(可能是我熟悉的道路或者目的道路),然后选择线路(更多的可能是了解这条道路上都有哪些线路在跑),但是由于线路过多线条重合,于是不能轻松地选择出或者分辨出期望的线路。
所以车站的思路大概就是,在地图上再加上车站点位(当然现在选择线路之后已经出现了车站点位),这样从车站上更清晰地选择线路。或者换句话讲,从地图上,不但能线条选线路,还能车站选线路。
当然这就出现了第二个问题,上行站下行站(以及上行线路下行线路,甚至单行站),是不是进一步细化到这个程度。再进一步,好像我哪里看到您有实时公交的计划,那也许上下行这个问题就势在必做。

或者基于『不忘初心』的思路,不越搞越复杂,简单化,那可能就是在某段路上把所有的线路线条全部重合为一根线,点击了这根线,先出线路列表,然后选择具体线路之后再出现线路线条。

反正这是一个交互 UX 的问题,OP 根据自己思考慢慢来哈。
skys215
2022-02-16 10:03:59 +08:00
@ddiu8081 我想问一下,线路数据是先存好的是吗?所以并不能查看所有城市?需要先把城市的线路下载下来是吧
wqhui
2022-02-16 10:28:31 +08:00
强啊,看完也不懂要怎么做
pkwenda
2022-02-16 10:47:06 +08:00
@ddiu8081 #39 我想看大连和神奇的重庆~
ddiu8081
2022-02-16 10:53:11 +08:00
@cpstar #50
明白了,就是放大后除了能查看线路还能查看公交站,这个也是我想打算做的。
目前左上角可以切到一个单独的公交站视图,不过目前还有 bug ,放大后看不到站的名字。后面准备把两个视图结合一下实现这种效果。
上下行站的区分不太能搞到数据源 可能麻烦些😐,遇见过比较好的实现就是 busrouter.sg 这个站了。
聚合线路也是我一直想做的,不过看起来需要先把所有路径优化一下,绑到路上,类似 busrouter 的这种效果 https://cheeaun.com/blog/images/screenshots/web/rainbow-bus-routes-overlapping-zoom-in.gif
谢谢你的建议,我再研究一下

@skys215 #51 对的,首先服务端要准备好对应城市的数据文件,下载到浏览器才能查看
ddiu8081
2022-02-16 11:00:41 +08:00
@pkwenda #53 好的,去准备数据了~ 1 小时和 2 小时后应该就能分别刷出重庆和大连了
pkwenda
2022-02-16 12:20:39 +08:00
@ddiu8081 #55 哇,大佬太棒了
Jaeden
2022-02-16 13:57:02 +08:00
🐮
cosmicrock
2022-02-16 15:35:35 +08:00
@efaun 这个估计是高德 API 的问题,有些新的线路查不到
Mai1993
2022-02-18 09:57:36 +08:00
试了一下重庆的线路,发现好多线路只有区间线路,没有完整的线路,比如 166 和 236 线路都只有区间。
ddiu8081
2022-02-18 11:42:12 +08:00
@Mai1993 感谢,重庆数据源命名有些特殊导致一些线路没解析到,我修下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/833792

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX