liupeng23的个人博客分享 http://blog.sciencenet.cn/u/liupeng23

博文

格点数据降尺度(如何做?)

已有 10140 次阅读 2019-10-18 18:42 |系统分类:科研笔记

1.格点数据降尺度插值到气象站点:

(1)降尺度模型,SDSM,ASD,......


(2)meteoinfo 双线性插值



2.气象站点数据插值到格点:

(1).griddata

将散点数据插值到网格点上。

用法1:vq =griddata(x,y,v,xq,yq)或vq =griddata(x,y,z,v,xq,yq,zq)

v是数值,其之前是给出其坐标,之后是给出其插值到网格点的坐标。

用法2:vq =griddata(..., method)

方法有这么几种:'linear'、'cubic'、'natural'、'nearest'、'v4'。

其中'natural'为自然邻域插值,是在MATLAB® 4中使用的griddata方法。

关于不同方法插值的差异,在我的下面这个帖子中有说明:

http://bbs.06climate.com/forum.php?mod=viewthread&tid=27850&fromuid=904

 

(2).griddatan

将griddata扩展到超空间中。

用法:yi =griddatan(x,y,xi)以及yi = griddatan(x,y,xi,method)

这里的method只能使用默认的'linear'或者'nearest'。


(3)meshgrid+griddata/interp2


(4)matlab1:


clear all;close all;clc

PrData  = ncread(filename,'pr'); 

TimeData  = ncread(filename,'time'); 

LonData  = ncread(filename,'lon'); 

LatData  = ncread(filename,'lat'); 

PrData=permute(PrData, [2 1 3]);

[xx,yy,zz]=meshgrid(LonData,LatData,TimeData);

[xi,yi,zi]=meshgrid(128:1:135,43:1:48,TimeData);%得到128~135E,43~48N这个范围的数据~

vi=interp3(xx,yy,zz,PrData,xi,yi,zi);

% interp1, interp2, interp3等插值函数中的'linear'选项就是双线性插值。


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% nc数据求平均

数据是lat*lon*time

每年的平均:

ii=0;

for year=1961:2005

     ii=ii+1;

     Temp_anual(:,:,ii)=nanmean(val(:,:,ii*12-11:ii*12));

end

所有年固定月平均

for month=1:12

    Temp_mon(:,:,month)=nanmean(val(:,:,month:12:end));

end






3.降尺度(改变分辨率)


IDW  griddata(plon,plat,data,lons,lats,'v4');


https://ww2.mathworks.cn/help/matlab/ref/griddata.html?searchHighlight=griddata&s_tid=doc_srchtitle


doc  help


双线性插值......



https://wap.sciencenet.cn/blog-3306552-1202494.html

上一篇:R语言批量空间插值
下一篇:MeteoInfo
收藏 IP: 223.91.153.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (4 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-3-28 20:07

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部