改变经度坐标公约从0 e - 360 w - -180 e, 180 w NetCDF文件

42 Ansichten(30天)的
你好,
我有NetCDF文件块全球盐度的地图,上面我重叠海岸线与MATLAB的地图坐标工具箱,这样我可以有一个清晰的定义我的世界地图。
然而,MATLAB地图有-180 e 180 w经度约定而NetCDF地图0 e 360 w经度公约。当我试图把NetCDF地图(这似乎是一个非常简单的操作),这样的约定是一样的MATLAB(例如-180 e - 180 e),情节似乎每次都是非常错误的。
有什么建议吗?
提前感谢你的帮助。
(下面是代码)
% % &显示URL
%加载URL (s)
url =“https://podaac- opendap.jpl.nasa.gov: 443 /简化/ allData / smap / L3 / RSS / V2/8day_running / SCI / 2018/131 / RSS_smap_SSS_8day_running_20 18 _135_v02.0.nc;
%显示变量
% ncdisp (url)
% %变量调用
%的时间
time_start = ncreadatt (url,' / ',“time_coverage_start”);
time_end = ncreadatt (url,' / ',“time_coverage_end”);
%的坐标
lat = ncread (url,“纬度”);
lon360 = ncread (url,“朗”);
%经度转换为180 w - 180 e
%的第一个方法
朗=快速眼动((lon360 + 180), 360)——180;
lon_idx =朗> 180;
经度(lon_idx) =经度(lon_idx) + 180;
% %的第二个方法
%朗=快速眼动((lon360 + 180), 360) + 180;
%盐度
萨尔= ncread (url,“sss_smap”);
% %的阴谋
%准备数据
(经度、纬度)= meshgrid(经度、纬度);
v = linspace (min(萨尔(:)),max(萨尔(:)),50);
%图
无花果=图;
fig.Position = (100 200 1000 500);
%绘制数据
[~ h] = contourf(经度,纬度,sal, v);
h。线型=“没有”;
持有
%绘制世界地图
负载海岸线
情节(coastlon coastlat)
% Colorbar
c = colorbar;
%的网格
网格
甘氨胆酸ax =;
斧子。GridColor = (1 0 0);
%的标签
c.Label。字符串=盐度(事业单位)的;% Colorbar标签
标题(strcat ({的记录:},{time_start (1:10)}, {”到“},{time_end (1:10)}));%图标题
斧子。字形大小= 14;

Antworten (1)

玛丽娜
玛丽娜 我麦2023嗯9点
嗨Konstantinos,
我也有同样的问题,我发现了这个函数,也许可以帮助你解决longitud单位:
我发现了它:如果你想要更多的信息
我希望它可以帮助你和其他人。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的