从 XYZ 创建栅格时出现警告:附加列有问题?

Posted

技术标签:

【中文标题】从 XYZ 创建栅格时出现警告:附加列有问题?【英文标题】:warning when creating a raster from XYZ: additional columns are a problem? 【发布时间】:2021-03-25 14:50:10 【问题描述】:

我尝试使用“xyz”阅读风格构建具有 2 层的 SpatRast。它使用 3 列作为 rast 函数的输入,但我收到一条包含 4 列的警告消息:

> rast(as.matrix(data.frame(x=c(1,1,2,2),y=c(1,2,1,2),z1=1:4)),type="xyz")
class       : SpatRaster 
dimensions  : 2, 2, 1  (nrow, ncol, nlyr)
resolution  : 1, 1  (x, y)
extent      : 0.5, 2.5, 0.5, 2.5  (xmin, xmax, ymin, ymax)
coord. ref. :  
data source : memory 
names       : z1 
min values  :  1 
max values  :  4

> r=rast(as.matrix(data.frame(x=c(1,1,2,2),y=c(1,2,1,2),z1=1:4,z2=5:8)),type="xyz")
Warning message:
In v[cells] <- xyz[, 3:d[2]] :
 number of items to replace is not a multiple of replacement length

知道为什么吗?

【问题讨论】:

【参考方案1】:

这是个问题,我刚刚fixed it;我现在得到:

library(terra)
#terra version 1.0.0
m <- cbind(x=c(1,1,2,2), y=c(1,2,1,2), z1=1:4, z2=5:8)
r <- rast(m, type="xyz")
values(r)
#     z1 z2
#[1,]  2  6
#[2,]  4  8
#[3,]  1  5
#[4,]  3  7

as.data.frame(r, xy=TRUE)
#  x y z1 z2
#1 1 2  2  6
#2 2 2  4  8
#3 1 1  1  5
#4 2 1  3  7

感谢您报告此事。 (如果你很确定某件事是一个错误,最好的报告位置是here)

【讨论】:

非常感谢。我会尝试更好地调整我的帖子的目的地。我经常在 Github 或 *** 报告之间犹豫不决,因为很难确定问题出在哪里。 我明白了。如果有疑问,我认为来这里比较好

以上是关于从 XYZ 创建栅格时出现警告:附加列有问题?的主要内容,如果未能解决你的问题,请参考以下文章

尝试过滤提取的数据库信息时出现卸载组件警告

将克里金地图导出为栅格时出现问题

Django和Bootstrap:防止出现空字符串时出现警告框

引用 COM 对象 ActiveD 或 MSXML2 时出现大量构建警告

让 oracle 函数知道数据是不是为素数。收到警告:创建时出现编译错误的函数

从 Eclipse 启动 Tomcat 时出现“SetPropertiesRule”警告消息 [重复]