Instrução
A ferramenta Spatial Analyst pode ser executada usando o módulo Spatial Analyst ArcPy para executar análises de raster. Ao escrever um script Python, é possível arrastar e soltar uma ferramenta no console Python para gerar uma linha de código. Embora a linha de código seja gerada para a ferramenta Calculadora de Raster, a execução retorna uma saída vazia ou falha com a seguinte mensagem de erro:
Erro: AttributeError: O módulo 'arcpy.sa' não tem nenhum atributo de 'RasterCalculator'A ferramenta Calculadora de Raster não se destina ao uso em ambientes de script e não está disponível no módulo Spatial Analyst ArcPy padrão. Ela é projetada para uso apenas no aplicativo como uma ferramenta de geoprocessamento ou no ModelBuilder. No entanto, é possível implantar o módulo Spatial Analyst Arcpy para usar com operadores da Álebra de Mapas em scripts de Python. Consulte ArcGIS Pro: Trabalhando com operadores na Álgebra de Mapas para mais informações.
O script de exemplo abaixo representa o fluxo de trabalho para modificar os valores de pixel usando a operação de multiplicação em todos os rasters em uma pasta.
import arcpy from arcpy import env from arcpy.sa import *
arcpy.env.workspace = r"<caminho_local>\<nome>.gdb" arcpy.env.scratchWorkspace = r"<caminho_local>\<nome>.gdb"
raster_list = arcpy.ListRasters("*") print (raster_list)
try: if arcpy.CheckExtension("Spatial") == "Available": arcpy.CheckOutExtension("Spatial") print ("Checked out \"Spatial\" Extension") else: raise LicenseError except LicenseError: print "A licença Spatial Analyst não está disponível" except: print arcpy.GetMessages(2)
for raster in raster_list: ras = Raster(raster) filename = str(raster)[:-3] + '<extensão do arquivo desejado>' outraster = ras * <valor_desejado> outraster.save(r"<caminho_local>\<nome>.gdb" + "\\" + filename)
Obtenha ajuda de especialistas do ArcGIS
Baixe o Aplicativo de Suporte da Esri