Sistem transportasi kereta api terdiri dari banyak elemen dan elemen-elemen ini saling bergantung satu sama lain. Tanpa sistem yang sesuai, kereta api tidak dapat beroperasi dengan lancar.
Pertama, lingkungan geografis di sepanjang jalur kereta api.
Kedua, apa tujuan sistem ini: penumpang atau barang? Jika penumpang, penting untuk mempertimbangkan apakah penumpang adalah penumpang komuter atau pelancong jarak menengah- hingga-jarak jauh.
Setelah kebutuhannya jelas, jenis kereta api yang akan dibangun harus ditentukan: kereta ringan, kereta berat, atau-kereta berkecepatan tinggi. Ada juga monorel, sistem-jalur karet, dan kereta maglev, karena jalur ini juga menggunakan jalur-kereta berpemandu. Banyak kota besar kini memiliki sistem angkutan kereta api atau trem perkotaan.
Setelah menentukan jenis perkeretaapian, ukuran lintasan harus dipilih dengan cermat.
Mengenai tenaga kereta api, zaman dahulu menggunakan kuda, kemudian uap, dan kemudian listrik, sehingga membutuhkan sistem elektrifikasi. Hal ini menyebabkan perbedaan metode dalam menggerakkan kereta api. Yang paling umum adalah kabel overhead dan catu daya berbasis track-.
Terakhir, jumlah lintasan harus ditentukan berdasarkan volume lalu lintas. Jika volume lalu lintas rendah, hanya dapat dibangun satu jalur, tetapi harus ada area yang melintas agar lebih dari satu kereta api dapat menggunakan jalur tersebut. Jika volume lalu lintas tinggi, jalur ganda atau bahkan beberapa dapat dibuat. Beberapa ruas sibuk bahkan memiliki delapan lintasan yang berjalan paralel, dengan empat lintasan di setiap arahnya.
