Skip to content

លំហាត់ទី៨៖ CHIRPS និង VCI

ព័ត៌មានលំហាត់

មេរៀនពាក់ព័ន្ធ៖ មេរៀនទី៨៖ គ្រោះរាំងស្ងួត ទឹកភ្លៀង និងសុខភាពរុក្ខជាតិ ការអនុវត្តដោយខ្លួនឯង · Earth Engine Code Editor · QGIS · ប្រហែល ១៣០ នាទី

ស្ថានភាព

អ្នកនឹងរៀបចំ «ព្រឹត្តិបត្រគ្រោះរាំងស្ងួត» សម្រាប់ឆ្នាំមួយដែលអ្នកជ្រើស (ណែនាំ ២០១៩)៖ ទឹកភ្លៀងប្រចាំខែធៀបនឹងធម្មតា SPI-៣ សាមញ្ញ VCI និង VHI ហើយចាត់ថ្នាក់ខេត្តតាមសញ្ញាទាំងពីរ។

គោលបំណង

  • បង្កើតទឹកភ្លៀងប្រចាំខែពី CHIRPS ហើយគណនា climatology ១៩៩១–២០២០។
  • គណនា % នៃធម្មតា z-score និង SPI-៣ សាមញ្ញ។
  • គណនា VCI TCI និង VHI ពី MODIS។
  • គណនាសន្ទស្សន៍លើដីដំណាំតាមខេត្ត ហើយចាត់ថ្នាក់។

លំដាប់ការងារ លំហាត់ទី៨CHIRPS និង VCIក្រាបទឹកភ្លៀងខេត្តរបស់អ្…២០ នាទីz-score និង SPI-៣២៥ នាទីVCI TCI VHI៣០ នាទីតារាងខេត្ត២៥ នាទីព្រឹត្តិបត្រក្នុង QGIS២០ នាទីសរុបប្រហែល ១២០ នាទី

លំដាប់ការងារនៃលំហាត់ទី៨ និងពេលវេលាប្រហាក់ប្រហែល។

ឯកសារដែលប្រើ

  • UCSB-CHG/CHIRPS/DAILY · MODIS/061/MOD13Q1 · MODIS/061/MOD11A2 · ESA/WorldCover/v200 · FAO/GAUL/2015/level1។

ពិសោធន៍មុនចាប់ផ្ដើម · ១០ នាទី

ជ្រើសឆ្នាំ ២០១៩ និង SPI-៣។ ខែណាខ្លះធ្លាក់ក្រោម −១? ធ្វើម្ដងទៀតជាមួយ SPI-១ ហើយពន្យល់ភាពខុសគ្នា។

សកម្មភាពទី១៖ ក្រាបទឹកភ្លៀងខេត្តរបស់អ្នក · ២០ នាទី

var YEAR = 2019;                                                   // ប្ដូរតាមការជ្រើស
var provs = ee.FeatureCollection('FAO/GAUL/2015/level1').filter(ee.Filter.eq('ADM0_NAME', 'Cambodia'));
var myProv = provs.filter(ee.Filter.eq('ADM1_NAME', 'Kampong Speu'));   // ខេត្តរបស់អ្នក
var chirps = ee.ImageCollection('UCSB-CHG/CHIRPS/DAILY').select('precipitation');
function monthly(y, m) {
  var s = ee.Date.fromYMD(y, m, 1);
  return chirps.filterDate(s, s.advance(1, 'month')).sum().set({month: m, 'system:time_start': s.millis()});
}
var cur = ee.ImageCollection.fromImages(ee.List.sequence(1, 12).map(function(m) { return monthly(YEAR, m); }));
var clim = ee.ImageCollection.fromImages(ee.List.sequence(1, 12).map(function(m) {
  var refs = ee.ImageCollection.fromImages(ee.List.sequence(1991, 2020).map(function(y) { return monthly(y, m); }));
  return refs.mean().set({month: m, 'system:time_start': ee.Date.fromYMD(YEAR, m, 1).millis()});
}));
var both = cur.map(function(img) {
  var c = clim.filter(ee.Filter.eq('month', img.get('month'))).first();
  return img.rename('ឆ្នាំនេះ').addBands(ee.Image(c).rename('ធម្មតា'));
});
print(ui.Chart.image.series(both, myProv, ee.Reducer.mean(), 5000).setChartType('ColumnChart')
  .setOptions({title: 'ទឹកភ្លៀងប្រចាំខែ (mm)'}));

