获取航线信息并且制作成图
航线信息
航线信息查询网站
本次实例使用的航班号为 CES5496
查询后在network中可以寻找到如下内容https://zh.flightaware.com/ajax/ignoreall/trackpoll.rvt?token=c35ca45ecbca57cd1ea443d1c65c36426ea06630de026ffde4a40a26ead614b3f2dddec214a859f7965-dd46e66d5342d62a1946f71668e4cef966e8f-570f2ace7c0aecf8e28ced6893a0e805cc9ef5bd&locale=zh_CN&summary=1
上述url即为本次航班号查询的结果,在[‘flights’][‘CES5496–airline-0406:0’][‘track’] 下存放了本次航班的坐标数据
写入本地文件
import requests
import json
url = “https://zh.flightaware.com/ajax/ignoreall/trackpoll.rvt?token=c35ca45ecbca57cd1ea443d1c65c36426ea06630de026ffde4a40a26ead614b3f2dddec214a859f7965-dd46e66d5342d62a1946f71668e4cef966e8f-570f2ace7c0aecf8e28ced6893a0e805cc9ef5bd&locale=zh_CN&summary=1”
html = requests.get(url)
with open(‘CES5496.json’,’w’) as f:
json.dump(html.text,f)
解析json文件
把json文件中的相关坐标信息 提取到一个list中以便使用
import json
with open(‘CES5496.json’, encoding=’utf-8′) as data_file:
data = json.loads(data_file.read().replace(‘true’,’True’).replace(‘null’,’None’).replace(‘false’,’False’))
jdata = dict(eval(data))
xy = jdata[‘flights’][‘CES5496–airline-0406:0’][‘track’]coordList = list()
for index in range(xy.__len__()):
# print(xy[index])
coordList.append(xy[index][‘coord’][::-1])
print(coordList)
绘制图形
使用的库为folium
使用folium.PolyLine 绘制线
使用plugins.PolyLineTextPath 绘制飞机
from folium import plugins
import folium
m = folium.Map([30.1833, 120.2833], zoom_start=5)
zuobiao = [[30.2308, 120.437], [30.2341, 120.4454], [30.2369, 120.4548], [30.2394, 120.465], [30.2447, 120.491],
[30.2501, 120.519], [30.256, 120.551], [30.2572, 120.5673], [30.2566, 120.5803], [30.2541, 120.59],
[30.2486, 120.5986], [30.2387, 120.6082], [30.2244, 120.619], [30.2133, 120.6255], [30.2041, 120.6303],
[30.1966, 120.6335], [30.19, 120.6351], [30.1829, 120.6353], [30.1754, 120.634], [30.1682, 120.6315],
[30.1619, 120.628], [30.1566, 120.6235], [30.1491, 120.612], [30.1366, 120.5875], [30.1189, 120.55],
[30.1024, 120.513], [30.0784, 120.458], [30.054, 120.403], [30.0298, 120.349], [29.9804, 120.24],
[29.9548, 120.187], [29.9185, 120.111], [29.889, 120.049], [29.8663, 119.991], [29.8375, 119.904],
[29.8167, 119.841], [29.7959, 119.778], [29.776, 119.718], [29.7561, 119.658], [29.7362, 119.598],
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/211653.html原文链接:https://javaforall.net
