【matlab代码】提取任意多边形内的nc数据--以海洋温度为例子

【matlab代码】提取任意多边形内的nc数据–以海洋温度为例子
本文来源于对象想提取一个矩形内的温度数据,从而求平均能看出时间序列变化。

由于平时我们矩形是和经纬度平行,我们可以直接使用lon,lat进行寻找。

例子如图:

在这里插入图片描述

图片

这样的水平图,大家都会,直接:

find(lon>=124.5&<=128.5);
find(lat>=26.5&<=28.5);
现在,问题如下图,矩形不是水平的了。

图片在这里插入图片描述

大家有什么解决方案呢?可以后台私聊。

这里提供一种方法:

解决的结果如下图:
图片
在这里插入图片描述

能够得到想要的数据。

至此,问题得到很好的解决。

以下内容为,matlab代码和所需要的数据函数:包括colorbar函数,命名为:colormore_66.m;
地图所需的数据为WOA2023月平均数据2月份数据:woa23_decav91C0_t02_04.nc
地图填充颜色:color.mat
文件如下图:
图片

收费不贵,安心使用,文件可联系作者,付费后,获取,;

谢谢理解,坚持分享!感谢各位厚爱!

如喜欢,多谢点赞👍分享

%% 本文目的写一个程序,寻找温度锋面:
% 温度锋面的定义或者说计算方法:Sobel算子
% 具体计算方法见:[1]王兴宇,纪棋严,彭腾腾等.东海黑潮温度锋的三维结构特征分析[J].海洋预报,2022,39(01):67-79.
% [1]王建辉. 北欧海海洋锋的时空变化研究[D].浙江海洋大学,2022.DOI:10.27747/d.cnki.gzjhy.2022.000413.
% 本文作者:海洋与大气科学
%          Burger_miao
% 时间:2023年04月11日;
% 使用数据为WOA2023的年平均、季节平均和月平均;
clear;clc;close all;
% 01:读取温度数据
ncdisp 'woa23_decav91C0_t02_04.nc';
file='woa23_decav91C0_t02_04.nc';%二月份温度文件
lon=double(ncread(file,'lon'));
lat=double(ncread(file,'lat'));
depth=double(ncread(file,'depth'));
time=double(ncread(file,'time'));
temp=double(ncread(file,'t_an'));%'sea_water_temperature';
% 研究范围:为了方便对比本次计算结果的准确性,
% 研究范围和以往研究范围一致,120-131°E,22-33°E;
% 寻找范围内的温度数据
ln=find(lon>=119&lon<=132);
la=find(lat>=21.5&lat<=33.5);
lonx=lon(ln);laty=lat(la);
[x,y]=meshgrid(lonx,laty);x=x';y=y';
sst=squeeze(temp(ln,la,1,1));
%% 画个平面温度分布,看下数据分布情况;
close all
figure
set(gcf,'position',[50 50 1200 1000])
m_proj('miller','lon',[120 131],'lat',[22 33])
m_contourf(x,y,sst,20,'linestyle','none');
hold on                                                        
[c,h]=m_contour(x,y,sst,6:2:30,'color','k','showtext','on');
clabel(c,h,'fontsize',10,'fontname'
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

海洋与大气科学

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

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

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

打赏作者

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

抵扣说明:

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

余额充值