# Efficient Method for Multiple Gridded Interpolation

조회 수: 3 (최근 30일)
답변: Sindar 2020년 11월 30일
I have scattered points of rain guage stations with random missing values. I also have NDVI values at these stations (complete records). The data is from January -Decemeber, 2016.
I want to interpolate both variables indepedently at daily time scale excluding any NaN stations for BOTH variables (i.e. exclude Nan from rainfall and corresponding NDVI). They will be saved as a Geotiff. This is my code for a single grid.
I want to do this in a loop with NaN excluded at each time step.
[lon,lat] = ndgrid(lon,lat);
lonobs = data_now(:,1);
latobs = data_now(:,2);
J= data_now(:,3);
G=data_now(:,4)
% lon and lat are read from a netcdf file
%Interpolate
Rainq = griddata(latobs,lonobs,J,lat,lon);
NDVIq = griddata(latobs,lonobs,G,lat,lon);
Thanks

댓글을 달려면 로그인하십시오.

### 답변 (1개)

Sindar 2020년 11월 30일
I don't know how fast it will be, but I think this'll work
% lon and lat are read from a netcdf file
[lon,lat] = ndgrid(dl.lon,dl.lat);
data_files = ...
for ind=1:length(data_files)
lonobs = data_now(:,1);
latobs = data_now(:,2);
J= data_now(:,3);
G= data_now(:,4);
% find valid locations
idx = (~isnan(J)) & (~isnan(G));
%Interpolate, dropping nan locations
Rainq = griddata(latobs(idx),lonobs(idx),J(idx),lat,lon);
NDVIq = griddata(latobs(idx),lonobs(idx),G(idx),lat,lon);
% save
end

댓글을 달려면 로그인하십시오.

### 카테고리

Help CenterFile Exchange에서 NetCDF에 대해 자세히 알아보기

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by