ប្រសិនបើក្រាប timeout ប្ដូរទៅ UCSB-CHG/CHIRPS/PENTAD (ដូចគ្នា តែលឿនជាង)។

សកម្មភាពទី២៖ z-score និង SPI-៣ · ២៥ នាទី

var M = 7;                                                         // ខែដែលចាប់អារម្មណ៍
var refM = ee.ImageCollection.fromImages(ee.List.sequence(1991, 2020).map(function(y) { return monthly(y, M); }));
var z = monthly(YEAR, M).subtract(refM.mean()).divide(refM.reduce(ee.Reducer.stdDev())).rename('z');
function acc3(y) { var s = ee.Date.fromYMD(y, M, 1).advance(-2, 'month'); return chirps.filterDate(s, s.advance(3, 'month')).sum(); }
var ref3 = ee.ImageCollection.fromImages(ee.List.sequence(1991, 2020).map(function(y) { return acc3(y); }));
var spi3 = acc3(YEAR).subtract(ref3.mean()).divide(ref3.reduce(ee.Reducer.stdDev())).rename('SPI3');
var kh = provs.geometry();
Map.centerObject(kh, 7);
Map.addLayer(z.clip(kh), {min: -2, max: 2, palette: ['#b2182b', '#f7f7f7', '#2166ac']}, 'z ខែ ' + M);
Map.addLayer(spi3.clip(kh), {min: -2, max: 2, palette: ['#b2182b', '#f7f7f7', '#2166ac']}, 'SPI-3');

សកម្មភាពទី៣៖ VCI TCI VHI · ៣០ នាទី

var VM = 8;                                                        // ខែរុក្ខជាតិ (យឺតពីទឹកភ្លៀង)
function inMonth(col, m) { return col.filter(ee.Filter.calendarRange(m, m, 'month')); }
var nd = ee.ImageCollection('MODIS/061/MOD13Q1').select('NDVI');
var ndH = inMonth(nd.filterDate('2001-01-01', '2024-01-01'), VM);
var vci = inMonth(nd.filterDate(YEAR + '-01-01', (YEAR + 1) + '-01-01'), VM).mean()
  .subtract(ndH.reduce(ee.Reducer.percentile([5]))).divide(
    ndH.reduce(ee.Reducer.percentile([95])).subtract(ndH.reduce(ee.Reducer.percentile([5]))))
  .multiply(100).clamp(0, 100).rename('VCI');
var lst = ee.ImageCollection('MODIS/061/MOD11A2').select('LST_Day_1km');
var lH = inMonth(lst.filterDate('2001-01-01', '2024-01-01'), VM);
var lp5 = lH.reduce(ee.Reducer.percentile([5])), lp95 = lH.reduce(ee.Reducer.percentile([95]));
var tci = lp95.subtract(inMonth(lst.filterDate(YEAR + '-01-01', (YEAR + 1) + '-01-01'), VM).mean())
  .divide(lp95.subtract(lp5)).multiply(100).clamp(0, 100).rename('TCI');
var vhi = vci.multiply(0.5).add(tci.multiply(0.5)).rename('VHI');
var pal = ['#a50026', '#f46d43', '#fee08b', '#a6d96a', '#006837'];
Map.addLayer(vci.clip(kh), {min: 0, max: 100, palette: pal}, 'VCI');
Map.addLayer(vhi.clip(kh), {min: 0, max: 100, palette: pal}, 'VHI');

