# ---------------------------------------------------------------------------
# Purpose : ClipRasterByFeature
# Author :gisweis
# Date :2015.7.21
# Version : ArcGIS 10.1
# Email :liweis2014@hotmail.com
# Notes :
# ---------------------------------------------------------------------------
import sys
reload(sys)
sys.setdefaultencoding(
"utf-8"
)
import arcpy
import
string
try
:
raster = arcpy.GetParameterAsText(0) #clip raster
clip_feat = arcpy.GetParameterAsText(1) #clip featureclass
field = arcpy.GetParameterAsText(2) #name field
outworkspace = arcpy.GetParameterAsText(3) #output ws
outtype = arcpy.GetParameterAsText(4) #output ws
total =
int
(arcpy.GetCount_management(clip_feat).getOutput(0))
count= 1
for
row
in
arcpy.SearchCursor(clip_feat):
mask=row.getValue(
"Shape"
)
extent=str(mask.extent.XMin)+
" "
+str(mask.extent.YMin)+
" "
+str(mask.extent.XMax)+
" "
+str(mask.extent.YMax)
outPath=outworkspace+
"\\"
+str(row.getValue(field)+outtype)
arcpy.AddMessage(
"chipping: "
+ str(row.getValue(field)) +
"...count:"
+str(total)+
"\\"
+str(count))
arcpy.Clip_management(raster,extent,outPath,mask,
"0"
,
"ClippingGeometry"
)
count=count+1
except arcpy.ExecuteError:
print arcpy.GetMessages()