前几天写了一篇制作公交线路图的制作文章,有朋友问我能不能做一下地铁的线城行动线路图,其实道理差不多,市地今天再带着大家做一下一线城市的铁运态图地铁线路图
首先准备数据,以北京市为例,亿华云计算制作在高德地图地铁页面进行抓包,线城行动抓包地址为:
http://map.amap.com/subway/index.html?市地&1100
北京市地铁信息接口为:
http://map.amap.com/service/subway?_1599997789354=&srhdata=1100_drw_beijing.json
对json数据进行解析,使其成为Bmap数据格式
import requests import jsonurl=http://map.amap.com/service/subway?铁运态图_1599997789354=&srhdata=1100_drw_beijing.json response=requests.get(url)result=json.loads(response.text)stations=[]for i in result[l]: station=[] for j in i[st]: station.append([float(k) for k in j[sl].split(,)]) stations.append(station) print(stations)1.北京地铁线路图
from pyecharts.charts import BMap from pyecharts import options as opts from pyecharts.globals import BMapType, ChartType c=( BMap(init_opts=opts.InitOpts(width="1600px", height="800px")) .add_schema( baidu_ak="", #百度秘钥ak center=[116.397128, 39.916527], #当前视角的中心点,用经纬度表示 zoom=14,制作 #当前视角的缩放比例 is_roam=True, #是否开启鼠标缩放和平移漫游 ) .add( series_name="", type_=ChartType.LINES, data_pair=stations, is_polyline=True, #是网站模板否是多段线 is_large=True, #是否启用大规模线图的优化,在数据图形特别多的线城行动时候(>=5k)可以开启 linestyle_opts=opts.LineStyleOpts(color="purple", opacity=0.6, width=1), effect_opts=opts.EffectOpts(trail_length=0.5), ) .add_control_panel( copyright_control_opts=opts.BMapCopyrightTypeOpts(position=3), maptype_control_opts=opts.BMapTypeControlOpts( type_=BMapType.MAPTYPE_CONTROL_DROPDOWN ), scale_control_opts=opts.BMapScaleControlOpts(), overview_map_opts=opts.BMapOverviewMapControlOpts(is_open=True), navigation_control_opts=opts.BMapNavigationControlOpts(), geo_location_control_opts=opts.BMapGeoLocationControlOpts(), ))c.render_notebook()2.上海地铁线路图
3.广州地铁线路图
4.深圳地铁线路图
赶紧动手做一下你所在城市的地铁线路图吧!
源码下载