我想创建一个包含 5 个陆地卫星波段的 PCA 来检测变化。我知道如何使用 arcgis,但我可以在 python (jupyter Notebook) 中找到解决方案。我有一个数据数组,其中包含我所有的波段 varibale 和 lon 和 lat。然后我用我的所有波段创建一个数组(使用 np.dstack((dataset_1984.blue, etc.))。之后我不知道如何继续。一些帮助将非常有用。
stacked = np.dstack((dataset_1984.blue,dataset_1984.green,dataset_1984.red,dataset_1984.nir,dataset_1984.swir1))
创造:
array([[[ 348, 502, 397, 2974, 1370],
[ 348, 502, 397, 2974, 1370],
[ 368, 502, 397, 3270, 1370],
...,
[ 603, 887, 843, 3121, 2082],
[ 603, 887, 843, 3121, 2082],
[ 738, 1172, 1380, 2364, 2456]],
[[ 369, 544, 471, 2889, 1399],
[ 388, 627, 507, 3354, 1833],
[ 388, 627, 507, 3354, 1833],
...,
[ 680, 1009, 1165, 2575, 2715],
[ 680, 1009, 1165, 2575, 2715],
[ 757, 1172, 1416, 2279, 2743]],
接着:
data = stacked - np.mean(stacked, axis=0)
data.shape
(353, 588, 5)