数据集笔记:中国公交路线线路
数据来源:【数据分享】2024全国省市区县公交线路站点shp矢量数据(免费/无套路分享)
1 读取数据(公交路线)
import geopandas as gpd
line=gpd.read_file('上海公交路线4326.shp')
line
列名 | 含义 |
---|---|
Id | 唯一标识 |
Fangxiang | 方向(去程 / 返程 ) |
Bianhao | 线路编号 |
BusType | 公交类型(普通公交,有轨电车, 无轨电车, 旅游专线 ) |
Name | 完整的线路描述,通常是公交名称( 起始站--终点站) |
S_stop | 起始站 |
E_stop | 终点站 |
StartTime | 起始时间 |
EndTime | 结束时间 |
BusCompany | 公交公司名称 |
Distance | 距离值(公里),是这条方向的公交里程 |
basic_p | 票价起始值 |
Total_p | 票价上限值 |
StationNum | 车站数 |
Length | 路径长度值(以米为单位,显示为字符串) |
geometry | 路线轨道坐标(LINESTRING) |
2 公交站点
import geopandas as gpd
stop=gpd.read_file('上海公交站点4326.shp')
stop
2.1 可视化一条线路
提取线路
line_819=stop[(stop['线路'].str.contains('819')) & (stop['方向']=='去程')]
line_819
2.2 绘制站点
center_lat = line_819['lat'].mean()
center_lon = line_819['lon'].mean()import folium
m=folium.Map(location=[center_lat,center_lon],zoom_start=12)
for _,row in line_819.iterrows():folium.Marker(location=[row['lat'], row['lon']],popup=f"{row['name']}").add_to(m)
m
2.3 站点连成线
points=line_819[['lat','lon']].values.tolist()
folium.PolyLine(points,color='red',weight=10,opacity=1).add_to(m)
m