在matlab中,我们有时需要创建180*360,360*720,720*1440等不同分辨率的栅格掩膜,用于提取特定研究区域的数据。
贴上代码:
lon = -179.875:0.25:179.875; %分辨率0.25
lat = -89.875:0.25:89.875;
% lon = 0:1:360;
% lat = -90:1:90;
[lon,lat] = meshgrid(lon,lat);
nc_plain_boundary1=load('taiwan.txt');
nc_plain_boundary2=load('hainan.txt');
nc_plain_boundary3=load('mainland.txt');
% data
ind1=inpolygon(lon,lat,nc_plain_boundary1(:,1),nc_plain_boundary1(:,2));
ind2=inpolygon(lon,lat,nc_plain_boundary2(:,1),nc_plain_boundary2(:,2));
ind3=inpolygon(lon,lat,nc_plain_boundary3(:,1),nc_plain_boundary3(:,2));
t = ind2+ind1+ind3;
% t = ind1;
u.lon = lon;
u.lat = lat;
u.rg = t;
rg_plot(u); %绘图函数
【其中的taiwan.txt hainan.txt mainland.txt是边界数据,是经纬度两列的数据】
得到如下的结果:
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删