批量重采样

PRO RESAMPLE;批量重采样
  COMPILE_OPT idl2
  ;ns是采样为多少列数,nl是采样为多少行,method是用什么方法采样,Nearest Neighbor是最近邻,双线性插值是Bilinear,三次卷积是Cubic Convolution,大小写别对错,自己直接复制
  ns=885 & nl=541 & method='Nearest Neighbor';这一行自己设置,别的不用动

  ;以下代码不用动,tif格式的需要动一下,若是tif格式遇到问题可以联系我,我调代码
  e = ENVI(/headless)
  inpath = DIALOG_PICKFILE(title='选择输入文件的目录文件夹',/DIRECTORY)
  outpath= DIALOG_PICKFILE(title='选择文件的输出目录',/DIRECTORY)
  CD,inpath;
  filenames=FILE_SEARCH('*.dat');文件检索后缀名为dat,tif的自己改下,注意与下面输出对应
  n=N_ELEMENTS(filenames)
  PRINT,n
  FOR i=0,n-1 DO BEGIN
    File=inpath+filenames[i]
    Raster = e.OPENRASTER(File)
    NewRaster = ENVIRESAMPLERASTER(Raster,DIMENSIONS=[ns,nl],METHOD=method)
    outfile=outpath+filenames[i]
    NewRaster.EXPORT,outfile,'ENVI';ENVI是输出为.dat,TIFF是输出为.tif
  ENDFOR
  e.CLOSE

END

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
Python是一种强大的编程语言,拥有丰富的库和工具,可以用来进行各种数据处理任务。如果要批量重采样tif文件,可以使用Python中的一些库来实现。 首先,可以使用GDAL库来读取和处理tif文件。GDAL是一个用于地理空间数据处理的开源库,可以对栅格数据进行各种操作。可以使用`gdal.Open`函数打开tif文件,然后使用`ReadAsArray`方法将栅格数据读取为数组。 接下来,可以使用`scipy`库中的`ndimage.zoom`函数来对数组进行重采样。`ndimage.zoom`函数可以按照指定的倍数对数组进行插值操作,实现重采样效果。可以传入一个包含重采样倍数的元组参数给`ndimage.zoom`函数,例如`(2, 2, 1)`表示在x和y方向上放大两倍,z方向不变。 最后,可以使用GDAL库再次将重采样后的数组保存为tif文件。使用`gdal.GetDriverByName`函数获取一个输出驱动,例如`GTiff`表示保存为tif文件格式。然后使用`Create`方法创建一个输出文件,指定文件名、宽度、高度、波段数等参数。接着可以使用`WriteArray`方法将数组写入文件中,最后使用`FlushCache`和`None`作为参数调用`FlushCache`方法,确保数据被写入文件。 总结起来,批量重采样tif文件的步骤如下: 1. 使用GDAL库打开tif文件并读取为数组。 2. 使用ndimage.zoom函数对数组进行重采样。 3. 使用GDAL库再次将重采样后的数组保存为tif文件。 希望这些信息能够帮助到你!
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Stone_Lfq

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值