#Import modules
import os
import arcpy
from arcpy import env
from arcpy.sa import *
arcpy.CheckOutExtension("Spatial")
#Set local variables
wks = arcpy.GetParameterAsText(0) # input workspace
inRaster1 = arcpy.GetParameterAsText(1) # input raster layer
env.workspace = wks
#Perform Constant Raster Function
constantValue = arcpy.GetParameterAsText(2) # input weight value
cellSize = 100
outExtent = Extent(871599.89, 982834.44, 912502.09, 1070920.9)
outConstRaster = CreateConstantRaster(constantValue, "FLOAT", cellSize, outExtent)
outConstRaster.save("temp1")
#Perform Times Function
outTimes = Raster(inRaster1)* Raster("temp1")
outRaster1 = "Wt_" + os.path.basename(inRaster1)
outTimes.save(outRaster1)
#Create script output and delete constant raster
arcpy.SetParameterAsText(3,outRaster1)
arcpy.Delete_management("temp1")
import os
import arcpy
from arcpy import env
from arcpy.sa import *
arcpy.CheckOutExtension("Spatial")
#Set local variables
wks = arcpy.GetParameterAsText(0) # input workspace
inRaster1 = arcpy.GetParameterAsText(1) # input raster layer
env.workspace = wks
#Perform Constant Raster Function
constantValue = arcpy.GetParameterAsText(2) # input weight value
cellSize = 100
outExtent = Extent(871599.89, 982834.44, 912502.09, 1070920.9)
if int(constantValue) == constantValue:
type = 'INTEGER'
else:
type = 'FLOAT'
outConstRaster = CreateConstantRaster(constantValue, type, cellSize, outExtent)
#Perform Times Function
outTimes = Raster(inRaster1)* outConstRaster
outRaster1 = "Wt_" + os.path.basename(inRaster1)
outTimes.save(outRaster1)
#Create script output and delete constant raster
arcpy.SetParameterAsText(3,outRaster1)
#Import modules
import os
import arcpy
from arcpy import env
from arcpy.sa import *
arcpy.CheckOutExtension("Spatial")
#Set local variables
wks = arcpy.GetParameterAsText(0) # input workspace
inRaster1 = arcpy.GetParameterAsText(1) # input raster layer
inRaster2 = arcpy.GetParameterAsText(2) # input raster layer
inRaster3 = arcpy.GetParameterAsText(3) # input raster layer (optional)
inRaster4 = arcpy.GetParameterAsText(4) # input raster layer (optional)
inRaster5 = arcpy.GetParameterAsText(5) # input raster layer (optional)
inRaster6 = arcpy.GetParameterAsText(6) # input raster layer (optional)
inRaster7 = arcpy.GetParameterAsText(7) # input raster layer (optional)
inRaster8 = arcpy.GetParameterAsText(8) # input raster layer (optional)
inRaster9 = arcpy.GetParameterAsText(9) # input raster layer (optional)
inRaster10 = arcpy.GetParameterAsText(10) # input raster layer (optional)
env.workspace = wks
#Multiply Raster by a constant with CreateConstantRaster
constantValue1 = arcpy.GetParameterAsText(11) # input weight value
constantValue2 = arcpy.GetParameterAsText(12) # input weight value
constantValue3 = arcpy.GetParameterAsText(13) # input weight value (optional)
constantValue4 = arcpy.GetParameterAsText(14) # input weight value (optional)
constantValue5 = arcpy.GetParameterAsText(15) # input weight value (optional)
constantValue6 = arcpy.GetParameterAsText(16) # input weight value (optional)
constantValue7 = arcpy.GetParameterAsText(17) # input weight value (optional)
constantValue8 = arcpy.GetParameterAsText(18) # input weight value (optional)
constantValue9 = arcpy.GetParameterAsText(19) # input weight value (optional)
constantValue10 = arcpy.GetParameterAsText(20) # input weight value (optional)
cellSize = 100
outExtent = Extent(871599.89, 982834.44, 912502.09, 1070920.9)
outConstRaster1 = CreateConstantRaster(constantValue1, "FLOAT", cellSize, outExtent)
outConstRaster2 = CreateConstantRaster(constantValue2, "FLOAT", cellSize, outExtent)
outConstRaster3 = CreateConstantRaster(constantValue3, "FLOAT", cellSize, outExtent)
outConstRaster4 = CreateConstantRaster(constantValue4, "FLOAT", cellSize, outExtent)
outConstRaster5 = CreateConstantRaster(constantValue5, "FLOAT", cellSize, outExtent)
outConstRaster6 = CreateConstantRaster(constantValue6, "FLOAT", cellSize, outExtent)
outConstRaster7 = CreateConstantRaster(constantValue7, "FLOAT", cellSize, outExtent)
outConstRaster8 = CreateConstantRaster(constantValue8, "FLOAT", cellSize, outExtent)
outConstRaster9 = CreateConstantRaster(constantValue9, "FLOAT", cellSize, outExtent)
outConstRaster10 = CreateConstantRaster(constantValue10, "FLOAT", cellSize, outExtent)
#Create weighted raster layer with Times
outTimes1 = Raster(inRaster1)* outConstRaster1
outTimes2 = Raster(inRaster2)* outConstRaster2
outTimes3 = Raster(inRaster3)* outConstRaster3
outTimes4 = Raster(inRaster4)* outConstRaster4
outTimes5 = Raster(inRaster5)* outConstRaster5
outTimes6 = Raster(inRaster6)* outConstRaster6
outTimes7 = Raster(inRaster7)* outConstRaster7
outTimes8 = Raster(inRaster8)* outConstRaster8
outTimes9 = Raster(inRaster9)* outConstRaster9
outTimes10 = Raster(inRaster10)* outConstRaster10
outRaster1 = "Wt_" + os.path.basename(inRaster1)
outRaster2 = "Wt_" + os.path.basename(inRaster2)
outRaster3 = "Wt_" + os.path.basename(inRaster3)
outRaster4 = "Wt_" + os.path.basename(inRaster4)
outRaster5 = "Wt_" + os.path.basename(inRaster5)
outRaster6 = "Wt_" + os.path.basename(inRaster6)
outRaster7 = "Wt_" + os.path.basename(inRaster7)
outRaster8 = "Wt_" + os.path.basename(inRaster8)
outRaster9 = "Wt_" + os.path.basename(inRaster9)
outRaster10 = "Wt_" + os.path.basename(inRaster10)
outTimes.save(outRaster1)
outTimes.save(outRaster2)
outTimes.save(outRaster3)
outTimes.save(outRaster4)
outTimes.save(outRaster5)
outTimes.save(outRaster6)
outTimes.save(outRaster7)
outTimes.save(outRaster8)
outTimes.save(outRaster9)
outTimes.save(outRaster10)
#Create script output
env.workspace = wks1
arcpy.SetParameterAsText(21,wks1)
#Import modules
import os
import arcpy
from arcpy import env
from arcpy.sa import *
arcpy.CheckOutExtension("Spatial")
#Set local variables
wks = arcpy.GetParameterAsText(0) # input workspace
wks1 = wks
inRaster1 = arcpy.GetParameterAsText(1) # input raster layer
inRaster2 = arcpy.GetParameterAsText(2) # input raster layer
inRaster3 = arcpy.GetParameterAsText(3) # input raster layer
inRaster4 = arcpy.GetParameterAsText(4) # input raster layer
inRaster5 = arcpy.GetParameterAsText(5) # input raster layer
inRaster6 = arcpy.GetParameterAsText(6) # input raster layer
inRaster7 = arcpy.GetParameterAsText(7) # input raster layer
inRaster8 = arcpy.GetParameterAsText(8) # input raster layer
inRaster9 = arcpy.GetParameterAsText(9) # input raster layer
inRaster10 = arcpy.GetParameterAsText(10) # input raster layer
env.workspace = wks
cellSize = 100
outExtent = Extent(871599.89, 982834.44, 912502.09, 1070920.9)
#Multiply Raster by a constant with CreateConstantRaster
constantValue1 = arcpy.GetParameterAsText(11) # input weight value
outConstRaster1 = CreateConstantRaster(constantValue1, "FLOAT", cellSize, outExtent)
outTimes1 = Raster(inRaster1)* outConstRaster1
outRaster1 = "Wt_" + os.path.basename(inRaster1)
outTimes1.save(outRaster1) # save raster
constantValue2 = arcpy.GetParameterAsText(12) # input weight value
outConstRaster2 = CreateConstantRaster(constantValue2, "FLOAT", cellSize, outExtent)
outTimes2 = Raster(inRaster2)* outConstRaster2
outRaster2 = "Wt_" + os.path.basename(inRaster2)
outTimes2.save(outRaster2)
#isinstnace test for parameter input
constantValue3 = arcpy.GetParameterAsText(13) # input weight value
if isinstance(constantValue3, ()):
outConstRaster3 = CreateConstantRaster(constantValue3, "FLOAT", cellSize, outExtent)
outTimes3 = Raster(inRaster3)* outConstRaster3
outRaster3 = "Wt_" + os.path.basename(inRaster3)
outTimes3.save(outRaster3)
else:
arcpy.SetParameterAsText(21,wks1)
sys.exit()
constantValue4 = arcpy.GetParameterAsText(14) # input weight value
if isinstance(constantValue4, ()):
outConstRaster4 = CreateConstantRaster(constantValue4, "FLOAT", cellSize, outExtent)
outTimes4 = Raster(inRaster4)* outConstRaster4
outRaster4 = "Wt_" + os.path.basename(inRaster4)
outTimes4.save(outRaster4)
else:
arcpy.SetParameterAsText(21,wks1)
sys.exit()
constantValue5 = arcpy.GetParameterAsText(15) # input weight value
if isinstance(constantValue5, ()):
outConstRaster5 = CreateConstantRaster(constantValue5, "FLOAT", cellSize, outExtent)
outTimes5 = Raster(inRaster5)* outConstRaster5
outRaster5 = "Wt_" + os.path.basename(inRaster5)
outTimes5.save(outRaster5)
else:
arcpy.SetParameterAsText(21,wks1)
sys.exit()
constantValue6 = arcpy.GetParameterAsText(16) # input weight value
if isinstance(constantValue6, ()):
outConstRaster6 = CreateConstantRaster(constantValue6, "FLOAT", cellSize, outExtent)
outTimes6 = Raster(inRaster6)* outConstRaster6
outRaster6 = "Wt_" + os.path.basename(inRaster6)
outTimes6.save(outRaster6)
else:
arcpy.SetParameterAsText(21,wks1)
sys.exit()
constantValue7 = arcpy.GetParameterAsText(17) # input weight value
if isinstance(constantValue7, ()):
outConstRaster7 = CreateConstantRaster(constantValue7, "FLOAT", cellSize, outExtent)
outTimes7 = Raster(inRaster7)* outConstRaster7
outRaster7 = "Wt_" + os.path.basename(inRaster7)
outTimes7.save(outRaster7)
else:
arcpy.SetParameterAsText(21,wks1)
sys.exit()
constantValue8 = arcpy.GetParameterAsText(18) # input weight value
if isinstance(constantValue8, ()):
outConstRaster8 = CreateConstantRaster(constantValue8, "FLOAT", cellSize, outExtent)
outTimes8 = Raster(inRaster8)* outConstRaster8
outRaster8 = "Wt_" + os.path.basename(inRaster8)
outTimes8.save(outRaster8)
else:
arcpy.SetParameterAsText(21,wks1)
sys.exit()
constantValue9 = arcpy.GetParameterAsText(19) # input weight value
if isinstance(constantValue9, ()):
outConstRaster9 = CreateConstantRaster(constantValue9, "FLOAT", cellSize, outExtent)
outTimes9 = Raster(inRaster9)* outConstRaster9
outRaster9 = "Wt_" + os.path.basename(inRaster9)
outTimes9save(outRaster9)
else:
arcpy.SetParameterAsText(21,wks1)
sys.exit()
constantValue10 = arcpy.GetParameterAsText(20) # input weight value
if isinstance(constantValue10, ()):
outConstRaster10 = CreateConstantRaster(constantValue10, "FLOAT", cellSize, outExtent)
outTimes10 = Raster(inRaster10)* outConstRaster10
outRaster10 = "Wt_" + os.path.basename(inRaster10)
outTimes10.save(outRaster10)
else:
arcpy.SetParameterAsText(21,wks1)
sys.exit()
I have been toying around with ToolValidator b/c the script has to skip over creating a constant raster & performing times if there is no parameter (after the first 2 raster layers & weight values the parameters are optional).
if arcpy.GetParameterAsText(2) != "":
do stuff with arcpy.GetParameterAsText(2)
if arcpy.GetParameterAsText(2) != "": do stuff with arcpy.GetParameterAsText(2)
if arcpy.GetParameterAsText(2):
do stuff with arcpy.GetParameterAsText(2)