用IDL生成数组的方法

用IDL生成数组的方法


发布日期: 2016-10-31 更新日期: 2016-10-31 编辑:jiping 浏览次数: 6226

标签:

摘要: 有一段时间不用IDL了,今天在处理FAST格式的Landsat影像时,想要按波段将FAST格式的影像存储为GeoTIFF格式的影像,需要针对波段数生成数组,于是重新看了一下在IDL中生成数组。 对于一维数组而言,IDL自然就可以生成一个数组,每个元素的值就是其...

有一段时间不用IDL了,今天在处理FAST格式的Landsat影像时,想要按波段将FAST格式的影像存储为GeoTIFF格式的影像,需要针对波段数生成数组,于是重新看了一下在IDL中生成数组。 对于一维数组而言,IDL自然就可以生成一个数组,每个元素的值就是其指标值。

<pre class="brush: py;"> IDL> a = lindgen(n) </pre>

有了这样一个数组,下面的操作就和操作一个元素是一样的,比如要生成一个存指标的平方值的数组。

<pre class="brush: py;"> IDL> b = a^2 </pre>

那么对于二维数组应该怎么办呢?我想到的办法是生成两个数组,一个数组的每个元素存其行指标,另外一个数组的每个元素存其列指标。具体实现可以作如下操作。 `

<pre class="brush: py;"> IDL> a = lindgen(n,m) IDL> y = a/n IDL> x = a-y*n ` </pre>

如此之后将x和y两个和a大小相同的数组当作a的x坐标和y坐标处理就可以了。比如要生成一个高斯函数。

<pre class="brush: py;"> IDL> gauss = exp(-(x^2+y^2)) </pre>

多维数组可以类推。这样处理可以比循环快很多,尤其是多维的时候,不过显而易见,存储量增大了很多,这就是代价。

关注公众号
获取免费资源

随机推荐


Copyright © Since 2014. 开源地理空间基金会中文分会 吉ICP备05002032号

Powered by TorCMS

OSGeo 中国中心 邮件列表

问题讨论 : 要订阅或者退订列表,请点击 订阅

发言 : 请写信给: osgeo-china@lists.osgeo.org