image.cumulativeCost()
का इस्तेमाल करके, लागत का ऐसा मैप बनाएं जिसमें हर पिक्सल में, सबसे कम लागत वाले पाथ से सोर्स की जगह तक की कुल लागत शामिल हो. यह प्रोसेस, कई तरह के कॉन्टेक्स्ट में काम की होती है. जैसे, निवास स्थान का विश्लेषण करना (Adriaensen et al. 2003), वाटरशेड का ब्यौरा देना (Melles et al. 2011), और इमेज को सेगमेंट में बांटना (Falcao et al. 2004). किसी इमेज पर कुल लागत फ़ंक्शन को कॉल करें, जिसमें हर पिक्सल, उस पर चलने के लिए हर मीटर की लागत दिखाता है. रास्तों का हिसाब, पिक्सल के आठ आस-पास के पिक्सल से लगाया जाता है. ज़रूरी इनपुट में एक source
इमेज शामिल होती है, जिसमें हर ऐसा पिक्सल जो शून्य से अलग होता है, एक संभावित सोर्स (या पाथ की शुरुआत) को दिखाता है. साथ ही, इसमें एक ऐसा maxDistance
(मीटर में) भी शामिल होता है जिस पर पाथ का हिसाब लगाया जाता है. एल्गोरिदम, maxPixels =
maxDistance
/scale से कम लंबाई वाले सभी पाथ की कुल लागत का पता लगाता है. यहां scale, पिक्सल रिज़ॉल्यूशन या Earth Engine में विश्लेषण का स्केल है.
इस उदाहरण में, लैंड कवर वाली इमेज में कम से कम खर्च वाले पाथ का हिसाब लगाने का तरीका बताया गया है:
कोड एडिटर (JavaScript)
// 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');
नतीजा, पहली इमेज की तरह दिखना चाहिए. इसमें हर आउटपुट पिक्सल, सबसे नज़दीकी सोर्स के लिए जमा की गई लागत दिखाता है. ध्यान दें कि डेटा में रुकावटें उन जगहों पर दिख सकती हैं जहां सबसे नज़दीकी सोर्स तक पहुंचने का सबसे कम लागत वाला पाथ, maxPixels से ज़्यादा लंबा हो.
