立即注册 登录
气象家园 返回首页

我和小云的个人空间 http://bbs.06climate.com/?8198 [收藏] [复制] [分享] [RSS]

留言板

facelist doodle涂鸦板

您需要登录后才可以留言 登录 | 立即注册


jiangsaiping 2021-4-11 11:01
您好,我是在地图白化(matlab中地图边界与掩膜(去掉边界外区域)的实现(基于shape文件))帖子上看到您的评论,您提供的方法很实用,我用自己的数据试验了一下成功了,但是Z(~isin)=NaN;这用到三维数据索引时老是不正确,我有44年的数据,我是这样写的:
for i=1:44
      Z(:,:,i)(~isin)=NaN;
end   
但老报错,说是表达式无效。
Z中包括经度、纬度和时间维度,因为时间太长了,最终要计算万年的,一个一个白化太慢了,不知道您有没有更好的办法呢?
谢谢您!
帖子中代码:
[lon lat]=meshgrid([97:0.1:107],[21:0.1:30]);
% Z=griddata(gy_locat(:,2),gy_locat(:,3),EOF_used(:,1),lon,lat,'v4');
yunnan=shaperead('yunnan.shp');

isin=inpolygon(lon,lat,yunnan.Lon,yunnan.Lat);
Z(~isin)=NaN;
contourf(lon,lat,Z,30);
shading flat
colorbar

hold on
plot(yunnan.X,yunnan.Y,'-k','linewidth',3)
hold off

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

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

返回顶部