如何将[2,4,8]这样的一维数组影像转化为[[2,4,8]]这样的二维数组影像?
思路:
1.先把一维数组[2,4,8]转化为[[2],[4],[8]]二维数组影像
2.再将二维数组进行转置
//创建1维数组
var D1array = ee.Array([2,4,8]);
//将1维数组转化为1维数组影像
var D1arrayImage = ee.Image(D1array);
//1维数组影像转化为2维数组影像(3×1)
var D2arrayImage = D1arrayImage.toArray(1);
//注:toArray(1)将[2,4,8]转换为了[[2],[4],[8]]
//将2维数组影像(3×1)转置为(1×3)
var D2ParrayImage = D2arrayImage.matrixTranspose(0,1);
注:matrixTranspose(axis1,axis2)中的参数是进行转置的轴。
这只是我在处理数据中摸索的一个方法,如果有更简单的方法,也请在评论区告诉我呀。
更新:(用重新塑形的方法更简单)
var D2arrayImage = D1arrayImage.arrayReshape(ee.Image([1, -1]).toArray(), 2);