How to interpolate a lat lon satellite data on regular grid
Show older comments
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
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')
2 Comments
Eugene Pashinov
on 15 Feb 2020
Edited: Eugene Pashinov
on 15 Feb 2020
darova
on 15 Feb 2020
Impossible
Categories
Find more on Geometric Geodesy in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!