Soy nuevo en Python y han estado tratando de código de un raster calculator estilo de secuencia de comandos. Básicamente, quiero convertir un mapa de bits que tiene valores de 0 a -10,000 en una trama que está poblada por 1s entre ciertos valores.
La razón por la que quiero hacer en Python es debido a que finalmente se desea automatizar este proceso para que yo pueda elegir diferentes valores (es decir, de 0 a -10, -5 -25 etc) y terminan con un ráster de 1s para cada uno. Mi objetivo es convertir estos polígonos para que yo pueda, a continuación, hacer un número de vector clip de operaciones a través de unos 800 shapefiles.
He escrito un script que produce una nueva trama en la final, pero en lugar de esta red está llena de 1s tiene valores 0-256, así que en algún lugar de mi código que hay un error. Yo estaría muy agradecido si alguien puede ver! Si alguien tiene una manera de acelerar el código o una mejor idea de cómo puedo hacer todo esto también que también sería interesante saber.
Aquí está mi código:
import arcpy
from arcpy import env
from arcpy.sa import *
arcpy.env.overwriteOutput = 1 #this also doesn't work by the way, I have also tried
#TRUE, no errors come up but it still doesn't let me overwrite the output file
#Set environment settings
env.workspace = "C:/folderlocation where inRaster is stored"
# Set local variables
inRaster = Raster("inputraster")
# Check out Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# depths wanted from inputraster raster
var = [-2500,-3000] #min depth, max depth
#Execute and save Con
OutRaster = Con((inRaster <= var[0])&(inRaster <= var[1]),1)
OutRaster.save("C:/drivelocation/outputfilename")
Si alguien tiene alguna idea de que sería recibido con gratitud! Muchas gracias.