Creating 2D Matrix from latitude/longitude values

18 views (last 30 days)
I have three 1D arrays of the same dimensions (14114 x 1): latitude, longitude, and radar reflectivity. The 1D arrays are not sorted in any particular way (i.e., by latitude or longitude). Here are sample values for the first three elements:
latitude (1,1): 29.28
longitude (1,1): -92.5
radar (1,1): 25
latitude (2,1): 29.5
longitude (2,1): -88.48
radar (2,1): 22.5
latitude (3,1): 29.5
longitude (3,1): -88.06
radar (3,1): 20.5
I need to create a 2D lat/lon matrix containing the radar values from the 1D array that spans from longitude [-92.5:0.02:-87.5] in the X and latitude [27.2:0.02:32] in the Y, but has the appropriate radar reflectivity value from the 1D radar array. Lat/lon pairs not in the 1D radar array should be stored as 0 in the 2D matrix.
Appreciate any help you can provide.

Answers (1)

KSSV
KSSV on 2 Oct 2021
Let (x,y,r) be your lon,lat, radar reflectivity values in column.
xi = -92.5:0.02:-87.5 ;
yi = 27.2:0.02:32 ;
[X,Y] = meshgrid(xi,yi) ;
F = scatteredInterpolant(x,y,r) ;
R = F(X,Y) ;
pcolor(X,Y,R) ;
shading interp ;
colorbar
  3 Comments
KSSV
KSSV on 3 Oct 2021
You can use knnsearch to find the nearest points, assign values to these and rest to zeros.
John Cruce
John Cruce on 3 Oct 2021
I did a help on knnsearch. I'm still unsure how to reflect those reflectivity values on to the meshgrid. What should I be looking to for my values of X and Y with knnsearch?

Sign in to comment.

Categories

Find more on Environment and Clutter in Help Center and File Exchange

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!