IDL实现矢量(shp)裁剪栅格TASK(一)

时间:2024-03-29 18:18:50

        随着ENVI/IDL版本的更新,IDL对矢量和栅格数据的处理也变得越来越简单化。其提供了很多方便的接口,使得用户调用和学习练习便捷成为了可能。

      最近接触IDL,发现好多网上的代码都是延后的,新的接口代码理解和编写起来都比较方便,尤其是在做大量数据研究和应用时,使用批处理的方式显得尤其重要。新的接口还在摸索中,后续会推出,既是学习记录,也是分享。

      使用IDL实现裁剪。其思路是:对栅格区域确定裁剪矢量范围,进行栅格掩膜(裁剪),然后重新定义多边形范围显示输出。

     1.读取栅格和矢量文件:

      raster=e.OpenRaster(input)

      file_shp=e.OpenVector(input_shp)

     2.进行掩膜(裁剪)处理:

      Task_MASK=ENVITASK('VectorMaskRaster')
      Task_MASK.data_ignore_value=0
      Task_MASK.input_Mask_vector=file_shp
      Task_MASK.input_raster=raster
      Task_MASK.Execute

     3.重新格框,输出文件:

      Task = ENVITask('RegridRaster')
      Task.INPUT_RASTER = raster
      Task.GRID_DEFINITION = Grid

      4.效果图:

      IDL实现矢量(shp)裁剪栅格TASK(一)

    IDL(裁剪)代码下载地址:https://download.csdn.net/download/qq_33356563/10568978