बाढ़ की तीव्रता में बदलाव

पानी की मौजूदगी में हुए बदलाव की तीव्रता वाली डेटा लेयर से पता चलता है कि 1984-1999 और 2000-2015 के बीच, सतही जल में कितना बदलाव हुआ है. यह लेयर, दो अलग-अलग समय के महीनों के होमोलॉगस पेयर के बीच के बदलाव का औसत निकालती है. इस लेयर के बारे में ज़्यादा जानकारी के लिए, डेटा इस्तेमाल के लिए गाइड (v2) देखें.

ट्यूटोरियल के इस सेक्शन में:

  1. पानी की मौजूदगी में हुए बदलाव की तीव्रता को विज़ुअलाइज़ करने के लिए, स्टाइल वाली मैप लेयर जोड़ना, और
  2. हिस्टोग्राम का इस्तेमाल करके, किसी खास इलाके में बदलाव की तीव्रता की खास जानकारी देना.

विज़ुअलाइज़ेशन

पानी की मौजूदगी वाली लेयर की तरह ही, हम मैप में पानी की मौजूदगी में हुए बदलाव की इंटेंसिटी का एक बुनियादी विज़ुअलाइज़ेशन जोड़ेंगे. इसके बाद, हम इसे बेहतर बनाएंगे. घटना में बदलाव की तीव्रता को दो तरीकों से दिखाया जाता है. इसमें कुल और सामान्य वैल्यू, दोनों शामिल हैं. हम इस ट्यूटोरियल में ऐब्सलूट वैल्यू का इस्तेमाल करेंगे. सबसे पहले, GSW इमेज से, पानी की मौजूदगी में हुए बदलाव की इंटेंसिटी वाली लेयर चुनें:

कोड एडिटर (JavaScript)

var change = gsw.select("change_abs");

कोड के Constants सेक्शन में, एक स्टेटमेंट जोड़ें. इससे एक नया वैरिएबल बनता है, जो यह तय करता है कि लेयर को किस तरह स्टाइल किया जाएगा. इस स्टाइलिंग से उन इलाकों को दिखाया जाता है जहां सतह पर पानी की मौजूदगी कम/ज़्यादा हुई है. कम होने पर लाल और ज़्यादा होने पर हरे रंग से दिखाया जाता है. जिन इलाकों में सतह पर मौजूद पानी की मात्रा में कोई खास बदलाव नहीं हुआ है उन्हें काले रंग से दिखाया गया है.

कोड एडिटर (JavaScript)

var VIS_CHANGE = {
    min:-50,
    max:50,
    palette: ['red', 'black', 'limegreen']
};

कोड के मैप लेयर सेक्शन के आखिर में, एक स्टेटमेंट जोड़ें. इससे मैप में एक नई लेयर जुड़ जाएगी.

कोड एडिटर (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 (रीजन-ऑफ़-इंटरेस्ट या आरओआई के लिए) करें. इसके बाद, हम मैप पर मौजूद कई पॉइंट पर क्लिक करके, अपनी पसंद के पॉलीगॉन क्षेत्र को तय कर सकते हैं.

दिलचस्पी वाला इलाका
सातवीं इमेज. पेरू के पुकाल्पा के पास उकायाली नदी का स्क्रीनशॉट. इसमें पॉलीगॉन ड्रॉइंग टूल का इस्तेमाल करके, दिलचस्पी का इलाका बनाया गया है.

अब जब हमारे काम का इलाका तय हो गया है और उसे एक वैरिएबल में सेव कर लिया गया है, तो हम इसका इस्तेमाल करके, काम के इलाके के लिए बदलाव की तीव्रता का हिस्टोग्राम कैलकुलेट कर सकते हैं. स्क्रिप्ट के कैलकुलेशन सेक्शन में यह कोड जोड़ें.

कोड एडिटर (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'
});

अगले सेक्शन में, आपको इस बारे में ज़्यादा जानकारी मिलेगी कि समय के साथ पानी में किस तरह के बदलाव हुए. इसके लिए, आपको वॉटर क्लास ट्रांज़िशन लेयर के साथ काम करना होगा.