Every programmer I ever have know who creates a building game and later decides to add in a rail system has done the same exact thing . I am hoping by making you aware of this you can skip a few steps .
So they decide to add in a rail system thing is they make it completely separated from the road system and of course you cant build next to a rail system has to be a road connection .
This system causes all kinds of problems using it .
now eventually they realize its just a pain and change it practically rewriting the system .
In the end ( not including subways ) it becomes just like the real world in which the road system can have a raised rail over it . You know like New York has lots of .
so basically now you place roads and you can place ( UPGRADE ) a road section to have raised rail above it .Thuse the rail can run right along the road with stations every so offton on one side or another which would take up one tile that could be easily surrounded by roads .
Anyway hopefully you understand what i am talking about i will say every better building game i know ends up here and once you add rail you will quickly see for your self but just maybe this will help skip a few steps and a massive rewrite of code .
PS along with knowing a sepret system just is such a pain lol saving us players ages wile you rewrite .
pss a ground rail that connects to a street raised rail so a player can run one from one city to the next on ground wile having raised rails in crowded sections .
I agreed with the Upgrade option, the new transport system should be just new roads with different velocity, or just bus stop.
Or better, just add subway, a new layer under the building layer, just for public transport.
If we are having subways underground, why not like cities skyline or any city building game, add a different map view such as how we see buildings in 50% opacity. This would be the subway view where all other buildings would disappear but buildings meant to be underground would then appear. the subway would show underground and also show on the upperground as a way to move from surface to below surface. then you would just make the proper connections for your rail system. Only downside is, this is meant to not be very visual as you would not see the trains moving by in the normal city view. you would have to go in the underground view.