1、引言
众所周知,台风是影响我国的气象灾害之一,因为其次生灾害严重程度较其他天气更加明显,一些学者对其路径进行分析。
2、资料准备
资料来源:(http://tcdata.typhoon.org.cn/zjljsjj_zlhq.html),2018年数据文件下载。
3、资料读取
import numpy as np
import pandas as pd
#利用pandas读取txt文件,给DataFrame的colums赋予names
file_data = pd.read_csv('CH2018BST.txt', sep='\s+', header=None,
names=['tim', 'le', 'lats', 'lons', 'pr', 'wind',
'tynum', 'chn_id', 'name'], dtype=object)
#读取分类标志
temp=file_data[file_data.iloc[:,0]=='66666']
#根据index读取文件中各台风路径
for k in temp.index:
#for s in temp.index[:1]:
print(k)
track = file_data.loc[k:k + int(temp.loc[k, 'lats']),['tim','lats','lons','chn_id']]
track1=track.loc[k+1:,['lats','lons']].apply(pd.to_numeric)/10
lon=track1.loc[k+1:,'lons'].values
lat=track1.loc[k+1:,'lats'].values
数据到此读完了,我们读取了lat,lon,读者可以根据需要更改你的列索引读取更多数据,接下来就是画图了
fig = plt.figure()
ax = fig.add_axes([0, 0, 1, 1], projection=ccrs.PlateCarree())
ax.set_extent([100, 160, 0, 50], ccrs.PlateCarree())
ax.coastlines(resolution='10m')
shapename = 'D:\\shp_map\\CHN_adm\\CHN_adm2.shp'
#reader = shpreader.Reader(shapename)
adm1_shapes = list(reader.geometries())
#ax.set_title(plt_title)
# turn the lons and lats into a shapely LineString
track = sgeom.LineString(zip(lon, lat))
# buffer the linestring by two degrees (note: this is a non-physical
# distance)
track_buffer = track.buffer(1)
def colorize_state(geometry):
facecolor = (0.9375, 0.9375, 0.859375)
if geometry.intersects(track):
facecolor = 'red'
elif geometry.intersects(track_buffer):
facecolor = '#FF7E00'
# ax.add_geometries(
# adm1_shapes,ccrs.PlateCarree(), styler=colorize_state)
ax.add_geometries([track_buffer], ccrs.PlateCarree(),
facecolor='#C8A2C8', alpha=0.5)
ax.add_geometries([track], ccrs.PlateCarree(),
facecolor='none', edgecolor='k')
画图设置完毕,plt.show()一下
“”玛利亚“”用我们预报员的俗套话来说“真是影响“范围广、持续时间长!!!”,图中没有给出强度变化图,后期再补充下。实况搞完,那么回过头看看我们的超算计算的出的路径是如何?如下图
这是各家模式报的,玛利亚呈现极端偏西路径,只有极少数的模式报出了实况路径,这也给各地政府服务都带来了挑战。
献给阿毛同学