首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将栅格砖块保存到可通过图像查看器查看的geotiff中

将栅格砖块保存到可通过图像查看器查看的geotiff中
EN

Stack Overflow用户
提问于 2016-06-28 15:23:48
回答 1查看 1.2K关注 0票数 1

我想将我的大geotiff文件(4个RGBA波段)裁剪成较小的瓦片。raster包中的brick函数用于读取栅格文件,writeRaster用于写入磁盘。但是,我无法使用图像查看器打开新文件。这是由于缺少ColorInterp标记造成的。我

代码语言:javascript
复制
a <- brick(old.tif)
writeRaster(a, filename = new.tif)

比较old.tif和new.tif中的tiff标记。对于old.tif,标记BitsPerSample为8;对于new.tif,标记为64。所以我将栅格中的dataType更新为INT1U,它应该是0-255

代码语言:javascript
复制
 dataType(a) <- 'INT1U'
 writeRaster(a, filename = new.tif, dataType = 'INT1U')

但是,标记BitsPerSample仍然等于64。我现在的问题是,我应该如何将BitsPerSample指定为8。

PS:这段代码也不能工作

代码语言:javascript
复制
writeRaster(a, filename = new.tif, dataType = 'INT1U', BitsPerSample = 8)

PPS:writeTIFF可以生成没有crs信息的可视tiff文件。

EN

回答 1

Stack Overflow用户

发布于 2017-02-09 03:55:20

使用GeoTiff,您不需要指定每个样本的位数,除非您想偏离基本格式。例如,可以使用GDT_Byte (0-255)指定每个采样2位,以减小布尔图像的文件大小。当它被读回时,它将被正确地解释为GDT_Byte (被大多数软件)。

但是,如果您的数据已经是GDT_Byte (INT1U),则没有必要指定每个样本的位数,它将默认为所需的大小;参数需要小于“默认值”的值,例如:指定的8位格式为1到7位,16位格式为9到15位,等等。

请在此处查看有关GeoTiff镜像的NBITS参数的文档:http://www.gdal.org/frmt_gtiff.html

它还看起来BitsPerSample不是writeRaster的有效参数,但它应该作为创建选项传递,作为options=c("NBITS=n"),与GDAL在R之外使用的语法相同。

关于您引用的颜色解释标记,您可以在options:options=c("PHOTOMETRIC=RGB")中指定。如果存在alpha通道,则可以添加"ALPHA=YES"。这些都是上面链接中记录的标准创建选项。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38069631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档