import arcinfo
import arcpy,os,string,glob,sys
DEM = arcpy.GetParameterAsText(0)
#river splitted shapefiles directory path
rootFolder = arcpy.GetParameterAsText(1)
#output directory
outputDir = arcpy.GetParameterAsText(2)
# Local variables:
home=os.path.expanduser('~')
constant_raster_ = home+"\\Documents\\ArcGIS\\Default2.gdb\\CreateConsta1"
point_feature = home+"\\Documents\\ArcGIS\\Default2.gdb\\c20_FeatureVerticesToPoints"
point_feature_with_elevation = point_feature
min_elevation = home+"\\Documents\\ArcGIS\\Default2.gdb\\c20_FeatureVerticesToPoints_"
Value = min_elevation
rastercalc = home+"\\Documents\\ArcGIS\\Default2.gdb\\rastercalc"
WaterMask = home+"\\Documents\\ArcGIS\\Default2.gdb\\Extract_rast3" # provide a default value if unspecified
#loop for iterations through all shapefiles
for root,dirs,files in os.walk(rootFolder):
for name in files:
if name.endswith(".shp"):
shpName = name
# absolute file path of shapefile river splits
absFile = os.path.abspath(os.path.join(rootFolder,shpName))
water_body_feature_class = absFile
# Process: Create Constant Raster
arcpy.gp.CreateConstantRaster_sa(constant_raster_, "1", "FLOAT", DEM, water_body_feature_class)
# Process: Feature Vertices To Points
arcpy.FeatureVerticesToPoints_management(water_body_feature_class, point_feature, "ALL")
# Process: Extract Multi Values to Points
arcpy.gp.ExtractMultiValuesToPoints_sa(point_feature, DEM + " elevation", "NONE")
# Process: Summary Statistics
arcpy.Statistics_analysis(point_feature_with_elevation, min_elevation, "elevation MIN", "")
# Process: Get Field Value
SC = arcpy.SearchCursor(min_elevation)
field_name = 'MIN_elevation'
for row in SC:
value=row.getValue(field_name)
# Process: Raster Calculator
rastercalc=arcpy.sa.Raster(constant_raster_)*float(value)
# Process: Extract by Mask
WaterMask=arcpy.gp.ExtractByMask_sa(rastercalc, water_body_feature_class)
arcpy.CopyRaster_management(WaterMask,outputDir+"\\"+name.replace(".shp",'')+".img")