पानी की मौजूदगी में बदलाव की इंटेंसिटी दिखाने वाली डेटा लेयर से यह पता चलता है कि दो समयसीमाओं के बीच, सतह पर मौजूद पानी में कितना बदलाव हुआ है. ये समयसीमाएं हैं: 1984-1999 और 2000-2015. यह लेयर, दो समयसीमाओं के होमोलॉगस जोड़े के महीनों में हुए बदलाव का औसत निकालती है. इस लेयर के बारे में ज़्यादा जानकारी के लिए, डेटा यूज़र गाइड (v2) देखें.
ट्यूटोरियल के इस सेक्शन में, आपको इनके बारे में जानकारी मिलेगी:
- पानी की मौजूदगी में बदलाव की इंटेंसिटी को विज़ुअलाइज़ करने के लिए, स्टाइल वाली मैप लेयर जोड़ें.
- हिस्टोग्राम का इस्तेमाल करके, किसी खास इलाके में बदलाव की इंटेंसिटी की खास जानकारी पाएं.
विज़ुअलाइज़ेशन
पानी की मौजूदगी की लेयर की तरह ही, हम मैप में पानी की मौजूदगी में बदलाव की इंटेंसिटी का बेसिक विज़ुअलाइज़ेशन जोड़कर शुरुआत करेंगे. इसके बाद, हम इसे बेहतर बनाएंगे. बदलाव की तीव्रता को दो तरीकों से दिखाया जाता है. इसे ऐब्सलूट वैल्यू और नॉर्मलाइज़्ड वैल्यू, दोनों के तौर पर दिखाया जाता है. हम इस ट्यूटोरियल में, ऐब्सलूट वैल्यू का इस्तेमाल करेंगे. GSW इमेज से, कुल बदलाव की इंटेंसिटी लेयर चुनकर शुरू करें:
कोड एडिटर (JavaScript)
var change = gsw.select("change_abs");
कोड के Constants सेक्शन में, एक ऐसा स्टेटमेंट जोड़ें जो एक नया वैरिएबल बनाता है. यह वैरिएबल तय करता है कि लेयर को कैसे स्टाइल किया जाएगा. इस स्टाइल में, उन इलाकों को दिखाया गया है जहां सतह पर मौजूद पानी की मात्रा में कमी/बढ़ोतरी हुई है. कमी को लाल रंग और बढ़ोतरी को हरे रंग में दिखाया गया है. जिन इलाकों में सतह पर मौजूद पानी की मात्रा में कोई बदलाव नहीं हुआ है उन्हें काले रंग में दिखाया गया है.
कोड एडिटर (JavaScript)
var VIS_CHANGE = { min:-50, max:50, palette: ['red', 'black', 'limegreen'] };
कोड के Map Layers सेक्शन के आखिर में, एक ऐसा स्टेटमेंट जोड़ें जो मैप में नई लेयर जोड़ता हो.
कोड एडिटर (JavaScript)
Map.setCenter(-74.4557, -8.4289, 11); // Ucayali River, Peru Map.addLayer({ eeObject: change, visParams: VIS_CHANGE, name: 'occurrence change intensity' });

दिलचस्पी वाले किसी इलाके में हुए बदलाव की खास जानकारी
इस सेक्शन में, हम दिलचस्पी वाले किसी इलाके में हुए बदलाव की जानकारी देंगे. दिलचस्पी वाला क्षेत्र तय करने के लिए, पॉलीगॉन बनाने वाले टूल पर क्लिक करें. यह ज्यामिति टूल में से एक है. इससे एक नई Geometry Imports लेयर बनेगी. इसका नाम डिफ़ॉल्ट रूप से "geometry" होता है. नाम बदलने के लिए, लेयर के नाम के दाईं ओर मौजूद गियर आइकॉन पर क्लिक करें. (ध्यान दें कि इसे दिखाने के लिए, आपको कर्सर को लेयर के नाम पर रखना पड़ सकता है.)
लेयर का नाम बदलकर roi
(दिलचस्पी वाली जगह या आरओआई के लिए) करें. इसके बाद, हम मैप पर मौजूद पॉइंट की सीरीज़ पर क्लिक करके, पॉलीगॉन के तौर पर अपनी पसंदीदा जगह तय कर सकते हैं.

अब हमारा दिलचस्पी वाला क्षेत्र तय हो गया है और इसे एक वैरिएबल में सेव कर लिया गया है. इसलिए, हम इसका इस्तेमाल आरओआई के लिए बदलाव की इंटेंसिटी का हिस्टोग्राम कैलकुलेट करने के लिए कर सकते हैं. स्क्रिप्ट के Calculations सेक्शन में यह कोड जोड़ें.
कोड एडिटर (JavaScript)
// Calculate a change intensity for the region of interest. var histogram = change.reduceRegion({ reducer: ee.Reducer.histogram(), geometry: roi, scale: 30, bestEffort: true, }); print(histogram);
पहले स्टेटमेंट में, आरओआई के हिसाब से, बदलाव की इंटेंसिटी वैल्यू के हिस्टोग्राम का हिसाब लगाया जाता है. इसमें 30 मीटर के स्केल पर सैंपलिंग की जाती है. दूसरा, नतीजे के तौर पर मिले ऑब्जेक्ट को कोड एडिटर के कंसोल टैब में प्रिंट करता है. हिस्टोग्राम बकेट की वैल्यू देखने के लिए, ऑब्जेक्ट ट्री को बड़ा किया जा सकता है. इसमें संख्या वाला डेटा मौजूद है, लेकिन नतीजों को बेहतर तरीके से विज़ुअलाइज़ किया जा सकता है.

