def apply_xy_shift(ds, xshift_m, yshift_m):
"""
Apply horizontal shift to GDAL dataset GeoTransform
Returns:
GDAL Dataset copy with updated GeoTransform
"""
print("X shift: ", xshift_m)
print("Y shift: ", yshift_m)
#Update geotransform
gt_orig = ds.GetGeoTransform()
gt_shift = np.copy(gt_orig)
gt_shift[0] += xshift_m
gt_shift[3] += yshift_m
print("Original geotransform:", gt_orig)
print("Updated geotransform:", gt_shift)
#Update ds Geotransform
ds_align = iolib.mem_drv.CreateCopy('', ds, 1)
ds_align.SetGeoTransform(gt_shift)
return ds_align
评论列表
文章目录