@Arctic_Eddie I would say the Yaggi antenna would be the best option in case of a straight line, but when the train is moving, specially when it's performing a turn, the first and the last car will be in totally different angle to each other. Specially if there's a tunnel where the first and last car will be totally blocked by a hill
@Robin2 Totally agree that going for a commercial solution might be the fastest route, and for sure this is a big enough industry which very likely already has options for this problem... but not for $300. I might be wrong but my understanding was that the information to be transmitted from last to the first car is not crucial for the train to run. It sounds like more an informative data which the engineer could have access instead of some data that would automatically help to control the vehicle (please only do that with model trains).
Regarding the experimentation, yes, when building the solution yourself it always would require experimentation. And again having it in small pieces and making sure radio A can talk to radio B over a distances of 20 cars would be enough to tell how much pieces the communication needs to be split into according to the car size... well, make it every 15 cars just to make sure, and it should be quite simple in case it needs to be installed in another train as all the experimentation has been done before.
Regarding the power consumption, you can use a formula like that: (note that I'm using very rough numbers)
Radio in RX mode and MCU waiting for the message: 30mA, 960ms every second
Radio in TX mode and MCU processing something: 100mA, 40ms every second (2 TXs per second spending 20ms per TX)
Calculate Average = (30mA * 960ms + 100mA * 40mA)/1000ms = 32.8mA
Well, you've the average consumption of 32.8mA, which could be significantly reduced using simple power saving techniques. Powering it with a pair of D Alkaline cells, that offers around 12000mA, the Radio+MCU would be able to run for something over 12 days. Much better than just a few hours... also Alkaline cells have well know discharge rates and it's easy to monitor the approximated remaining juice (+-15%?!) by simply reading it's voltage... so the Node can send a message: "hey, I need new batteries soon!"
Anyway, I've used very high numbers just for illustration but, it's very likely that the Radio will be in TX mode only for a few milliseconds, also 30mA in RX mode is more likely to be under 20mA with some little tuning.
Bottom line is that if you're keen to spend some time building the solution and that's not going to be used to automatically drive the trains, sure it's doable.
Cheers