从矩阵和栅格计算 wasserstein 度量

问题描述

我一直在尝试使用包 transport 中的函数计算 wasserstein 指标。我有两个高程图层作为 .tif 文件,我已经对它们进行了光栅化。然后我将它们转换为矩阵,以便它们可以在 pgrd 函数中使用,然后将矩阵转换为可以在 wasserstein 函数中使用的格式。当我尝试使用 wasserstein 函数中的矩阵时,我最终遇到了这个错误。有没有熟悉 transport 包的人可以解释这个错误?您对从光栅文件计算此指标的其他方法有什么建议吗?

Error in gen_cost(x,x,threads) : std::bad_alloc
In addition: Warning message:
In transport.pgrid(a,b,p = p,...) :
  total mass in a and b differs. Normalizing a and b to probability measures (totcontmass=1).

这是我一直在使用的代码:

library(raster)
library(transport)
download.file("https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/13/TIFF/n37w115/USGS_13_n37w115.tif","my_elev.tif",mode = "wb")
download.file("https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/13/TIFF/n42w109/USGS_13_n42w109.tif","my_elev2.tif",mode = "wb")


dem <- raster("my_elev.tif")
dem2 <- raster("my_elev2.tif")
plot(dem)

mtrx <- as.matrix(dem)
pgrd <- pgrid(mtrx)

mtrx2 <- as.matrix(dem2)
pgrd2 <- pgrid(mtrx2)

wasserstein(pgrd,pgrd2,p = 1)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...