Hacker News new | ask | show | jobs
Show HN: Follow London Trains in 3D (ride.nexttrain.london)
156 points by mgranados 28 days ago
deck.gl based visualiser of the TFL Api + National Rails to be able to track (with minimal drift) a train along the way in London and to the nearest airports. If you pick one from any platform in https://nexttrain.london basically you can share your train journey along the rails. Build to test Cloudflare workers and their infra along with deck.gl performance that is incredible in my opinion.
32 comments

This is frustratingly close to amazing. Obviously you went through all the trouble of pulling all the data from all the trains and displaying them in 3d, but then lock our view on to just one train or one station while all that interesting information zips around in the periphery. The view port needs to be more free form...less on rails.
I'll have a note on this! Thanks a lot! a free form to browse the trains I think is definitely doable whilst keeping it performant
Congratulations, it seems very cool.

It's not the same, but I've tried to create a free browser-based app to track bus lines where I live (Brazil), but I had to pause this project, as each city uses a different way to track their public transportation, and it would be hard to gather all the info in a way to be usable in the whole country.

It's nice to see something similar implemented to track the transportation in another country.

thank you so much! yeah the data comes in many different ways! just here tfl is diff from national rails i've found llms super helpful tho
I'd love to see a view with all/many trains. In London I was constantly wondering what the criss-cross of underground lines looked like.
I saw a project like that here in hn recently for all uk trains even. it'd be pretty cool to extend this to support that, busy stations might be visually confusing, thanks for suggestions
The rendering is a bit weird. It's disorienting to have the trains simultaneously underneath the map and occluding it. It also seems like the z-buffer is not being used correctly when rendering the train cars.
yeah the trains are meant to feel "underground" maybe the effect needs improving
I wonder how much work it would be to actually handle them being underground/overground at appropriate places? e.g. the District Line and/or Picadilly near Hammersmith. Would be cool!
There's also something wrong with the map alignment. I think the tiles are being rendered with the wrong placement - the underlying map doesn't match reality.
Looking at this gave me a renewed (even if brief) sense of appreciation for our society.

Even with all of its problems, for this moment in time our society is operating effectively enough that humans can engineer interesting, beautiful, culturally rich landscapes (cities) in quite a significant size scale.

Cheers to us, in 2026.

Vast majority of those miles were built over 100 year ago.
100% cheers
This is a fun idea and interesting implementation. I know there's only so much an api can give you, but I'd love to see anything that gives more information or visuals of the surroundings.
thanks! you mean more 3d buildings? I'd love to explore that or more labels on things along the way?
I'd assume there's better options, but I've worked a lot with cesium. Even it has some interesting visualizations, textures, even weather you can add with it. Anything that could make it feel more immersive would just be cool in my opinion. That just sounds like fun to me.
This is scary. I literally just had a dream last night wishing I could see the metro trains from above the ground in order to follow where the tunnels are under the buildings and all that. Wow.
Accuracy may vary, but it's great to see dreams come true!
Do I live in London? No. Do I find this fun and therapeutic? Absolutely yes!

One small thing: clicking between trains causes a jarring jump atleast for me. Felt like if I was going to select a few trains in a row, it might start making me feel disoriented. A smoother eased transition might make it feel a lot less whiplash-y.

Like on most other digital maps today, what's direly missing is a scale bar.. cool feat though, thanks for showing!
yeah scales have definitely been modified for theatrical (many landmarks) thank you!
Interesting but quite buggy. Example: mouse dragging seems trapped in a fairly small area.
Ah yeah i tried anchoring to the train with a threshold for panning around i'll try smoothing it. thanks for trying it!
Can you add support for touch?
Very nice, but the map seems to be in the wrong position vs. the trains/3d elements.
It would appear you are missing the High Barnet branch of the Northern line.
Looks like many (all?) branches are missing. Central line doesn't have the Ealing Broadway branch.
And the Reading branch of the Elizabeth line
thanks for feedback i'll have a look!
using Google Pixel 7a with Chrome Android.

while the 3d buildings render properly, the trains' polygons have a flipped z-order: polygons that are supposed to be layered behind are actually in front.

nevertheless, great website!

tysm for the report ill have a look, tried some things to optimise for mobile, I'll check it more
I guess I’m a train guy now
Coworker used to have a specific stream up everyday, apparently he'd seen a car get pummeled by the train. Every now and then something interesting would be on the train. I saw military tanks and gizmos on one stream, was kind of neat.
There's planes by the airports too
I'm curious what the 3D model source is - the Gherkin is kinda weird.
OpenStreetMap - seems to be done with concentric circles, e.g. https://www.openstreetmap.org/way/1365317072 and a dome on top

There is a good wiki page on this: https://wiki.openstreetmap.org/wiki/Simple_3D_Buildings

This is really cool!

Quick suggestion: When not tracking a train, the mouse wheel should zoom into / out from where the cursor is pointing, rather than the center of the window.

thanks! that's a great suggestion will implement
The train paths are drawn on a 2D layer above the buildings, not at z-index that matches the proper 3-D position. So the paths appear to weave around and over the tops of buildings.
I meant to make it feel like the tube ones felt "underground" by some metres i'll have a look thanks
Having just taken the Elisabeth Line to LHR T5 and sitting here, this was fun. Thanks.

Edit: Is there a Repo to look at and learn from this?

<3 thanks!! i'll clean it and share here sometime soon
There seems to be some parallax issues between your trip layer and your 3D Tiles layer, but nice usage of deck.gl.
Is it not that certain train lines are somewhat deep underground? The Piccadilly line swims with respect to the ground in the centre of town, when it is below ground. Further out where lines are at the surface the routes stick to the ground correctly.
thank you! i'll have a look
This is incredibly cool. I had it open on my desktop for most of the day.
Neat! I chose victoria one and it was flying over the buildings!
I knew Victoria was fast but not so much! On a serious note it's meant to have a sense of being underground that maybe it's failing to convey. I'll check the line in more detail thanks.
How do I drive the train? Arrow keys not working :(
It's just following api data for now. That'd be a real cool feature for backlog!
Oooh that's cool! You should do DB next
it would be EVEN cooler if you used cesium and google map tiles api to have realistic looking buildings
the tracks arent grounded to the map, they slide all over, and would it cool if we could use satellite view
A bit buggy in term of tiles jonctions
Appreciate the vibecoded note.
Hat tip.
The planes were a surprise
hehe thanks!
model rough but amazing. i cant do this
Saikoko
Good start
v cool