Forest Monitoring for Action (FORMA) डेटा के बारे में जानकारी

FORMA, MODIS पर आधारित एक सिस्टम है. यह हर महीने दो बार, 500 x 500 मीटर के इलाके में मौजूद उष्णकटिबंधीय वर्षावनों में होने वाली कटाई के बारे में सूचना देता है. Earth Engine में मौजूद FORMA 500 डेटासेट, एक इमेज है. इसमें जनवरी 2006 से चेतावनियां दी गई हैं और इसे हर महीने अपडेट किया जाता है. हर सूचना से जुड़ा समय, alert_date नाम के एक बैंड में होता है. यह समय, एपॉक सेकंड की इकाइयों में होता है. FORMA डेटासेट की मदद से, तारीखों के हिसाब से फ़िल्टर करना और दिलचस्पी वाली जगहों के लिए सूचनाएं कैलकुलेट करना, दो सबसे ज़रूरी काम हैं.

तारीख के हिसाब से FORMA को फ़िल्टर करना

सिर्फ़ 2012 में मिली सूचनाएं दिखाने के लिए, ऐसे पिक्सल ढूंढें जिनमें 2012 के पहले दिन से लेकर 2013 के पहले दिन तक का समय हो. इस समय को 1 जनवरी, 1970 की आधी रात से लेकर अब तक के सेकंड में दिखाया जाता है:

कोड एडिटर (JavaScript)

// Convert dates from milliseconds to seconds.
var start = ee.Date('2012-01-01').millis().divide(1000);
var end = ee.Date('2013-01-01').millis().divide(1000);

// Load the FORMA 500 dataset.
var forma = ee.Image('FORMA/FORMA_500m');

// Create a binary layer from the dates of interest.
var forma2012 = forma.gte(start).and(forma.lte(end));

Map.setCenter(15.87, -0.391, 7);
Map.addLayer(
  forma2012.mask(forma2012),
  {palette: ['FF0000']},
  'FORMA alerts in 2012'
);

इस उदाहरण में, forma2012 एक बाइनरी इमेज है.इसमें सिर्फ़ वे पिक्सल शामिल हैं जिनका समय 2012 में है. इसका मतलब है कि अन्य सभी पिक्सल को मास्क किया गया है.

दिलचस्पी वाले किसी इलाके में FORMA की चेतावनियों को गिनना

हमने पिछले सेक्शन में हैंसन वगैरह के डेटा के साथ जो किया था, वही काम ह��� यहां भी कर सकते हैं. इसके लिए, हमें सबसे पहले किसी खास इलाके में FORMA से मिली सूचनाओं (पिक्सल) की संख्या गिननी होगी. उदाहरण के लिए, साल 2012 में कांगो गणराज्य के संरक्षित क्षेत्रों में मिली चेतावनियों की संख्या गिनने के लिए, पिछले उदाहरण का इस्तेमाल इस तरह करें:

कोड एडिटर (JavaScript)

// Load country features from Large Scale International Boundary (LSIB) dataset.
var countries = ee.FeatureCollection('USDOS/LSIB_SIMPLE/2017');

// Subset the Congo Republic feature from countries.
var congo = ee.Feature(
  countries
    .filter(ee.Filter.eq('country_na', 'Rep of the Congo'))
    .first()
);

// Subset protected areas to the bounds of the congo feature
// and other criteria. Clip to the intersection with congo.
var protectedAreas = ee.FeatureCollection('WCMC/WDPA/current/polygons')
  .filter(ee.Filter.and(
    ee.Filter.bounds(congo.geometry()),
    ee.Filter.neq('IUCN_CAT', 'VI'),
    ee.Filter.neq('STATUS', 'proposed'),
    ee.Filter.lt('STATUS_YR', 2010)
  ))
  .map(function(feat){
    return congo.intersection(feat);
  });

// Display protected areas on the map.
Map.addLayer(
  protectedAreas,
  {color: '000000'},
  'Congo Republic protected areas'
);

