1. 程式人生 > >IDL實現向量(shp)裁剪柵格TASK(一)

IDL實現向量(shp)裁剪柵格TASK(一)

        隨著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(裁剪)程式碼下載地址:https://download.csdn.net/download/qq_33356563/10568978