Using interp2 on maps that have different longitude systems

2 visualizaciones (últimos 30 días)
Melissa
Melissa el 15 de Mayo de 2015
Comentada: Melissa el 16 de Mayo de 2015
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

Respuesta aceptada

Walter Roberson
Walter Roberson el 15 de Mayo de 2015
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 comentario
Melissa
Melissa el 16 de Mayo de 2015
Thank you so much! Sorry, I didn't see your comments from the other posts because it doesn't notify me :(

Iniciar sesión para comentar.

Más respuestas (0)

Community Treasure Hunt

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

Start Hunting!

Translated by