How to interpolate a lat lon satellite data on regular grid

13 views (last 30 days)
Hello. I have SWATH dataset of sateliite measurements. Data are not gridded, and consists of Latitude (1202x123) Longitude(1202x123) and data of measurements same size. I need to place data on regular grid 0.25x0.25 deg, and obtain result data array (720x1440). I've tried to use griddata:
result = griddata(Longitude,Latitude,V23_8,Glong,Glat);
imagesc(Glong(1,:),Glat(:,1),result)
axis xy
but there is some problems on edges.
And result of geoshow:
geoshow(Latitude,Longitude,V23_8,'DisplayType','texturemap')
How to get gridded data array same as it makes geoshow?
Attached of data sample.

Answers (1)

darova
darova on 15 Feb 2020
I just created new mesh
[m,n] = size(V23_8); % original size
[gm,gn] = size(Glat); % result size
[X,Y] = meshgrid(1:n,1:m); % original mesh
gx = linspace(1,n,gn);
gy = linspace(1,m,gm);
[GX,GY] = meshgrid(gx,gy); % new mesh
Glat = griddata(X,Y,Latitude,GX,GY);
Glong = griddata(X,Y,Longitude,GX,GY);
result = griddata(X,Y,V23_8,GX,GY);
subplot(121)
h1 = pcolor(Longitude,Latitude,V23_8);
subplot(122)
h2 = pcolor(Glong,Glat,result);
% set(h1,'edgecolor','none')
% set(h2,'edgecolor','none')

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!