To create a new map you need have a detailed description of lines, branches, stations of your city, in format like this - http://metro.nanika.net/MetroC-en.html
Then you could create transport maps. Most of work can be made by editing text files.
We will talk about map in PMZ format. This map format is a zip archive with at least 3 file inside:
All files inside PMZ map are simple text files with structure like windows INI files.
; This file contains general data about map:
; internal city ID, text, must be unique for all cities:
; city name in english:
; city name in russian:
; country name in english
; leave current value here:
; next lines contains multiline map description
MapAuthors=Here you can
MapAuthors=type text which will be displayed in Description section of map details
; line delay timing names, this is optional field.
; This is a main map with transport scheme
; transport type in russian (available values: ):
; Метро: Metro
; Трамвай: Tram
; Автобус: Bus
; Электричка: Train
; Речной Трамвай: Ferry
; Троллейбус: Trolleybus
; Фуникулер: Funicular
;Every transport line must be described in distinct section like [LineXXX] where XXX - line number
; unique line name
; optional, line name alias, visible for user
; internal station names (must be unique!) on line direction.
; by default station connected with previous and next stations with both directional stages.
; if you need change stages for single station need to write like this:
; Station1(NextStation1, PreviousStaion1, NextStation2, PreviousStaion2,...).
; names with commas need close in quotes
Stations=Station1, Station2, .....
; optional, change displayed station names with aliases
; travel times between stations, like station names.
; if you change statation stages - you need write delays in some manner.
; format: X[.YY], X - minutes, YY - seconds.
; use empty or zero for under construction stages.
; under construction stations is a stations with only under construction stages.
; delays for corresponding DelayNames in .cty file, it's average time to wait train on station at particular time of day
; this is a list of transfers between stations.
; format: UniqueName=Line1,Station1, Line2, Station2, time12 [, time21] [,invisible]
; Example: Komsomolskaya_to_ParkKultury=Sololnicheskaya,Komsomolskaya, Koltcevaya,ParkKultury, 5
; time12 - time to walk from station1 to station2
; time21 - time to walk from station2 to station1, equal to time12 if not described
; invisible - do not display on map
Metro.map - this is map view, with colors, station positions, etc. It can be created in editor.