可视化 | Python绘制高颜值台风地理轨迹图

文章目录

  • 1. 数据爬取
    • 1.1 网页分析
    • 1.2 查看网页台风数据
    • 1.3 数据爬取
    • 1.4 数据保存
  • 2. 地理轨迹
    • 2.1 mapbox网站Token获取
    • 2.2 导入plotly相关包
    • 2.3 单个台风轨迹
    • 2.4 多个台风轨迹
  • 推荐阅读

大家好,我是欧K。

今天给大家推荐一个比较方便绘制地理轨迹的库-plotly。plotly库是一个可交互,基于浏览器的绘图库,功能非常强大,可以在线绘制常见的条形图、散点图、饼图、直方图等等,本期我们用plotly绘制台风地理轨迹图,希望对你有所帮助。

涉及到的内容:
request+json – 网页数据爬取
openpyxl – 保存数据至Excel
os.walk() – 文件路径遍历
pandas – 表格数据处理
plotly – 地图数据可视化

1. 数据爬取

1.1 网页分析

**数据来源:**中国天气台风网(http://typhoon.weather.com.cn/index.shtml)

以2020年为例,打开网址查看2020年台风列表:

在这里插入图片描述

去年有记录的台风一共有23个,编号2001~2023。

1.2 查看网页台风数据

F12调试模式,以编号2001为例:在这里插入图片描述

可以看到轨迹数据在页面返回的getData字符串中,内部数据为json格式

在这里插入图片描述

数据包含:台风名称、时间(间隔1小时)、经度、纬度、风速、移动方向、移动速度等等。

1.3 数据爬取

单个台风轨迹爬取,需要输入年份和台风编号:

def get_tp_data(year, code):tim = int(time.time())url = f'http://d1.weather.com.cn/typhoon/typhoon_data/{year}/{code}.json?callback=getData&_={tim}'headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36' }r = requests.get(url,headers=headers)r.raise_for_status()r.encoding = r.apparent_encodingdatas = json.loads(r.text[8:-1])tp_name = datas['typhoon'][2]detai


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部