我想要crop一个多波段光栅(4波段)由空间多边形(在SpatialPolygonsDataFrame)。当我在QGIS中显示原始栅格和裁剪后的栅格时,我发现裁剪后的栅格与原始栅格的颜色不同。下面是我的代码:
library(raster)
mosaic_shp <- shapefile("mo_clipper.shp")
mosaic <- brick('orthomosaic.tif')
mosaic_sub <- crop(mosaic, extent(mosaic_shp))
writeRaster(mosaic_sub, 'mosaic_sub.tif', format = "GTiff", overwrite = TRUE)QGIS中部分裁剪的栅格和原始栅格中的对应部分:


我不知道如何处理这个问题,任何帮助都将不胜感激。
发布于 2018-11-20 17:01:05
在QGIS中仔细比较了这两个栅格之后,我找到了答案。该问题与writeRaster函数中的dataType参数有关。所以我们只需要修改代码,如下所示:
library(raster)
mosaic_shp <- shapefile("mo_clipper.shp")
mosaic <- brick('orthomosaic.tif')
mosaic_sub <- crop(mosaic, extent(mosaic_shp))
data_type <- unique(dataType(mosaic)) # get data type from original raster;
writeRaster(mosaic_sub, 'mosaic_sub.tif', format = "GTiff", overwrite = TRUE,
datatype = data_type) # set datatype;https://stackoverflow.com/questions/53388831
复制相似问题