4 votos

Iteración de la calculadora ráster

Tengo un gran número de rásteres y quiero añadir 1 a cada uno de ellos (por ejemplo, cada ráster de valores en la actualidad el rango de 0 a 1, y quiero hacer de ellos en el rango de 1 a 2). Creo modelbuilder, el uso de la "Recorrer los Rásteres" y la "Trama" Calculadora de la herramienta, debe hacer esto.

En "Raster Calculator" fuera de modelbuilder, la selección de la trama nombre y escriba + 1 trabaja para hacer esto en una sola trama. Sin embargo, en modelbuilder, usando ("%Raster%") + 1 no funciona (ver foto adjunta).

Soy nuevo en modelbuilder y Python, por lo que cualquier ayuda se agradece (y tratar de mantenerlo simple!)

Model_to_be_fixed

12voto

xenny Puntos 670

La solución más fácil es reemplazar la calculadora raster con el operador "Plus" en el iterador.

La mejor solución es usar un script de Python

 import arcpy 
from arcpy.sa import *

arcpy.env.workspace = r'your_path_to_directory'
for r in arcpy.ListRasters("*"): # list all rasters in workspace
    outRaster = Raster(r)+1 #perfoms addition
    outRaster.save(r[:-4] + "out.tif") #save output in tif format
 

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X