យើងប្រើ percentile ៥ និង ៩៥ ជំនួស min និង max ដើម្បីកាត់បន្ថយឥទ្ធិពលពពក ហើយ clamp(0, 100) កាត់តម្លៃដែលហួសចន្លោះ។

សកម្មភាពទី៤៖ តារាងខេត្ត · ២៥ នាទី

var crop = ee.ImageCollection('ESA/WorldCover/v200').first().eq(40);
var stack = spi3.addBands(vhi.resample('bilinear')).updateMask(crop.reduceResolution({
  reducer: ee.Reducer.mean(), maxPixels: 1024}).reproject({crs: 'EPSG:4326', scale: 250}).gt(0.5));
var table = stack.reduceRegions({collection: provs, reducer: ee.Reducer.mean(), scale: 250, tileScale: 4})
  .map(function(f) {
    var s = ee.Number(f.get('SPI3')), v = ee.Number(f.get('VHI'));
    var cls = ee.Algorithms.If(s.lt(-1).and(v.lt(40)), 'បានបញ្ជាក់',
              ee.Algorithms.If(s.lt(-1), 'ភ្លៀងខ្វះ', ee.Algorithms.If(v.lt(40), 'ពិនិត្យ', 'ធម្មតា')));
    return f.set('class', cls);
  });
print(table.select(['ADM1_NAME', 'SPI3', 'VHI', 'class']).sort('VHI'));
Export.table.toDrive({collection: table, description: 'drought_bulletin_' + YEAR, folder: 'applied_gis',
  fileFormat: 'CSV', selectors: ['ADM1_CODE', 'ADM1_NAME', 'SPI3', 'VHI', 'class']});

reduceResolution គណនាភាគរយដំណាំក្នុងក្រឡា ២៥០ ម ហើយរក្សាតែក្រឡាដែលដំណាំលើស ៥០%។

សកម្មភាពទី៥៖ ព្រឹត្តិបត្រក្នុង QGIS · ២០ នាទី

ភ្ជាប់ CSV ទៅស្រទាប់ខេត្ត ហើយធ្វើផែនទីពីរ (SPI-៣ និង VHI) និងផែនទីចាត់ថ្នាក់មួយ។ បង្កើតប្លង់ A4 មួយទំព័រ៖ ចំណងជើង ផែនទីបី តារាងខេត្តដែល «បានបញ្ជាក់» និងកំណត់ចំណាំប្រភព និងដែនកំណត់។

លទ្ធផលដែលរំពឹងទុក

ប្រៀបធៀបលទ្ធផលរបស់អ្នកជាមួយរូបខាងក្រោម។ លេខ និងពណ៌មិនចាំបាច់ដូចបេះបិទទេ ប៉ុន្តែលំនាំគួរតែស្រដៀងគ្នា។

រយៈពេលបូក៖ SPI-១ SPI-៣ SPI-៦២០១៨–២០២០ · SPI សាមញ្ញ (z-score នៃទឹកភ្លៀងបូក) · ស៊េរីក្លែងធ្វើ (សម្រាប់បង្រៀន)-៣-២-១០១២៣SPI-១SPI-៣SPI-៦SPI២០១៨២០១៩២០២០

លទ្ធផលគំរូ ១៖ រយៈពេលខ្លី ឬវែង ឆ្លើយសំណួរខុសគ្នា។

អ្វីដែលត្រូវពិនិត្យ

  • SPI-១ លោតឡើងចុះរាល់ខែ៖ ល្អសម្រាប់ដឹងភ្លាមៗ តែមានសំឡេងរំខានច្រើន។
  • SPI-៣ ទាក់ទងនឹងសំណើមដី និងដំណាំ។ SPI-៦ ដល់ ១២ ទាក់ទងនឹងទន្លេ និងអាងស្តុកទឹក។
  • SPI < −១ = ស្ងួតមធ្យម · < −១,៥ = ស្ងួតខ្លាំង · < −២ = ស្ងួតខ្លាំងបំផុត។

