1. Tips
Arcgis里将nc(NETCDF)文件转化为栅格图像,需要进行的流程应当是:
1. Multidimension Tools-Make NetCDF Raster Layer工具,加载文件。
2. Data Management-Tools-Layers and Table Views-Make Raster Layer,将Layer文件导出tif格式
这里将利用到这两个工具循环处理多个nc文件。
2. 工具帮助
3. 实例
import os
import arcpy
# 设置工作空间和输入输出文件夹路径
workspace_nc = r"G:\ERA5NC_month\preciptation\92_21\Y2"
workspace_tif = r"G:\ERA5_month_TIF\92_21\prec_Y2"
# 设置工作空间
arcpy.env.workspace = workspace_nc
# 获取文件夹中所有NC文件列表
nc_files = [f for f in os.listdir(workspace_nc) if f.endswith('.nc')]
# 循环处理每个NC文件
for nc_file in nc_files:
print(nc_file)
# 构建NC文件的完整路径
input_nc_file = os.path.join(workspace_nc, nc_file)
# 构建输出TIFF文件的完整路径
output_tif_file = os.path.join(workspace_tif, nc_file[-12:-3] + '.tif')#这里的数字是根据文件名的长度
# 使用MakeNetCDFRasterLayer_md函数创建NetCDF图层
output_layer = "nc_layer_" + os.path.splitext(nc_file)[0] # 创建唯一的图层名称
arcpy.MakeNetCDFRasterLayer_md(input_nc_file, "precipitation", "lon", "lat", output_layer, "time", "", "BY_VALUE")#选择波段、经纬度等
# 使用CopyRaster函数将图层转换为TIFF文件,并指定名称
arcpy.CopyRaster_management(output_layer, output_tif_file, "", "", "", "NONE", "NONE", "")
print("Converted NC to TIFF.")