Skip to content

លំហាត់ទី៩៖ អាងរងពី DEM

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

មេរៀនពាក់ព័ន្ធ៖ មេរៀនទី៩៖ ទីសណ្ឋាន ជម្រាល និងអាងទន្លេ ការអនុវត្តដោយខ្លួនឯង · Earth Engine Code Editor · QGIS · ប្រហែល ១២៥ នាទី

ស្ថានភាព

អ្នកនឹងពិពណ៌នាទីសណ្ឋាន និងជលសាស្ត្រនៃខេត្តរបស់អ្នក៖ ប្រៀបធៀប DEM ពីរ ធ្វើផែនទីប្រឡាយពីស្រុតទឹក ជ្រើសអាងរងដែលពាក់ព័ន្ធ ហើយបង្កើតតារាងលក្ខណៈអាងរង (ផ្ទៃ កម្ពស់ ជម្រាល HAND ទឹកភ្លៀង) សម្រាប់ QGIS។

គោលបំណង

  • គណនាជម្រាល ទិស និងស្រមោលភ្នំ ហើយប្រៀបធៀប SRTM និង Copernicus GLO-30។
  • ធ្វើផែនទីប្រឡាយពី MERIT Hydro ដោយកម្រិតស្រុតទឹកបី ហើយប្រៀបធៀបជាមួយ HydroRIVERS។
  • ជ្រើសអាងរង HydroBASINS ដែលប៉ះខេត្តរបស់អ្នក។
  • គណនាស្ថិតិតាមអាងរង ហើយនាំចេញជា Shapefile។

លំដាប់ការងារ លំហាត់ទី៩អាងរងពី DEMផលិតផលទីសណ្ឋាន២០ នាទីSRTM ធៀបនឹង GLO-30២០ នាទីប្រឡាយពីស្រុតទឹក២៥ នាទីតារាងអាងរង៣០ នាទីផែនទី និងការបកស្រាយ២០ នាទីសរុបប្រហែល ១១៥ នាទី

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

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

  • USGS/SRTMGL1_003 · COPERNICUS/DEM/GLO30 · MERIT/Hydro/v1_0_1 · WWF/HydroSHEDS/v1/Basins/hybas_8 · WWF/HydroSHEDS/v1/FreeFlowingRivers · UCSB-CHG/CHIRPS/DAILY។

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

ចុចលើប្រឡាយបីកន្លែង ពីខាងលើទៅខាងក្រោម។ តើផ្ទៃអាងរងប្ដូរយ៉ាងដូចម្ដេច ហើយហេតុអ្វី?

សកម្មភាពទី១៖ ផលិតផលទីសណ្ឋាន · ២០ នាទី

var prov = ee.FeatureCollection('FAO/GAUL/2015/level1').filter(ee.Filter.eq('ADM1_NAME', 'Pursat'));   // ខេត្តរបស់អ្នក
var srtm = ee.Image('USGS/SRTMGL1_003').select('elevation');
var t = ee.Terrain.products(srtm).clip(prov);
Map.centerObject(prov, 9);
Map.addLayer(t.select('hillshade'), {min: 0, max: 255}, 'hillshade');
Map.addLayer(t.select('elevation'), {min: 0, max: 800, palette: ['#1a9850', '#fee08b', '#a6611a', 'white']}, 'កម្ពស់', true, 0.6);
Map.addLayer(t.select('slope'), {min: 0, max: 30, palette: ['#ffffcc', '#fd8d3c', '#bd0026']}, 'ជម្រាល', false);
var steep = t.select('slope').gt(15);
print('% ផ្ទៃជម្រាល > ១៥°', steep.multiply(100).reduceRegion({reducer: ee.Reducer.mean(), geometry: prov.geometry(),
  scale: 30, maxPixels: 1e10, tileScale: 4}));

សកម្មភាពទី២៖ SRTM ធៀបនឹង GLO-30 · ២០ នាទី

var glo = ee.ImageCollection('COPERNICUS/DEM/GLO30').select('DEM').filterBounds(prov)
  .mosaic().setDefaultProjection('EPSG:4326', null, 30).rename('elevation');
