在我们进行PCA进行分析之外,有时候想加载平方根的结果,但是显示无法正常展示,我们这里可以用一个绝对值来实现正常影像的加载
Srqt: Tile error: Array: Max (NaN) cannot be less than min (NaN).
对于在计算 PCA 时遇到此问题的人,我发现“数组:最大值(NaN)不能小于最小值(NaN)”错误的根本原因是负特征值。在某些情况下,您最终会得到非常非常小的负数(例如 -1e-13)并且调用它的 sqrt() 会导致此错误。据我了解,当您具有高度相关的输入波段并且最后几个特征值最终非常接近 0 时,就会发生这些情况。
一个简单的解决方法是在求平方根之前对特征值调用 abs()。例如
var sdImage = ee.Image(eigenValues.abs(). sqrt())
代码:
// 一个演示错误的最小例子
// 阵列。最大(NaN)不能小于最小(NaN)。
// 运行脚本并检查任何像素以查看错误
// 当我们在有负数的数组上调用sqrt()时,就会发生这个错误。
var image = ee.Im