-1
import arcpy, glob, os
from arcpy import env
from arcpy.sa import *
# Set the input workspace
arcpy.env.workspace = r"F:\madhavi\images_to_clip"
arcpy.CheckOutExtension("Spatial")
# Absolute path to your mask layer
mask = "F:\madhavi\shapefile\shp_gang_only_final.shp"
# Copying all the input rasters in an array
rasters = arcpy.ListRasters()
# Loop through rasters, append names and save files
for raster in rasters:
output_raster = raster.replace(".TIF", "_clip.TIF")
rasterObject = arcpy.gp.ExtractByMask_sa(raster, mask, output_raster)
rasterObject.save(r"F:\madhavi\clipped_images")
有,我用這個Python腳本遇到兩個問題,它們是:批量裁剪多個柵格與單一的shapefile使用ArcPy中
首先,該腳本剪裁只在第一光柵文件夾:F:\ madhavi \ images_to_clip,而不是該文件夾中的所有柵格。因此,for循環無法正常工作。
順便說一下,for循環工作的文件夾只包含兩個.TIF圖像。
其次,該腳本沒有將輸出保存在所需的文件夾中。
我仍然在掃描字符串文字(第18行)時出現「Parsing Error SyntaxError:EOL」。因此,「output_raster = raster.replace(」。TIF「,」_clip.TIF「)」存在問題。
是的您的問題中的縮進與腳本中的縮進相同? (請[編輯]糾正,如果沒有) – Erica
@Erica:我已經更正了第18,19和20行的縮進。但是,同樣的錯誤仍然存在。 –
如果在'for'循環中添加兩行'print raster'和'print raster.replace(「。TIF」,「_clip.TIF」)'(現在剩下的邏輯被註釋掉),什麼是輸出?如果字符串語法有問題,那麼這是識別(然後糾正)最簡單的方法。 – Erica