How do I find values at geographic coordinates in a matrix?
조회 수: 2 (최근 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
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
추가 답변 (1개)
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).
참고 항목
카테고리
Help Center 및 File Exchange에서 Geographic Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!