How do I find values at geographic coordinates in a matrix?

조회 수: 2 (최근 30일)
Pema
Pema 2014년 1월 30일
댓글: Amit 2014년 1월 30일
How can I find the values of the matrix R , which geographic coordinates are specified by x and y matrices, at the geographic coordinates specified by Ax and Ay vectors? Exactly matching coordinates of Ax,Ay does not exist in x,y so I guess there is a need to include some interpolation.
Help is much appreciated!
Example:
R = magic(5);
x = [1:5;1:5;1:5;1:5;1:5];
y = x';
Ax = [1,2,3,4,5];
Ay = [3,4,3,4,3];
% for illustration
% I want to find the values of R where the line crosses
hold on
contourf(x,y,R)
plot(Ax,Ay)
hold off

채택된 답변

Amit
Amit 2014년 1월 30일
I think interpolation will be the route.
You can use interp2. For the example here,
R_int = interp2(X,Y,R,Ax,Ay);
  댓글 수: 4
Pema
Pema 2014년 1월 30일
It turns out, x and y needs to be monotonic for 'interp2', which they are not in my field data. 'griddata' function did the trick.
Amit
Amit 2014년 1월 30일
Good. If it works for you, then you should accept the answer!

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Walter Roberson
Walter Roberson 2014년 1월 30일
Yes, you would need to do some sort of interpolation.
You have the difficulty that interpolations that depend upon distance from existing elements are not going to work properly for geographic coordinates because of projection issues. The worst location would, I think, be at the centroid of the surrounding coordinates. If your grid is finely enough grained then you might be willing to overlook that. If you do need to take it into account, you would need to project the geographic coordinates onto a flat map before doing the interpolation (using TriScatteredInterp or GriddedInterpolant). That projection is going to lead to trouble by itself near the boundaries of the projection (e.g., the poles).
  댓글 수: 1
Pema
Pema 2014년 1월 30일
Thanks! I think I was a bit confusing using the term 'geographic' though, my data does not need to be projected on a sphere. It's in plain 2d already.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Geographic Plots에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by