How to interpolate a lat lon satellite data on regular grid
13 views (last 30 days)
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.
0 Comments
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')
See Also
Categories
Find more on Geographic Plots 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!