爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: rabialee

[程序设计] Matlab读取天气雷达基数据实现反射率因子三维可视化

[复制链接]

新浪微博达人勋

发表于 2020-11-28 20:24:53 | 显示全部楼层
rabialee 发表于 2020-11-28 16:31
j1cor就是z方向的坐标

按照你的思路画了立体包络图,但是效果出来怎么不对呀?数据应该没问题,因为我画slice图效果是没问题的
楼主能帮我看看哪里不对么?


立体包络图效果图:
立体包络图效果.png

垂直剖面图效果:
垂直剖面效果图.png


主要代码如下:
  1.     Point=rdBz_xyz(:,1:3);%--x,y,z坐标
  2.     V=rdBz_xyz(:,4);%--反射率
  3.     F = scatteredInterpolant(Point,V);
  4.     %   F = scatteredInterpolant(P,v) 以数组形式指定样本点坐标。P 的行包含 v 中值的 (x, y) 或 (x, y, z) 坐标。
  5.     xx=-100:1:100;
  6.     yy=-100:1:100;
  7.     zz=0:0.5:15;
  8.     [xq,yq,zq] = meshgrid(xx,yy,zz);
  9.     vq = F(xq,yq,zq);
  10.     vq=smooth3(vq);

  11.     fw=5;
  12.     % --立体包络数值fw
  13.     set(h1,'name','dBz定值包络立体图','MenuBar','none','ToolBar','none');
  14.     title(['最外层表面的值为: ' , num2str(fw)]);
  15.     fv=isosurface(xq,yq,zq,vq,fw);
  16.     hiso=patch(fv);
  17.     set(hiso,'facecolor','b','edgecolor','none');
  18.     patch(isocaps(xq,yq,zq,vq,fw), 'FaceColor', 'interp', 'EdgeColor', 'none');

复制代码


密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-12-1 16:22:17 | 显示全部楼层
你好,想问下那11个lev的txt文件时怎么生成的,是通过循环fid=fopen('C:\Users\Rabia Lee\Desktop\Z_RADR_I_Z9737_20200820093300_lev1.txt','wt'); 这一步实现的吗?但我没有找到相应的循环体,而且第58行的n=2似乎也没有起到作用,感觉可能是后面的程序哪里漏了它。请指教,谢谢。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-12-4 15:32:27 | 显示全部楼层
schliezer 发表于 2020-12-1 16:22
你好,想问下那11个lev的txt文件时怎么生成的,是通过循环fid=fopen('C:%users\Rabia Lee\Desktop\Z_RADR_I ...

这个11层是由另外一个软件直接输出的,我上面写的代码的的一部分里面可以将9个仰角的反射率因子分别输出来,没有写循环,只是把三维可视化的思路写出来了。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-12-4 15:40:47 | 显示全部楼层
小其其格 发表于 2020-11-28 20:24
按照你的思路画了立体包络图,但是效果出来怎么不对呀?数据应该没问题,因为我画slice图效果是没问题的
...

看了你的代码,可能是画完包络面图没有加hold on;必须加这个才能把包络面和切片图一起显示,
hiso=patch(isosurface(xq,yq,zq,vq,25)); hold on;           %绘制雷达回波三维包络面
isonormals(xq,yq,zq,vq,hiso);
h=slice(xq,yq,zq,vq,-50,50,2);
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-12-4 15:52:51 | 显示全部楼层
小其其格 发表于 2020-11-26 09:15
r_1(:,1)=Xcor;
    r_1(:,2)=Ycor;
    r_1(:,3)=j1cor;

不好意思我上次回复错了,j1cor是反射率,z坐标确实没有,可以自己写,前面的代码已经把极坐标换成了直角坐标
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-12-5 14:43:47 | 显示全部楼层
rabialee 发表于 2020-12-4 15:40
看了你的代码,可能是画完包络面图没有加hold on;必须加这个才能把包络面和切片图一起显示,
hiso=patch ...

好的,前几天出差了,我试试
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-2-7 20:51:37 | 显示全部楼层
请问怎么把笛卡尔坐标下的X、Y转换为经纬度呀
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-6-16 14:11:42 | 显示全部楼层
酷炫!{:eb502:}
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-12-5 21:35:49 | 显示全部楼层
厉害,楼主交流一下
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-2-11 10:51:37 | 显示全部楼层
点赞大神点赞大神点赞大神
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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