Getting values using coordinates indexes

I have a very simple question,
I have 3 matrices extracted from a netcdf file, latitude, longitude, and data values (Z). I would like to know the Z values corresponding to specific latitude and longitude points. How can I do this?
Thanks

1 Comment

These are thress matrices with the same size, 2630x1083 double, it is actually remote sensing data in netcdf format. I want to get the values corresponding to the coordinates. thanks

Sign in to comment.

Answers (1)

You can do this a few ways. If you know the exact lat and lon you're interested in, say (30N,120E), it's simply
Z(lat==30 & lon==120)
Alternatively, you can use interp2.

4 Comments

Thank you Chad, that works, but what if I know the approximate coordinates and I want to find the closest point to those coordinates? Thanks
Depending on what you're trying to do, you could round your lat/lon of interest to the nearest gridded lat/lon value, or you could use interp2 with the 'nearest' option, or you could use near2, which simply finds the nearest row and column index.
Once you know the index to the lat/lon point you want, you can extract just the value there using ncread. In other words you don't have to pull the whole matrix into Matlab.

Sign in to comment.

Asked:

on 8 Jun 2015

Commented:

K E
on 5 Aug 2015

Community Treasure Hunt

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

Start Hunting!