ArcPy 裁剪栅格并保证数据类型为 Double 型
你可以使用 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)
请注意替换代码中的输入和输出文件路径为你自己的实际路径。
原文地址: http://www.cveoy.top/t/topic/hEmd 著作权归作者所有。请勿转载和采集!