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')

Categories

Find more on Geographic Plots in Help Center and File Exchange

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!