爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 27163|回复: 61

MeteoInfoLab脚本示例:台风最佳路径

[复制链接]

新浪微博达人勋

发表于 2016-9-25 16:02:37 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 MeteoInfo 于 2020-11-11 17:20 编辑

演示MeteoInfoLab读取中央台下发的台风最佳路径文件并绘图。数据文件可以在这里下载:http://tcdata.typhoon.gov.cn/zjljsjj_zlhq.html

  1. # Read typhoon data file
  2. fn = 'D:/Temp/ascii/CH2015BST.txt'
  3. tf = open(fn)
  4. lons = []
  5. lats = []
  6. prss = []
  7. for line in tf:
  8.     print line
  9.     data = line.split()
  10.     pn = int(data[2])
  11.     for i in range(pn):
  12.         line = tf.readline()
  13.         data = line.split()
  14.         lat = float(data[2])        
  15.         lats.append(lat * 0.1)
  16.         lon = float(data[3])
  17.         lons.append(lon * 0.1)
  18.         t = data[0]
  19.         prs = float(data[4])
  20.         prss.append(prs)
  21.     lons.append(nan)
  22.     lats.append(nan)
  23.     prss.append(nan)

  24. # Plot
  25. axesm()
  26. lworld = shaperead('D:/Temp/map/country1.shp')
  27. geoshow(lworld, facecolor=[200,200,200])
  28. plotm(lons, lats, linewidth=2)
  29. #geoshow(lats, lons, color='r')
  30. layer = scatterm(lons, lats, prss)
  31. colorbar(layer, shrink=0.8)
  32. xlim(100, 210)
  33. ylim(0, 60)
  34. title('Typhoon pathway')


typhoon.png

台风路径线条不同颜色表示风速:
  1. #Create typhoon layer
  2. layer = maplayer(shapetype='line')

  3. # Read typhoon data file
  4. fn = 'D:/Temp/ascii/CH2015BST.txt'
  5. tf = open(fn)
  6. lons = []
  7. lats = []
  8. prss = []
  9. wss = []
  10. for line in tf:
  11.     print line
  12.     data = line.split()
  13.     pn = int(data[2])
  14.     for i in range(pn):
  15.         line = tf.readline()
  16.         data = line.split()
  17.         lat = float(data[2])        
  18.         lats.append(lat * 0.1)
  19.         lon = float(data[3])
  20.         lons.append(lon * 0.1)
  21.         t = data[0]
  22.         prs = float(data[4])
  23.         prss.append(prs)
  24.         ws = float(data[5])
  25.         wss.append(ws)
  26.     layer.addshape(lons, lats, z=prss, m=wss)
  27.     lons = []
  28.     lats = []
  29.     prss = []
  30.     wss = []

  31. #Set typhoon layer legend
  32. levs = arange(5, 61, 5)
  33. cols = makecolors(len(levs) + 1)
  34. ls = makesymbolspec('line', levels=levs, colors=cols, field='Geometry_M', size=2)

  35. # Plot
  36. axesm()
  37. geoshow('country', facecolor=[200,200,200])
  38. geoshow(layer, symbolspec=ls)
  39. colorbar(layer, shrink=0.8, label='Wind speed (m/s)')
  40. xlim(100, 210)
  41. ylim(0, 60)
  42. title('Typhoon pathway with wind speed')


typhoon_multicolor.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-9-25 21:34:17 | 显示全部楼层
谢谢王老师,您的效率真高,这么快就解决了。不过我运行您的程序,结果出现了前一个台风结束点与后一个台风开始点用直线连接,这是怎么回事,我没有动程序,该怎么调整呢,谢谢!
1.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-9-25 21:36:23 | 显示全部楼层
zenghaode 发表于 2016-9-25 21:34
谢谢王老师,您的效率真高,这么快就解决了。不过我运行您的程序,结果出现了前一个台风结束点与后一个台风 ...

你需要下载最新版本
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-9-25 21:55:27 | 显示全部楼层
好的,谢谢您! 马上下一个,我刚用的是1.3.5版的。另外,提个建议,要是把位置圆点符号换成台风符号,效果可能会更好一些。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-9-25 22:09:09 | 显示全部楼层
我用的1.3.6版,这个是最新的吧,但还是一样的,怎么回事呢?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-9-25 23:06:31 | 显示全部楼层
zenghaode 发表于 2016-9-25 22:09
我用的1.3.6版,这个是最新的吧,但还是一样的,怎么回事呢?

1.3.6R2
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-9-28 16:39:45 | 显示全部楼层
王老师  您好  不知道您可以分享一下您所使用的台风最佳路径文件档案吗?想知道每个台风如何做区隔,谢谢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-9-28 17:07:36 | 显示全部楼层
KIMO23 发表于 2016-9-28 16:39
王老师  您好  不知道您可以分享一下您所使用的台风最佳路径文件档案吗?想知道每个台风如何做区隔,谢谢

在本帖1楼增加了数据下载地址
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-9-29 10:33:03 | 显示全部楼层
感谢老师您的网址分享
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-9-30 18:03:19 | 显示全部楼层
lworld = shaperead('D:/Temp/map/country1.shp')

请问这个数据在哪里下载?
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表