【问题标题】:Extracting all individual layers from a Raster Brick File从光栅砖文件中提取所有单独的图层
【发布时间】:2020-01-03 07:15:10
【问题描述】:

我已经在 R 中将 28 层堆叠成一块砖

brik
class      : RasterBrick 
dimensions : 720, 1440, 1036800, 28  (nrow, ncol, ncell, nlayers)
resolution : 0.25, 0.25  (x, y)
extent     : -180, 180, -90, 90  (xmin, xmax, ymin, ymax)
crs        : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0 
source     : C:/Users/Ujjal Baruah/AppData/Local/Temp/Rtmp0GaiPO/raster/r_tmp_2020-01-03_030159_46788_10398.grd 
names      : Data.Fiel//tNO2Trop.1, Data.Fiel//tNO2Trop.2, Data.Fiel//tNO2Trop.3, Data.Fiel//tNO2Trop.4, Data.Fiel//tNO2Trop.5, Data.Fiel//tNO2Trop.6, Data.Fiel//tNO2Trop.7, Data.Fiel//tNO2Trop.8, Data.Fiel//tNO2Trop.9, Data.Fiel//NO2Trop.10, Data.Fiel//NO2Trop.11, Data.Fiel//NO2Trop.12, Data.Fiel//NO2Trop.13, Data.Fiel//NO2Trop.14, Data.Fiel//NO2Trop.15, ... 

现在,我想使用

将这些单独的图层保存在 Geotiff 中
writeRaster(brik, file.path('/output/filepath/', names(brik)), bylayer=TRUE, format('GTiff'))

不幸的是,我在 geotiff 中只得到一个文件而不是多层。

任何解决方案将不胜感激。 谢谢

【问题讨论】:

    标签: r stack raster layer geotiff


    【解决方案1】:

    writeRaster 似乎在创建光栅文件之前去掉了点号。因此,它会尝试将您的图层全部写入Data.Fiel//tNO2Trop.tif

    > writeRaster(r, "./test.2", format="GTiff")
    > dir(".")
    [1] "test.tif"
    

    (请注意,由于某种原因,您的代码有 format("GTiff") 用于 format="GTiff"。这是侥幸,format 是一个函数并返回字符串 "GTiff"writeRaster 在这里期待格式字符串)

    我不知道为什么,也不知道这是记录在案还是错误。您可以使用破折号而不是圆点来解决问题:

    > writeRaster(r, "./test-2", format="GTiff")
    > dir(".")
    [1] "test-2.tif" "test.tif" 
    

    如果点对你很重要,那么在之后做一个file.rename

    编辑:如果您将.tif 添加到文件名中,那么一切都很好:

    > writeRaster(s, names(s), bylayer=TRUE, format="GTiff")
    Error in .getGDALtransient(x, filename = filename, options = options,  : 
      filename exists; use overwrite=TRUE
    

    第二层失败,因为点号被剥离:

    > dir()
    [1] "layer.tif"
    

    .tif 添加到名称中:

    > writeRaster(s, paste0(names(s),".tif"), bylayer=TRUE, format="GTiff")
    

    沙赞:

    > dir()
    [1] "layer.1.tif" "layer.2.tif" "layer.3.tif" "layer.tif"  
    

    【讨论】:

    • 感谢您的帮助。在名称中添加 .tif 即可完成工作...非常感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-21
    • 2020-12-05
    • 1970-01-01
    • 2016-12-25
    • 2015-01-28
    • 2023-03-17
    相关资源
    最近更新 更多