var d = glo.subtract(srtm).clip(prov);
Map.addLayer(d, {min: -10, max: 10, palette: ['#b2182b', '#f7f7f7', '#2166ac']}, 'GLO-30 − SRTM (ម)');
var wc = ee.ImageCollection('ESA/WorldCover/v200').first();
[10, 40].forEach(function(c) {                                        // ១០ ព្រៃ · ៤០ ដំណាំ
  print('ភាពខុសគ្នាមធ្យម ថ្នាក់ ' + c, d.updateMask(wc.eq(c)).reduceRegion({reducer: ee.Reducer.mean()
    .combine({reducer2: ee.Reducer.stdDev(), sharedInputs: true}), geometry: prov.geometry(), scale: 30, maxPixels: 1e10, tileScale: 4}));
});

តើភាពខុសគ្នាធំជាងនៅព្រៃ ឬនៅដីដំណាំ? ពន្យល់ដោយប្រើគោលគំនិត DSM (SRTM ឆ្នាំ ២០០០ · GLO-30 ឆ្នាំ ២០១១–២០១៥ · ព្រៃអាចត្រូវបានកាប់ចន្លោះឆ្នាំទាំងនោះ)។

សកម្មភាពទី៣៖ ប្រឡាយពីស្រុតទឹក · ២៥ នាទី

var merit = ee.Image('MERIT/Hydro/v1_0_1');
var upa = merit.select('upa').clip(prov);
[10, 100, 1000].forEach(function(k) {
  Map.addLayer(upa.gt(k).selfMask(), {palette: ['#1565c0']}, 'upa > ' + k + ' គម²', k === 100);
});
var rivers = ee.FeatureCollection('WWF/HydroSHEDS/v1/FreeFlowingRivers').filterBounds(prov);
Map.addLayer(rivers, {color: 'ff9800'}, 'HydroRIVERS', false);

ប្រៀបធៀបប្រឡាយនីមួយៗជាមួយផែនទី Satellite។ កម្រិតណាដែលស៊ីនឹងស្ទឹងដែលមើលឃើញជាងគេ?

សកម្មភាពទី៤៖ តារាងអាងរង · ៣០ នាទី

var subs = ee.FeatureCollection('WWF/HydroSHEDS/v1/Basins/hybas_8').filterBounds(prov);
Map.addLayer(ee.Image().paint(subs, 0, 2), {palette: ['orange']}, 'អាងរងកម្រិត ៨');
var rain = ee.ImageCollection('UCSB-CHG/CHIRPS/DAILY').filterDate('2014-01-01', '2024-01-01').sum().divide(10).rename('rain_mm');
var stack = ee.Terrain.products(srtm).select(['elevation', 'slope'])
  .addBands(merit.select('hnd').lt(5).multiply(100).rename('pct_low'))
  .addBands(rain);
var table = stack.reduceRegions({collection: subs, reducer: ee.Reducer.mean(), scale: 90, tileScale: 4})
  .map(function(f) { return f.set('area_km2', f.geometry().area(100).divide(1e6)); });
print(table.select(['HYBAS_ID', 'NEXT_DOWN', 'area_km2', 'elevation', 'slope', 'pct_low', 'rain_mm']));
Export.table.toDrive({collection: table, description: 'subbasins_myprov', folder: 'applied_gis', fileFormat: 'SHP'});
Export.image.toDrive({image: srtm.clip(prov).toInt16(), description: 'srtm_myprov', folder: 'applied_gis',
  region: prov.geometry(), scale: 30, crs: 'EPSG:32648', maxPixels: 1e10});

DEM ដែលនាំចេញ អាចប្រើក្នុង QGIS ជាមួយ GRASS r.watershed ដើម្បីកំណត់អាងរងពីចំណុចចេញផ្ទាល់ខ្លួន (ជម្រើស)។

សកម្មភាពទី៥៖ ផែនទី និងការបកស្រាយ · ២០ នាទី

ក្នុង QGIS បើក Shapefile អាងរង ហើយធ្វើផែនទីពីរ៖ slope និង pct_low។ ដាក់ hillshade (ពី DEM ដែលនាំចេញ) នៅខាងក្រោម។ កំណត់អាងរងពីរ៖ មួយដែលទឹកហូរលឿនបំផុត និងមួយដែលងាយលិចបំផុត ហើយពន្យល់ដោយប្រើលក្ខណៈក្នុងតារាង។

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

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

ស្រុតទឹក និងបណ្ដាញប្រឡាយDEM ក្លែងធ្វើ ១៦០ × ១៦០ ក្រឡា ៣០ ម (សម្រាប់បង្រៀន)hillshadelog₁₀(ស្រុតទឹក)ប្រឡាយ = ស្រុតទឹក > ៤០០ ក្រឡា(≈ ០,៣៦ គម²)

