【问题标题】:Plotting a big raster file results in a white frame绘制一个大的光栅文件会产生一个白框
【发布时间】:2021-07-29 20:33:18
【问题描述】:
我目前正在使用 256x256 像素的 ASCII 矩阵。我正确地将它导入到 R 中,对其进行光栅化,并且这些值是我所期望的(即,正确的 x 和 y 边界以及最小和最大“z”值)。然而,在绘制它时,我得到了一个空白栅格,就像矩阵中的每个值都是零一样。
我尝试将另一个文件创建为 5x5 矩阵,我对此没有任何问题。我错过了什么吗?
以下文件和屏幕截图:
my 256x256 raster
https://gofile.io/d/JGApXIascii 矩阵链接
【问题讨论】:
标签:
r
matrix
plot
ascii
raster
【解决方案1】:
您的栅格几乎是空的,因为它只有 2% 的值 !=0。但是,如果您导出栅格并在 GIS 软件(如 Qgis 或 ArcMap)中对其进行可视化,通过将 0 值设置为 100% 透明度,您可以看到其余值:
这里是一个例子:
library(raster)
x <- read.table("D:/muon sideways0000.txt")
x <- as.matrix(x)
r <- raster(x)
writeRaster(r,"D:/r.tif")
z <- apply(x, 1, function(x)sum(x!=0))
sum(z)/ncell(r)*100
【解决方案2】:
为了帮助可视化,您可以这样做
library(terra)
x <- read.table("muon sideways0000.txt")
x <- as.matrix(x)
r <- rast(x)
plot(r > 1)
或其他一些转换,例如
rr <- clamp(r, 0, 100)
plot(rr)