Ну а почему бы не решить проблему кардинально?
1 способКарты уже давно БОЛЬШОГО размера. Берем, и тупо увеличиваем кол-во "слоев".
Т.е. добавляем новый слой, а еще лучше 2-3, в котором описываем подземную жизнь.
Причем слой показывает для каждой клеточки
-высоту (от уровня моря например)
-тип (ж.д. авто, итп.)
-склон
-станции
-светофоры, итп (не представляю что м.б).
-- вообщем некий "аналог" реальной карты, только без домов и предприятий (хотя почему нет... впрочем, это другая тема)
Ну и спец. клеточки "связи" слоев между собой и с "внешним" миром.
И тогда можно будет такую метру забабахать, что свихнуться.
2 способНе делаем "аналога", а просто добавляем клетке свойство "тип метры" (метро) -- получится как у буржуев. Метро открытого залегания (они реально не копают тоннели, а часто просто роют яму, в ней строят, и закапывают)
3 способ (вероятно сложнее, чем первые два, вместе взятые и помноженные на два)
Объяснить мне что в сырцах и к чему, и заставить сделать вышеописанное самому.