使用Matplotlib & Cartopy绘制台风路径图

夏天一到,沿海地区经常会遭到台风的袭扰,可谓苦不堪言。

之前在公众号做过一个关于我国历史台风统计的可视化展示,发现很多有趣的数据,比如说台风登陆最多的城市是湛江。

image.png

大家可以去翻看历史文章,附有完整代码和数据,有兴趣做些可视化探索。

大数据告诉你,台风最喜欢在我国哪个省市登陆

这次的文章不研究台风数据,而是尝试用Python来绘制台风路径。

主要第三方库

用到的主要工具包有pandasnumpymatplotlibcartopyshapely,前三个库大家可能都熟悉,下面介绍下后两个库的使用场景。

cartopy:基于matplotlib的python地理数据处理和可视化库,本文会用来展示地图

shapely: 是一个对几何对象进行操作和分析的Python库,本文用来处理点线数据

  • cartopy文档:https://scitools.org.uk/cartopy/docs/latest/
  • shapely文档:https://shapely.readthedocs.io/en/stable/

台风路径数据

本文用到的数据是我国2017年所有台风路径,包含了时间、经纬度、强度等关键信息。

由于数据来源网络,没法追溯真实性,仅供练习。

原始数据比较乱,我重新处理了方便使用:

可以看到共有7个字段:

台风编号:我国热带气旋编号
日期:具体时间
强度:0~9
纬度:单位0.1度
经度:单位0.1度
中心气压:hPa
中心最大风速:m/s

绘制地图

台风路径需要在地图上展示,那么如何获取地图呢?

方式有很多种,既可以用离线的GeoJson数据,也可以用JPG图片,或者第三方库提供的地图。

我这里用的是cartopy内置的地图数据,可以很方便的修改配置属性。

首先导入本次会用到的所有库:

# cartopy:用来获取地图
import cartopy.crs as ccrs
import cartopy.feature as cfeature
# matplotlib:用来绘制图表
import matplotlib.pyplot as plt
# shapely:用来处理点线数据
import shapely.geometry as sgeom
import warnings
import re
import numpy as np
import pandas as pd
warnings.filterwarnings('ignore')
plt.rcParams['font.sans-serif'] = [u'SimHei']
plt.rcParams['axes.unicode_minus'] = False

获取我国沿海区域地图:

# 通过cartopy获取底图
fig = plt.figure(figsize=(10,10))
ax = fig.add_subplot(1, 1, 1, projection=ccrs.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

朱卫军 AI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值