在 Earth Engine 中使用 空間關聯的局部度量,例如 Geary 的 C (Anselin 1995)
image.neighborhoodToBands()
。使用上一個示例中的圖像:代碼也要承接上一篇文章:
這裡看一下代碼:
// 創造一個核心9*9相當于建立一個樣本
var row = [1, 1, 1, 1, 1, 1, 1, 1, 1];
// 中心位置為0
var centerRow = [1, 1, 1, 1, 0, 1, 1, 1, 1];
//組裝一個清單清單:作為二維矩陣的 9x9 核心權重。
var rows = [row, row, row, row, centerRow, row, row, row, row];
//從權重建立核心。
// 非零權重表示空間鄰域。
var kernel = ee.Kernel.fixed(9, 9, rows, -4, -4, false);
// 将鄰域轉換為多個波段
var neighs = nir.neighborhoodToBands(kernel);
// 計算本地 Geary's C,這是一種空間關聯的度量
var gearys = nir.subtract(neighs).pow(2).reduce(ee.Reducer.sum())
.divide(Math.pow(9, 2));
Map.addLayer(gearys,
{min: 20, max: 2500, palette: ['0000CC', 'CC0000']},
"Geary's C");