你可以使用 arcpy 中的 ExtractByMask 工具来裁剪栅格数据,并使用 arcpy 中的 RasterToNumPyArray 和 NumPyArrayToRaster 工具来确保裁剪得到的栅格数据类型为 double 型。

下面是一个示例代码:

import arcpy
import numpy as np

# 设置工作空间
arcpy.env.workspace = r'C:\path\to\your\workspace'

# 定义输入的 shp 和 tif 文件路径
in_shp = r'C:\path\to\your\input.shp'
in_tif = r'C:\path\to\your\input.tif'

# 定义输出的栅格数据路径
out_tif = r'C:\path\to\your\output.tif'

# 使用 ExtractByMask 工具裁剪栅格数据
arcpy.gp.ExtractByMask_sa(in_tif, in_shp, out_tif)

# 将裁剪后的栅格数据转换为 NumPy 数组
array = arcpy.RasterToNumPyArray(out_tif)

# 将 NumPy 数组转换回栅格数据,并指定数据类型为 double 型
raster = arcpy.NumPyArrayToRaster(array, arcpy.Point(arcpy.env.extent.XMin, arcpy.env.extent.YMin), arcpy.env.cellSize, value_to_nodata=None)
raster.save(out_tif)

请注意替换代码中的输入和输出文件路径为你自己的实际路径。

ArcPy 裁剪栅格并保证数据类型为 Double 型

原文地址: http://www.cveoy.top/t/topic/hEmd 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录