# -*- coding: utf-8 -*-
import arcpy
import os
def NcToRaster(ncFile, workspace=None):
if workspace is None:
workspace = os.path.dirname(ncFile)
arcpy.env.workspace = workspace
# 允许覆盖输出
arcpy.env.overwriteOutput = True
# 查看必要的许可证
arcpy.CheckOutExtension("spatial")
arcpy.CheckOutExtension("ImageAnalyst")
# Process: 创建 NetCDF 栅格图层 (创建 NetCDF 栅格图层) (md)
z_Layer = arcpy.md.MakeNetCDFRasterLayer(in_netCDF_file=ncFile, variable="z", x_dimension="x", y_dimension="y")
# Process: 投影栅格 (投影栅格) (management)
z_Layer_ProjectRaster = arcpy.management.ProjectRaster(in_raster=z_Layer,
out_coor_system=arcpy.SpatialReference(3857),
resampling_type="BILINEAR",
cell_size="6250 6250",
vertical="NO_VERTICAL")
# Process: 设为空函数 (设为空函数) (sa)
SetNull_z_Layer = arcpy.sa.SetNull(in_conditional_raster=z_Layer_ProjectRaster,
in_false_raster_or_constant=z_Layer_ProjectRaster, where_clause="VALUE = 0")
# Process: 删除栅格图层
arcpy.Delete_management(z_Layer_ProjectRaster)
SetNull_z_Layer.save(r"asi-AMSR2-s6250-20231014-v5.4.tif")
if __name__ == '__main__':
nc = r"D:/Desktop/asi-AMSR2-s6250-20231014-v5.4.nc"
NcToRaster(nc)
Arcpy | NetCDF转栅格(投影3857)
发布时间 2023-10-25 01:05:17作者: 槑孒