之前采用的函数是envi_layer_stacking_doit,最近发现了一个十分高效的方法 RegridRaster task
代码如下:
function y_layer_stack,Raster_based,Raster_toresize,respath
;将raster_toresize 影像进行重采样,行列号以及投影与 raster_based保持一致
; Retrieve the grid parameters of the based raster
PixelSize = Raster_based.SPATIALREF.PIXEL_SIZE
CoordSysString = Raster_based.SPATIALREF.COORD_SYS_STR
NumRows = Raster_based.NROWS
NumCols = Raster_based.NCOLUMNS
TiePointMap = Raster_based.SPATIALREF.TIE_POINT_MAP
TiePointPixel = Raster_based.SPATIALREF.TIE_POINT_PIXEL
CoordSys = ENVICoordSys(COORD_SYS_STR = CoordSysString)
; Create a grid definition for the original based raster
Grid = ENVIGridDefinition(CoordSys, $
PIXEL_SIZE=PixelSize, $
NROWS=NumRows, $
NCOLUMNS=NumCols, $
TIE_POINT_MAP=TiePointMap, $
TIE_POINT_PIXE

本文介绍了使用ENVI/IDL的RegridRaster任务来批量裁剪同一地区的多幅影像,通过重采样保持与基础影像相同的行列号和投影。通过示例代码展示了如何实现这一过程,并指出在批量操作中如何添加for循环。
最低0.47元/天 解锁文章
3424

被折叠的 条评论
为什么被折叠?



