论文需要把栅格数据某些不符合条件的栅格设为NoData,但是要批量操作,去网上搜了一顿终于解决了这个问题,下面附上代码(我的需求是把-999的栅格设为Nodata)
import arcpy
from arcpy.sa import *
arcpy.env.workspace = "你的栅格文件路径"
#搜索路径中的栅格文件
rasterlist = arcpy.ListRasters("*","img/tiff")
output_path = "栅格文件输出路径"
arcpy.CheckOutExtension("Spatial")
for raster in rasterlist:
raster1 = str(raster)
inraster = "你的栅格文件路径" + raster1
expression = 'SetNull(' + "'" + inraster + "'" + '==-999,' + "'" + inraster + "'" + ')'
arcpy.gp.RasterCalculator_sa(expression, output_path + raster1[:-4] + ".tif")
需要在python 2.x中运行arcpy。
如果有用就请点个赞吧!!