济南公交轨迹python

import requests
import json
import pandas as pd
#这里用的是济南  BRT4路车的行驶轨迹
#0、在这里设置城市和线路名!(应确保有这条线路)
cityname='济南'
line='BRT4路'
url = 'https://restapi.amap.com/v3/bus/linename?s=rsv3&extensions=all&key=a5b7479db5b24fd68cedcf24f482c156&output=json&city={}&offset=1&keywords={}&platform=JS'.format(cityname,line)
#1、获取数据
r = requests.get(url).text
rt = json.loads(r)
#2、读取公交线路部分信息(可参考rt变量中的内容,按需获取)
dt = {}
dt['line_name'] = rt['buslines'][0]['name'] #公交线路名字
dt['start_stop'] = rt['buslines'][0]['start_stop'] #始发站
dt['end_stop'] = rt['buslines'][0]['end_stop'] #终点站
#3、获取沿途站点站名和对应坐标并保存在“公交基本信息”表格中
station_name = []
station_coords = []
for st in rt['buslines'][0]['busstops']:
    station_name.append(st['name'])
    station_coords.append(st['location'])
dt['station_name'] = station_name
dt['station_coords'] = station_coords
dm = pd.DataFrame(dt)
dm['latitude'], dm['longitude'] = dm['station_coords'].str.split(',', 1).str#将坐标拆解为经度和纬度
dm.to_csv('表格1_{}{}公交基本信息.csv'.format(cityname,line),encoding='utf-8-sig')

#4、获取沿途路径坐标(行驶轨迹)并保存在“公交路线轨迹表格中”
tmp={}
polyline=rt['buslines'][0]['polyline']
tmp['station_coords']=polyline.split(";")
path=pd.DataFrame(tmp)
path['latitude'], path['longitude'] = path['station_coords'].str.split(',', 1).str#将坐标拆解为经度和纬度
path.to_csv('表格2_{}{}公交路线轨迹.csv'.format(cityname,line),encoding='utf-8-sig')

你可能感兴趣的