លទ្ធផលគំរូ ១៖ បណ្ដាញទន្លេកើតចេញពី DEM។

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

  • ស្រុតទឹកមានលំដាប់ទំហំខុសគ្នាខ្លាំង (១ ដល់រាប់ម៉ឺន) ដូច្នេះបង្ហាញជា log។
  • កម្រិតស្រុតទឹក (ឧ. > ៤០០ ក្រឡា) កំណត់ថាក្រឡាណាជាប្រឡាយ៖ កម្រិតតូច = ប្រឡាយច្រើន។
  • ក្នុង Earth Engine ប្រើ WWF/HydroSHEDS/15ACC ឬ MERIT/Hydro upa ដែលគណនារួច។

អាងរងទឹកនៃចំណុចចេញមួយDEM ក្លែងធ្វើ ១៦០ × ១៦០ ក្រឡា ៣០ ម (សម្រាប់បង្រៀន)ផ្ទៃអាង៖ ១៧,២ គម²(១៩ ១១៤ ក្រឡា · ចំណុចចេញ ● ក្រហម)// sub-basins from HydroBASINS (levels 1–12)var basins = ee.FeatureCollection( 'WWF/HydroSHEDS/v1/Basins/hybas_7');var myBasin = basins.filterBounds( ee.Geometry.Point([103.9, 12.3]));Map.addLayer(myBasin, {color: 'orange'}, 'basin');

លទ្ធផលគំរូ ២៖ តាមដានលំហូរច្រាសទិស។

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

  • អាងរងទឹក = គ្រប់ក្រឡាដែលលំហូររបស់វាឆ្លងកាត់ចំណុចចេញ។
  • ក្នុង QGIS/GRASS/WhiteboxTools យើងកំណត់ចំណុចចេញ ហើយគណនាអាង។ ក្នុង Earth Engine ភាគច្រើនប្រើ HydroBASINS ដែលគណនារួច។
  • អាងរងជាអង្គភាពល្អសម្រាប់ស្ថិតិ (មេរៀនទី៤)៖ ទឹកភ្លៀងមធ្យម ផ្ទៃព្រៃ ផ្ទៃទឹកជំនន់។

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

បញ្ហាដែលឃើញ មូលហេតុទូទៅ ដំណោះស្រាយ
ជម្រាលស្ទើរសូន្យគ្រប់កន្លែង mosaic គ្មាន projection setDefaultProjection('EPSG:4326', null, 30)
ប្រឡាយច្រើនពេក កម្រិត upa តូចពេក បង្កើនកម្រិត · ប្រៀបធៀប HydroRIVERS
អាងរងលើសព្រំខេត្តច្រើន filterBounds យកអាងដែលប៉ះ ទទួលយក ឬ filter ដោយ centroid
area_km2 ខុសពី SUB_AREA ធរណីមាត្រសាមញ្ញ vs ពិត ភាពខុសតិចតួចទទួលយកបាន · រាយការណ៍ប្រភព
Export SHP បរាជ័យ ឈ្មោះលក្ខណៈវែង > ១០ តួ ប្រើឈ្មោះខ្លី ឬ GeoJSON

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

  • តំណស្គ្រីប។
  • % ផ្ទៃជម្រាល > ១៥° និងតារាងភាពខុសគ្នា GLO-30 − SRTM តាមព្រៃ និងដីដំណាំ។
  • រូបអេក្រង់ប្រឡាយបីកម្រិត ជាមួយការជ្រើសកម្រិតដែលសមបំផុត។
  • Shapefile អាងរង និងផែនទីពីរពី QGIS។
  • កថាខណ្ឌមួយពិពណ៌នាអាងរងពីរដែលអ្នកជ្រើស។

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

១. មុខងារណាត្រូវហៅលើ mosaic មុនគណនាជម្រាល?

២. ក្រុមរលកណានៃ MERIT Hydro ផ្ដល់ផ្ទៃស្រុតទឹក (គម²)?

៣. ក្រុមរលកណានៃ MERIT Hydro ផ្ដល់ HAND?

៤. លក្ខណៈណានៃ HydroBASINS ប្រាប់ពីអាងដែលអាងនេះហូរចូល?