Using interp2 on maps that have different longitude systems

1 次查看(过去 30 天)
Hello,
I am trying to use interp2 between A and B
A longitude spans 0 to 360
B longitude spans -180 to 180
If I use wrapTo180 on A, it is no longer monotonically increasing.
If I use wrapTo360 on B, it is no longer monotonically increasing.
If I use interp2 without wrapping either, I only get the interpolated data for longitudes 0+
What are my options for getting a full global interpolation with these different longitude systems?
Thank you,
Melissa

采纳的回答

Walter Roberson
Walter Roberson 2015-5-15
unwrap one of them and circshift as needed to make it and the referenced data monotonically increasing.
Blongwrap = wrapTo360(Blong);
crossingidx = find(diff(Blongwrap) < 0, 1);
Blongwrapshifted = circshift(Blongwrap(:),-crossgidx,1);
Bshifted = circshift(B, -crossingidx, 1);
This assumes that, as per your previous postings, longitude varies in the first dimension.
  1 个评论
Melissa
Melissa 2015-5-16
Thank you so much! Sorry, I didn't see your comments from the other posts because it doesn't notify me :(

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by