作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
进行栅格数学运算时,例如 raster1-raster2,输出栅格的数据类型为“FLT4S”,即使 raster1 和栅格 2 的数据类型均为“INT2S”。如何在不写入磁盘的情况下强制输出为“INT2S”?是否有一种全局方式可以说所有光栅处理都将产生 INT2S 数据?
使用 'INT2S' 而不是 'FLT4S' 的原因是在较大的栅格数据集上使用 for 循环时节省内存空间并加快处理速度。
在 rasterOptions() 中可以指定 dataType,但据我所知,这仅适用于写入磁盘时,对吗?
#load package raster
require (raster)
#create sample rasters
r1<-raster::raster(ext=extent(c(0,10,0,10)), res=1, vals=1:100)
r2<-raster::raster(ext=extent(c(0,10,0,10)), res=1, vals=100:1)
#set dataType of sample rasters to 'INT2S'
dataType(r1)<-'INT2S'
dataType(r2)<-'INT2S'
#check dataType of sample rasters
dataType(r1)
dataType(r2)
#do some simple arithmetics
r3<-r2-r1
#check the dataType of the output raster
dataType(r3)
最佳答案
我对“INT2U”数据有同样的问题,我不相信这是可能的。 AFAIK,R 支持“数字”。可以使用 'as.integer()' 将浮点数强制为 'integer',但我认为它只是被截断了。
关于r - 如何在栅格处理中保留栅格数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54528290/
我是一名优秀的程序员,十分优秀!