About China Railway Online Map


After being a programmer for a few years, I find that my written English is so horrible… So, I can only compose a short summary of my system in this post. 🙂

System Introduction

The main purpose is to present the complicated China railway network in the online map: the high-speed railway built with state-of-the-art technologies, the conventional rails, and numerous stations. We are focusing on the information related to passenger transportation. Therefore some freight rail and stations are omitted from the system.


Border data of China are retrieved from National Geomatics Center of China.

All basemap data (including coastal lines, water and highways) are retrieved from OpenStreetMap. Since my time is limited, I only import geographic data of China and nearby regions. Most of the railway and station data come from OpenStreetMap and Google Map satellite image. My station data cover most of the stations in China, and several important stations in Mongolia, North Korea, Kazakhstan, Russia and Vietnam, since international trains from China can reach there.

Special acknowledgement to @贵广十标段 (GUI GUANG SHI BIAO DUAN), who provides lots of valuable station/rail data, which are not captured by OpenStreetMap.

Most of the station/rail information are retrieved from Wikipedia. Those data are not 100% correct and some of them are out of date.

There is no official translation for the station name. So most of the name are translated from Pinyin (like Beijing) or conventional name (like Hohhot), and few of them are from the real meaning (like Suzhou Industrial Park). Besides, Dong/Nan/Xi/Bei (“East”, “South”, “West” and “North”) are commonly used as a station name prefix, to distinguish multiple major stations in the same city. I translate them to English and use (E), (S), (W) and (N) in the map to make the station name being short.

Train schedule in China are obtained from external websites. It’s subject to change. We take no responsibility for the accuracy of the data, nor any responsibility for the consequences of using the data within this website. Please refer the information provided by railway operator. You may visit China Railway’s official website (in Chinese) for the latest train schedule in China.


Lost of open source are used. The web client is written in TypeScript, with Angular framework. The map framework is OpenLayers 2.0 (not the newer one 3.0). The server is implemented with NodeJS. Spatial data are hosted in PostgreSQL + PostGIS. Basemap is rendered by GeoServer. Finally, the hosting server is Windows Server because I only own a Windows VPS.

Why making this map

I am a railway enthusiast and train is my first choice when travelling in China. In the recent ten years, China’s railway system is undergoing rapid development. Billions of fund have been spent in railway infrastructure construction, including the ambitious high-speed railway plan. However, it’s hard to find a perfect map for this system, though you could search some static images map from Google. Therefore, I believe that creating a web railway GIS of China could benefit various parties: travelers to China, geographic researchers and students, and rail fans in all over the world. In the same time, I can improve my web development skill in the same time.


  • I spent $100 in ArcGIS personal subscription. However it’s running slowly in my computer. So most of the spatial data processing was done by QGIS, a light-weight but powerful open source software.
  • Adjusting the labels in the map is one of the challenging tasks. Compared to the Chinese name, the English names of station are horribly long. As a result, the labels conflict with others, making the map looks in a mess.
  • Location name translation is another painful task. I decide to keep the full name of county-level administrative regions. So don’t be surprised when you see “Hekou Yao Autonomous County, Honghe Hani and Yi Autonomous Prefecture, Yunnan”.

Question and comments

If you find any error and problem related to the data, you could report it by sending email to gz.pkkj@gmail.com. It will be nice that we can improve this map together.