Mais

Iteração da calculadora raster no ModelBuilder?

Iteração da calculadora raster no ModelBuilder?


Eu tenho um grande número de rasters e quero adicionar 1 a cada um deles (por exemplo, os valores de cada raster atualmente variam de 0 a 1, e quero fazer com que eles variem de 1 a 2). Eu acredito que o ModelBuilder, usando a ferramenta "Iterate Rasters" e a ferramenta "Raster Calculator", deve fazer isso.

Em "Raster Calculator" fora do modelbuilder, selecionar o nome do raster e digitar + 1 funciona para fazer isso em um único raster. No entanto, no modelbuilder, o uso de ("% Raster%") + 1 não funciona (veja a foto em anexo).

Sou novo no ModelBuilder e no Python.


A solução mais fácil é substituir a calculadora raster pelo operador "Plus" no iterador.

EDITAR: note que não consegui reproduzir o problema no ArcGIS 10.6:

("% Raster%") + 1

funcionou bem no meu iterador (com saída =, por exemplo,% Raster% _out)

De qualquer forma, a melhor solução é usar um script Python

import arcpy from arcpy.sa import * arcpy.env.workspace = r'your_path_to_directory 'para r em arcpy.ListRasters ("*"): # lista todos os rasters na área de trabalho outRaster = Raster (r) +1 #perfoms adição outRaster.save (r [: - 4] + "out.tif") # salvar saída no formato tif

Assista o vídeo: Raster Overlay: multiply intersect with booleans, add -scored- ordinal rasters