麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

利用IDL中的SHIFT函数实现经度翻转

在使用IDL处理图像的时候会遇到这么一种问题,就是经度起点的问题,通常情况下,我们是以0度本初子午线作为起点,也就是如图所示的图像。

但是也有特殊情况,例如下面这种数据:

在一些特殊要求下,我们需要对下面的这种数据做一个偏转,使其图像统一。这里我们用到了IDL中的SHIFT函数。

函数原型

Result = SHIFT(Array, S1, ..., Sn)

这里Array就是一个数组,S1,S2,S3分别代表对应Array维数的操作,这么说可能有点拗口。看下面一段代码:

A = INDGEN(5)
PRINT, A, SHIFT(A, 1), SHIFT(A, -1)

结果为

0   1   2   3   4

4 0 1 2 3

1 2 3 4 0

可以看出,这里对A这个数组进行了一次右移,一次左移。

扩展到二维,S1代表对Array第一维做的操作,S2代表第二维,以此类推。

回到正题,在处理数据的时候,如果需要偏移经度,这时候只需要对数据对应的经度的维数加或者减去相应的数值即可。

例如sst是一个[4096*2048]的数组,对应第二张图,如果需要转换成第一张图的形式,需要做以下操作:

 sst=shift(sst,2048)

相关阅读

麻辣GIS-Sailor

作者:

GIS爱好者,学GIS,更爱玩GIS。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
公众号关注
知识星球
手机阅读
麻辣GIS微信公众号关注
最新GIS干货
关注麻辣GIS知识星球
私享圈子

留言板(小编看到第一时间回复)