【第一期】看图识车站,快来看看你是不是资深铁路迷
科普铁路车站空间拓扑
前言
新增“铁路科普”专栏,将融合文字、图片、代码、模型等多种形式分享铁路知识。第一期将以“看图识站名”的形式向大家展示熟悉的铁路车站空间拓扑。
北京市
北京铁路枢纽是连接八个方向的全国最大的铁路枢纽,众多铁路干线呈辐射状通向全国各地,并有大大小小几十座铁路车站,接下来小编将选取其中8个车站,如下图所示,通过OSM地图数据解析得到车站地理信息数据,然后借助QGIS软件进行可视化展示。
1. 准备OSM文件
-
Step1:打开OpenStreetMap网页。OSM是一个网上地图协作计划,目标是创造一个内容自由且能让所有人编辑的世界地图,包含丰富的地理数据。 (https://www.openstreetmap.org)
-
Step2:搜索目标车站
-
Step3:点击导出→手动选择不同的区域→点击导出按钮
-
Step4:将下载好的地图文件(.osm)准备好
2. 解析OSM文件
- Step1:Python中安装osm2rail开源包
pip install osm2rail
- Step2:解析.osm文件,获取网络文件
import osm2rail as orl
osmfile = '北京南站.osm'
net=orl.get_network_from_file(osmfile,check_boundary=True,POIs=True)
orl.save_network(net)
- Step3:准备好输出的网络文件
node.csv:存放地理节点信息,如道岔位置
link.csv:存放地理节点连接信息,如轨道长度
poi.csv:存放地理区域信息,如站台区域
3. QGIS可视化
-
Step1:打开QGIS,新建项目。QGIS是一个用户界面友好、跨平台的开源版桌面地理信息系统。
-
Step2:逐次读取node.csv, link.csv, poi.csv,注意图层名称加以区别。
- Step3:左侧“图层栏”双击需要编辑的图层,可对显示样式进行修改
4. 车站可视化结果
5. 车站揭秘
①号车站:北京南站
②号车站:北京站
③号车站:北京东站
④号车站:北京朝阳站
⑤号车站:北京清河站
⑥号车站:北京丰台站
⑦号车站:北京西站
⑧号车站:北京北站
6. 数据来源
[1]. https://www.openstreetmap.org
[2]. 百度百科
注:由于底层数据缺失,部分车站的站台信息无法获取