之前采用的函数是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_PIXEL=T