基於IDLE(arcgis)的.shp檔案批裁剪
阿新 • • 發佈:2018-12-15
工具:Arcgis 10.2;Excel;Txt
一 基於IDLE的批處理
- 開啟IDL工具 arcgis-IDLE,之後file-New Window,複製以下程式碼;更改所在、存放目錄和shp檔案位置後,run-run Module(F5)。正常情況下就可以看到clp.tif檔案了。
import arcpy import glob import os arcpy.CheckOutExtension('Spatial') #指定先前拼接後的遙感影像所在目錄 inws = r"d:\xingan\mrt\MOD11\pichuli" #指定裁剪後的影響存放目錄 outws = r"d:\xingan\mrt\MOD11\11" #指定shp範圍邊界檔案,即目標區域的邊界 mask = r"d:\xingan\data\xingan.shp" #利用glob包,將inws下的所有tif檔案讀存放到rasters中 rasters = glob.glob(os.path.join(inws, "*.tif")) #迴圈rasters中的所有影像,進行按掩模提取操作 for ras in rasters: outname = os.path.join(outws, os.path.basename(ras).split(".")[0] + "11_clp.tif") #指定輸出檔案的命名方式(以被裁剪檔名+_clip.tif命名) out_extract = arcpy.sa.ExtractByMask(ras, mask) #執行按掩模提取操作 out_extract.save(outname) #儲存資料
二 問題
-
但我的出現了下列錯誤: 經反覆試驗,發現是在生成醃膜檔案時,因我檔案的特點,其醃膜檔案一致(均是MOD11A2),因此導致程式出現錯誤 因無Python基礎,不知道如何更改程式,因此想到了批量更改檔名。 三 批量更改資料夾名稱
-
dir命令自動提取檔名
-
以檔案在d:\xingan\mrt\MOD11\pichuli 內為例,具體方法如下 命令-輸入cmd- d: -cd xingan\mrt\MOD11\pichuli-dir/b>1.xls 1.xml檔案開啟 在左側加列,第二行輸入ren,點右下角位置下拉,使檔案前均有ren, 因我需要的是A開頭及之後的部分,操作如下 在第3列第二行(C2)輸入=right(B2,24),其中B2是第2列第2行(原檔名稱),24為24個字串,right(B2,24)為第二行第2列從右開始向左查到第24個字串,