इसे बेहतर बनाने के लिए, हम हिस्टोग्राम चार्ट जनरेट कर सकते हैं. हिस्टोग्राम ऑब्जेक्ट को तय करने वाले स्टेटमेंट की जगह, ये स्टेटमेंट डालें:
कोड एडिटर (JavaScript)
// Generate a histogram object and print it to the console tab. var histogram = ui.Chart.image.histogram({ image: change, region: roi, scale: 30, minBucketWidth: 10 }); histogram.setOptions({ title: 'Histogram of surface water change intensity.' });
इन स्टेटमेंट से, हिस्टोग्राम चार्ट ऑब्जेक्ट बनता है. यह Console टैब में मौजूद हिस्टोग्राम ऑब्जेक्ट ट्री को चार्ट से बदल देता है. चार्ट के तरीके में कई तर्क शामिल होते हैं. जैसे,
scale
, जो मीटर में स्पैटियल स्केल तय करता है. इस स्केल पर, दिलचस्पी वाली जगह का सैंपल लिया जाता है. इसके अलावा,
minBucketWidth
का इस्तेमाल, हिस्टोग्राम बकेट की चौड़ाई को कंट्रोल करने के लिए किया जाता है.

हिस्टोग्राम बार पर कर्सर घुमाकर, चार्ट की वैल्यू को इंटरैक्टिव तरीके से एक्सप्लोर किया जा सकता है.
फ़ाइनल स्क्रिप्ट
इस सेक्शन की पूरी स्क्रिप्ट यहां दी गई है. ध्यान दें कि स्क्रिप्ट में, पॉलीगॉन की ज्यामिति (roi
) को तय करने के लिए स्टेटमेंट शामिल हैं. यह उस ज्यामिति से मिलती-जुलती है जिसे आपने कोड एडिटर के ज्यामिति टूल का इस्तेमाल करके बनाया था.
कोड एडिटर (JavaScript)
////////////////////////////////////////////////////////////// // Asset List ////////////////////////////////////////////////////////////// var gsw = ee.Image('JRC/GSW1_0/GlobalSurfaceWater'); var occurrence = gsw.select('occurrence'); var change = gsw.select("change_abs"); var roi = /* color: 0B4A8B */ee.Geometry.Polygon( [[[-74.17213, -8.65569], [-74.17419, -8.39222], [-74.38362, -8.36980], [-74.43031, -8.61293]]]); ////////////////////////////////////////////////////////////// // Constants ////////////////////////////////////////////////////////////// var VIS_OCCURRENCE = { min:0, max:100, palette: ['red', 'blue'] }; var VIS_CHANGE = { min:-50, max:50, palette: ['red', 'black', 'limegreen'] }; var VIS_WATER_MASK = { palette: ['white', 'black'] }; ////////////////////////////////////////////////////////////// // Calculations ////////////////////////////////////////////////////////////// // Create a water mask layer, and set the image mask so that non-water areas are transparent. var water_mask = occurrence.gt(90).mask(1); // Generate a histogram object and print it to the console tab. var histogram = ui.Chart.image.histogram({ image: change, region: roi, scale: 30, minBucketWidth: 10 }); histogram.setOptions({ title: 'Histogram of surface water change intensity.' }); print(histogram); ////////////////////////////////////////////////////////////// // Initialize Map Location ////////////////////////////////////////////////////////////// // Uncomment one of the following statements to center the map on // a particular location. // Map.setCenter(-90.162, 29.8597, 10); // New Orleans, USA // Map.setCenter(-114.9774, 31.9254, 10); // Mouth of the Colorado River, Mexico // Map.setCenter(-111.1871, 37.0963, 11); // Lake Powell, USA // Map.setCenter(149.412, -35.0789, 11); // Lake George, Australia // Map.setCenter(105.26, 11.2134, 9); // Mekong River Basin, SouthEast Asia // Map.setCenter(90.6743, 22.7382, 10); // Meghna River, Bangladesh // Map.setCenter(81.2714, 16.5079, 11); // Godavari River Basin Irrigation Project, India // Map.setCenter(14.7035, 52.0985, 12); // River Oder, Germany & Poland // Map.setCenter(-59.1696, -33.8111, 9); // Buenos Aires, Argentina\ Map.setCenter(-74.4557, -8.4289, 11); // Ucayali River, Peru ////////////////////////////////////////////////////////////// // Map Layers ////////////////////////////////////////////////////////////// Map.addLayer({ eeObject: water_mask, visParams: VIS_WATER_MASK, name: '90% occurrence water mask', shown: false }); Map.addLayer({ eeObject: occurrence.updateMask(occurrence.divide(100)), name: "Water Occurrence (1984-2015)", visParams: VIS_OCCURRENCE, shown: false }); Map.addLayer({ eeObject: change, visParams: VIS_CHANGE, name: 'occurrence change intensity' });
अगले सेक्शन में, आपको यह पता चलेगा कि समय के साथ पानी की स्थिति में क्या बदलाव हुए. इसके लिए, आपको पानी की स्थिति में बदलाव दिखाने वाली लेयर का इस्तेमाल करना होगा.