Gunakan image.cumulativeCost()
untuk menghitung peta biaya dengan setiap piksel
berisi total biaya jalur biaya terendah ke lokasi sumber terdekat. Proses
ini berguna dalam berbagai konteks seperti analisis habitat
(Adriaensen
et al. 2003), delinerasi DAS
(Melles et al.
2011), dan segmentasi gambar
(Falcao
et al. 2004). Panggil fungsi biaya kumulatif pada gambar yang setiap pikselnya mewakili biaya per meter untuk melintasinya. Jalur dihitung melalui delapan tetangga
piksel. Input yang diperlukan mencakup gambar source
, dengan setiap
piksel non-nol mewakili sumber potensial (atau awal jalur), dan
maxDistance
(dalam meter) yang digunakan untuk menghitung jalur. Algoritma menemukan biaya kumulatif dari semua jalur yang panjangnya kurang dari maxPixels = maxDistance
/scale, dengan scale adalah resolusi piksel, atau skala analisis di Earth Engine.
Contoh berikut menunjukkan cara menghitung jalur biaya terendah di seluruh gambar tutupan lahan:
// A rectangle representing Bangui, Central African Republic. var geometry = ee.Geometry.Rectangle([18.5229, 4.3491, 18.5833, 4.4066]); // Create a source image where the geometry is 1, everything else is 0. var sources = ee.Image().toByte().paint(geometry, 1); // Mask the sources image with itself. sources = sources.selfMask(); // The cost data is generated from classes in ESA/GLOBCOVER. var cover = ee.Image('ESA/GLOBCOVER_L4_200901_200912_V2_3').select(0); // Classes 60, 80, 110, 140 have cost 1. // Classes 40, 90, 120, 130, 170 have cost 2. // Classes 50, 70, 150, 160 have cost 3. var beforeRemap = [60, 80, 110, 140, 40, 90, 120, 130, 170, 50, 70, 150, 160]; var afterRemap = [1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3]; var cost = cover.remap(beforeRemap, afterRemap, 0); // Compute the cumulative cost to traverse the land cover. var cumulativeCost = cost.cumulativeCost({ source: sources, maxDistance: 80 * 1000 // 80 kilometers }); // Display the results Map.setCenter(18.71, 4.2, 9); Map.addLayer(cover, {}, 'Globcover'); Map.addLayer(cumulativeCost, {min: 0, max: 5e4}, 'accumulated cost'); Map.addLayer(geometry, {color: 'FF0000'}, 'source geometry');
Hasilnya akan terlihat seperti Gambar 1, dengan setiap piksel output mewakili biaya terakumulasi ke sumber terdekat. Perhatikan bahwa diskontinuitas dapat muncul di tempat-tempat dengan panjang jalur biaya terendah ke sumber terdekat melebihi maxPixels.
