【森气杂谈】Arcpy重采样tif并捕捉栅格
最近在数据分析时,发现尽管数据重采样为相同分辨率,但是其栅格并未能够逐一对应,为后续分析造成麻烦。如下图所示。
现借助Arcgis环境设置的捕捉栅格来实现,使其达到像素对齐的目的。
具体详见代码。
# -*- encoding: utf-8 -*-
'''
@File : snap_tif.py
@Time : 2022/05/26 14:31:17
@Author : HMX
@Version : 1.0
@Contact : kzdhb8023@163.com
'''
# here put the import lib
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = r'E:\Project\python_gis\snap_tif\data'
snap_img = "prep.tif"
in_img = "lc.tif"
resample_img = "lc_resample.tif"
out_img = "ex_lc.tif"
arcpy.env.snapRaster = snap_img
img_sizeX = arcpy.GetRasterProperties_management(snap_img,"CELLSIZEX")
img_sizeY = arcpy.GetRasterProperties_management(snap_img,"CELLSIZEY")
cellSize = (img_sizeX,img_sizeY)
print(img_sizeX,img_sizeY)
arcpy.Resample_management(in_img
, resample_img
, str(img_sizeX)+' '+str(img_sizeY)
, "NEAREST")
outExtractByMask = ExtractByMask(resample_img, snap_img)
outExtractByMask.save(out_img)
print('ok')
借助Arcgis查看可以发现栅格已经很完美的匹配上了。输出像元大小与捕捉栅格像元大小相同,输出栅格中的像元与捕捉栅格的像元对齐。
如果对你有帮助的话,请‘点赞’、‘收藏’,‘关注’,你们的支持是我更新的动力。欢迎关注我的公众号【森气笔记】。