我想获取栅格(卫星图像)数据,并构建一个Dataset
or DataArray
,以加快我的图像处理速度(我必须经常处理多波段、多日期的卫星图像)。
数据作为每个图像日期的单独波段出现,我了解如何将每个波段日期转换为 xarray- DataArray
。我认为为每个波段设置一个变量是最有意义的,并且在每个波段内都有空间(x,y)和时间维度。
但是,我不知道该怎么做。
我一直在与一些虚拟乐队合作以试图解决这个问题,因此将包括在内以澄清我的数据是什么样子以及我正在尝试做什么。
# Set up dummy 3 x 3 array
dA = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# Create 4 dummy images; 2 bands for each of 2 dates (using bands 4 and 5,
# because they're useful for vegetation measures)
d1_b4 = xr.DataArray((dA + 140),
coords={'x': ['1', '2', '3'], 'y': ['a', 'b', 'c']}, dims=('x', 'y'))
d1_b5 = xr.DataArray((dA + 150),
coords={'x': ['1', '2', '3'], 'y': ['a', 'b', 'c']}, dims=('x', 'y'))
d2_b4 = xr.DataArray((dA + 240),
coords={'x': ['1', '2', '3'], 'y': ['a', 'b', 'c']}, dims=('x', 'y'))
d2_b5 = xr.DataArray((dA + 250),
coords={'x': ['1', '2', '3'], 'y': ['a', 'b', 'c']}, dims=('x', 'y'))
# dummy values designed so I can keep track of which array is going
# where while I learn this
然后我想将它们组合成一个DataArray
,带有两个变量(Band4 和 Band5),每个变量都包含两个图像日期......但不知道如何进行。
创建/导入数组时是否需要添加更多坐标或维度,然后concat
沿着这些维度添加?