សន្ទស្សន៍ស្ថានភាពរុក្ខជាតិ (VCI)NDVI ១៦ ថ្ងៃ · ២០ ឆ្នាំ និងឆ្នាំស្ងួត · ស៊េរីក្លែងធ្វើ (សម្រាប់បង្រៀន)០.២០.៤០.៦០.៨NDVIមកកមមនមសឧសមថកកសហកញតលវចធនVCI = (NDVI − NDVImin)/ (NDVImax − NDVImin) × ១០០ទាបបំផុត៖ VCI ≈ ១១< ៤០ = រងគ្រោះរាំងស្ងួត< ២០ = ធ្ងន់ធ្ងរផ្ទៃបៃតង = min–max ២០ ឆ្នាំ

លទ្ធផលគំរូ ២៖ ធៀបនឹងខ្លួនឯង មិនមែននឹងកន្លែងផ្សេង។

អ្វីដែលត្រូវពិនិត្យ

  • VCI ដាក់ NDVI បច្ចុប្បន្នក្នុងចន្លោះ min–max នៃក្រឡាដដែល ក្នុងពេលដដែលនៃឆ្នាំ។
  • ដូច្នេះព្រៃ (NDVI ខ្ពស់) និងស្រែ (NDVI ទាប) អាចប្រៀបធៀបគ្នាបាន៖ ០ = អាក្រក់បំផុតដែលធ្លាប់មាន។
  • ត្រូវការប្រវត្តិយូរ (MODIS ២០០០–បច្ចុប្បន្ន) ដើម្បីឱ្យ min និង max មានន័យ។

កំហុសទូទៅ និងដំណោះស្រាយ

បញ្ហាដែលឃើញ មូលហេតុទូទៅ ដំណោះស្រាយ
ទឹកភ្លៀងខែ ≈ ៥–១០ mm គ្រប់កន្លែង ប្រើ mean() ជំនួស sum() sum() សម្រាប់ទឹកភ្លៀងសរុប
Computation timed out climatology ៣០ ឆ្នាំប្រចាំថ្ងៃ CHIRPS/PENTAD · ឬ Export
VCI < ០ ឬ > ១០០ min/max ពីពពក ឬតម្លៃលើស percentile ៥/៩៥ · clamp(0, 100)
VHI មានចន្លោះធំ LST គ្មាននៅពេលពពក ប្រើរយៈពេលវែងជាង · កត់ត្រាដែនកំណត់
ខេត្តខ្លះ SPI3 = null mask ដំណាំតឹងពេក ពិនិត្យ crop mask · បន្ថយកម្រិត ៥០%

លទ្ធផលត្រូវប្រគល់

  • តំណស្គ្រីប។
  • ក្រាបទឹកភ្លៀងប្រចាំខែនៃខេត្តរបស់អ្នក ធៀបនឹងធម្មតា។
  • ផែនទី z-score SPI-៣ VCI និង VHI (រូបអេក្រង់)។
  • CSV តារាងខេត្ត និងព្រឹត្តិបត្រ A4 ជា PDF។
  • កថាខណ្ឌមួយ៖ ខេត្តណាមានសញ្ញាមិនស៊ីគ្នា (ភ្លៀងខ្វះ តែ VHI ល្អ ឬផ្ទុយមកវិញ) ហើយហេតុអ្វី។

ពិនិត្យលទ្ធផលដោយខ្លួនឯង

១. Reducer ណាសម្រាប់ទឹកភ្លៀងសរុបប្រចាំខែពី CHIRPS ប្រចាំថ្ងៃ?

២. SPI ក្រោមតម្លៃប៉ុន្មានដែលចាត់ទុកថាស្ងួតមធ្យម?

៣. VHI ក្រោមប៉ុន្មាន ជាទូទៅបង្ហាញគ្រោះរាំងស្ងួត?

៤. ផលិតផល MODIS ណាផ្ដល់ LST ៨ ថ្ងៃ សម្រាប់ TCI?