Сохранение имен слоев при написании растра - PullRequest
0 голосов
/ 23 апреля 2019

Хотите сохранить имена растровых слоев во время записи растрового стека

Я пробовал с указанным кодом, Ошибка не отображается с этим кодом, но в местоположении не отображаются файлы, записанные там.

MosaicedA<- mosaic(Stacked1A,Stacked2A, fun=mean, tolerance=0.5)
names(MosaicedA)<-c('one','Two','three')
################################################################
writeRaster(MosaicedA,filename = names(MosaicedA),bylayer=TRUE,format="ENVI",overwrite=TRUE, "C:/Users/rajeev.bhattarai/Documents/Research/Testing/Rajeev.envi" )

1 Ответ

0 голосов
/ 23 апреля 2019

Вот обходная функция:

writeENVI <- function(x, f, ...) {
    writeRaster(x, f, overwrite=TRUE, ...)
    cat("band names = {", paste(names(x),collapse=","), "}", "\n", file=extension(f, "hdr"), append=TRUE)
}

Пример данных

library(raster)
s <- stack(system.file("external/rlogo.grd", package="raster")) 
names(s)
#[1] "red"   "green" "blue" 

Используйте функцию

writeENVI(s, "test.envi")

Проверьте, что это сработало

brick(f)
#class      : RasterBrick 
#dimensions : 77, 101, 7777, 3  (nrow, ncol, ncell, nlayers)
#resolution : 1, 1  (x, y)
#extent     : 0, 101, 0, 77  (xmin, xmax, ymin, ymax)
#crs        : +proj=merc +lon_0=0 +lat_ts=0 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0 
#source     : test.envi 
#names      : red, green, blue 
#min values :   0,     0,    0 
#max values : 255,   255,  255 
...