爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 14162|回复: 21

[混合编程] IDL编程学习之风场图

[复制链接]

新浪微博达人勋

发表于 2017-4-15 21:33:07 | 显示全部楼层 |阅读模式

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

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

x
风场图是气象上典型的向量图,IDL里使用VECTOR函数
图例:
图片1.png
其中,向量大小可以用箭头长度和颜色来表示。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-4-16 10:12:24 | 显示全部楼层
支持原创,鼓励楼主继续给出好的帖子
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-4-20 15:03:05 | 显示全部楼层
fig.vector_style=1设置风向为气象上的F形标志:
QQ截图20170420150755.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-4-20 15:32:11 | 显示全部楼层
iVector还可以画流场:
IDL> u=randomu(1,20,20)-0.5
IDL> v=randomu(2,20,20)-0.5
IDL> ivector,u,v,/streamlines,x_streamparticles=10,y_streamparticles=10,head_size=0.1,streamline_nsteps=200

QQ截图20170420153849.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-11-29 11:25:53 | 显示全部楼层
{:eb502:}{:eb502:}{:eb502:}
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-11-29 12:29:42 | 显示全部楼层
{:5_213:}{:5_213:}{:5_213:}{:5_213:}
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2019-2-20 14:28:09 | 显示全部楼层

                               
登录/注册后可看大图
风.png
IDL绘制F形风场图,是按m/s的单位绘制的,由于平时风并不大,所以F形风标常常是一道横杆
-------------------
F形风场案例:
数据见附件sav文件,读取之:
restore,'C:\Users\Administrator\Desktop\book.sav'
纬向风:
u=transpose(book[0,*])
经向风:
v=transpose(book[1,*])
风速标量:
spd=transpose(book[2,*])
风速方位角:
an=transpose(book[3,*])
经度:
lon=transpose(book[4,*])
纬度:
lat=transpose(book[5,*])
存放图的路径:
figfile='C:\Users\Administrator\Desktop\000.png'
画个风速分布图,作为风向图的衬底,这样风向图看起来明显一点:
fig=contour(spd,lon,lat,rgb_table=33,/fill,/buffer)
;风标设置为黑色,vector_style=1表示F形,vector_style=0表示箭头形
fig = VECTOR(u,v,lon,lat,head_size=1,axis_style=0,position=[0,0,1,1],$
  LENGTH_SCALE=0.5,sym_color='k',vector_style=1,/overplot,/buffer)
  ;AUTO_COLOR=1,RGB_TABLE=33
存在桌面:
  fig.save,figfile
  fig.close
将图片半透明化,这是我自己写的函数,其实可以略去:
;  transpng,figfile
  制作KMZ:
  arctic = IMAGE(figfile,MAP_PROJECTION='Stereographic',GRID_UNITS=2,$
    LIMIT=[min(lat),min(lon),max(lat),max(lon)],$
    IMAGE_LOCATION=[min(lon),min(lat)],/buffer,$
    IMAGE_DIMENSIONS=[max(lon)-min(lon),max(lat)-min(lat)],$
    /CURRENT,NAME='Arctic Research')
  arctic.SAVE,'C:\Users\Administrator\Desktop\contour_kml.kmz'
  arctic.close
删除桌面图片
  file_delete,figfile
  ;打开kmz:
  spawn,'C:\Users\Administrator\Desktop\contour_kml.kmz'

book.sav

1.56 MB, 下载次数: 4, 下载积分: 金钱 -5

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

新浪微博达人勋

发表于 2019-8-8 09:39:37 | 显示全部楼层
15195775117 发表于 2019-2-20 14:28
IDL绘制F形风场图,是按m/s的单位绘制的,由于平时风并不大,所以F形风标常常是一道横杆
-------------- ...

请教一下,您用的是idl哪个版本,或者是导入了什么函数库吗,我用的7.1不能识别fig和vector
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-8-8 09:52:22 | 显示全部楼层
本帖最后由 qxjy009 于 2019-8-8 10:03 编辑

我用您前面提供的脚本做的,编译就报错了
C:\Users\Administrator\Desktop\TIM图片20190808095016.png
TIM图片20190808095016.png
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2019-8-8 17:00:41 | 显示全部楼层
qxjy009 发表于 2019-8-8 09:39
请教一下,您用的是idl哪个版本,或者是导入了什么函数库吗,我用的7.1不能识别fig和vector

我用的是8.5,7.1我没用过,会不会7.1没有快速可视化?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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