Arduino Train: How to Program "Stop Locations?"

I'm also thinking about hall sensors in the track (magnets and coils in the engine) and LDR's placed in the track (the engine puts the LDR into shade as it passes over - should be able to be seen with ADC and would also work when the train s moving in reverse!

Mark