// Calculate the number of FORMA pixels in protected
// areas of the Congo Republic, 2012.
var stats = forma2012.reduceRegion({
  reducer: ee.Reducer.sum(),
  geometry: protectedAreas.geometry(),
  scale: 500
});
print('Number of FORMA pixels, 2012: ', stats.get('constant'));

दिलचस्पी वाले कई इलाकों में FORMA की सूचनाओं को गिनना

अब तक, हम एक बार में सिर्फ़ एक क्षेत्र के आंकड़े कैलकुलेट करते थे. एक साथ कई क्षेत्रों के आंकड़े देखने के लिए, reduceRegions() का इस्तेमाल कि��ा जा सकता है. पिछले उदाहरण के आधार पर, यहां एक और उदाहरण दिया गया है:

कोड एडिटर (JavaScript)

var regionsStats = forma2012.reduceRegions({
  collection: protectedAreas,
  reducer: ee.Reducer.sum(),
  scale: forma2012.projection().nominalScale()
});
print(regionsStats);

कंसोल में प्रिंट किए गए ऑब्जेक्ट की जांच करें और देखें कि reduceRegions() का आउटपुट एक और FeatureCollection है. ध्यान दें कि कांगो गणराज्य के संरक्षित क्षेत्रों के कलेक्शन में मौजूद हर क्षेत्र में अब एक और प्रॉपर्टी sum है. इसका नाम रिड्यूसर के नाम पर रखा गया है. इस प्रॉपर्टी की वैल्यू, रिड्यूसर का आउटपुट होती है. इसके अलावा, यह सुरक्षित क्षेत्रों में 2012 की चेतावनियों की संख्या भी होती है.

FORMA और Hansen et al. डेटासेट की तुलना करना

FORMA और Hansen et al. डेटासेट की तुलना करने के लिए, लॉजिकल ऑपरेटर इस्तेमाल किए जा सकते हैं. (लॉजिकल ऑपरेशन के बारे में ज़्यादा जानें). खास तौर पर, हमें एक ऐसी इमेज बनानी है जिसमें FORMA और Hansen et al. के डेटा से मार्क किए गए पिक्सल को 1 के तौर पर दिखाया गया हो. साथ ही, बाकी पिक्सल को शून्य के तौर पर दिखाया गया हो. इस कोड से, साल 2012 के लिए ऐसी इमेज बनाई जाती है. साथ ही, इसे जंगल कटने की अनुमानित जानकारी देने वाली अन्य लेयर के साथ दिखाया जाता है:

कोड एडिटर (JavaScript)

// Convert dates from milliseconds to seconds.
var start = ee.Date('2012-01-01').millis().divide(1000);
var end = ee.Date('2013-01-01').millis().divide(1000);
var region = ee.Geometry.Rectangle([-59.81163, -9.43348, -59.27561, -9.22818]);

// Load the FORMA 500 dataset.
var forma = ee.Image('FORMA/FORMA_500m');

// Create a binary layer from the dates of interest.
var forma2012 = forma.gte(start).and(forma.lte(end));

// Load Hansen et al. data and get change in 2012.
var gfc = ee.Image('UMD/hansen/global_forest_change_2015');
var gfc12 = gfc.select(['lossyear']).eq(12);

// Create an image which is one where the datasets
// both show deforestation and zero elsewhere.
var gfc_forma = gfc12.eq(1).and(forma2012.eq(1));

// Display data on the map.
Map.setCenter(-59.58813, -9.36439, 11);
Map.addLayer(forma.updateMask(forma), {palette: '00FF00'}, 'Forma (green)');
Map.addLayer(gfc12.updateMask(gfc12), {palette: 'FF0000'}, 'Hansen (red)');
Map.addLayer(
  gfc_forma.updateMask(gfc_forma),
  {palette: 'FFFF00'},
  'Hansen & FORMA (yellow)'
);

Earth Engine में, जंगल में हुए बदलावों के डेटासेट की खास जानकारी यहां खत्म होती है. हमें यह देखने का इंतज़ार रहेगा कि आप इन सुविधाओं का इस्तेमाल कैसे करते हैं!