បន្ទាប់ពីបញ្ចប់មេរៀន និស្សិតអាច៖
មន្ទីរកសិកម្មខេត្តតាកែវ ចង់ដឹងថាវាលស្រែណាខ្លះ ដាំពីរដង (ប្រាំង និងវស្សា) និងស្រែណា ដាំតែរដូវវស្សា ដើម្បីរៀបចំផែនការប្រព័ន្ធធារាសាស្ត្រ។ Composite រដូវប្រាំងតែមួយ (មេរៀនទី៣) បង្ហាញស្រែទាំងពីរប្រភេទស្រដៀងគ្នា ព្រោះនៅថ្ងៃនោះ ស្រែមួយប្រហែលជាបៃតង ហើយស្រែមួយទៀតទើបច្រូតរួច។ ចម្លើយស្ថិតក្នុង របៀបដែល NDVI ប្ដូរពេញមួយឆ្នាំ។
សំណួរដែលមេរៀននេះឆ្លើយ៖
តើត្រូវទាញក្រាបតម្លៃតាមពេលវេលានៃក្រឡាមួយ ឬស្រែមួយពី Earth Engine យ៉ាងដូចម្ដេច?
គិតម្នាក់ឯង ១ នាទី · ពិភាក្សាជាគូ ២ នាទី · ចែករំលែកជាមួយថ្នាក់។
រយៈពេលបង្រៀនដែលស្នើ៖ ៣ ម៉ោង · មេរៀនទី ៥ ក្នុងចំណោម ១៥
:material-presentation-play: ស្លាយបង្រៀនមេរៀននេះ
កសិករនៅកម្ពុជាដឹងច្បាស់ពីប្រតិទិនស្រែរបស់ខ្លួន៖ ពេលបញ្ចូលទឹក ពេលស្ទូង ពេលស្រូវចេញផ្កា និងពេលច្រូត។ ផ្កាយរណបក៏ «មើលឃើញ» ប្រតិទិននេះដែរ ប៉ុន្តែមិនមែនក្នុងរូបភាពមួយផ្ទាំងទេ។ វាលេចឡើងតែនៅពេលយើងតម្រៀបការសង្កេតរាប់សិបដងនៃក្រឡាតែមួយ តាមលំដាប់ពេលវេលា។
មេរៀននេះបង្រៀនរបៀបបង្កើត សម្អាត និងវិភាគ ស៊េរីពេលវេលា ក្នុង Earth Engine៖ ក្រាប NDVI composite ប្រចាំខែ និន្នាការលីនេអ៊ែរ តំរែតំរង់ harmonic និងរង្វាស់រដូវកាល (phenology) ដែលប្រាប់ពេលចាប់ផ្ដើម និងបញ្ចប់រដូវដំណាំ។
ក្នុងសៀវភៅទី៣ យើងបែងចែកគម្របដីដោយ សញ្ញាណស្ពិចត្រាល់៖ ភាពខុសគ្នាតាមក្រុមរលក។
ស៊េរីពេលវេលាបន្ថែមវិមាត្រមួយទៀត៖ ហត្ថលេខាពេលវេលា (temporal signature) គឺជាទម្រង់ដែលសន្ទស្សន៍មួយ (ជាទូទៅ NDVI) ប្ដូរពេញមួយឆ្នាំ។ លក្ខណៈសំខាន់ៗ៖
ពិពណ៌នាហត្ថលេខាពេលវេលានៃស្រែវស្សា ព្រៃស្រោងទាប និងទីក្រុង ដោយប្រើលក្ខណៈបួន។
ឆ្លើយក្នុង ១ នាទី មុនបន្តទៅផ្នែកបន្ទាប់។
Earth Engine ភ្ជាប់ជាមួយ Google Charts តាមរយៈ ui.Chart។
ដើម្បីទាញក្រាប NDVI នៃស្រែមួយ៖
```javascript var paddy = ee.Geometry.Point([104.79, 10.99]); // ស្រែមួយក្នុងខេត្តតាកែវ (ប្ដូរតាមតំបន់របស់អ្នក) function addNDVI(img) { var scl = img.select('SCL'); var ok = scl.neq(3).and(scl.neq(8)).and(scl.neq(9)).and(scl.neq(10)); return img.addBands(img.normalizedDifference(['B8', …
var chart = ui.Chart.image.series().setOptions(}, lineWidth: 0, pointSize: 3}); print(chart); ```
ក្រាបមានមុខងារសំខាន់ៗផ្សេងទៀត៖
| មុខងារ | ប្រើពេលណា |
|---|---|
ui.Chart.image.series() | តំបន់មួយ ក្រុមរលកមួយ ឬច្រើន |
ui.Chart.image.seriesByRegion() | តំបន់ច្រើន (ស្រែ ព្រៃ ទីក្រុង) ក្រុមរលកមួយ ដើម្បីប្រៀបធៀប |
ui.Chart.image.doySeries() | តម្រួតឆ្នាំច្រើនលើអ័ក្សថ្ងៃក្នុងឆ្នាំ (១–៣៦៥) |
ui.Chart.feature.byFeature() | តារាងពី reduceRegions (មេរៀនទី៤) |
ក្នុងផ្ទាំង Console ចុចរូបព្រួញលើជ្រុងក្រាប ដើម្បីទាញយកទិន្នន័យជា CSV ឬរូបភាព PNG។
ក្រាបសម្រាប់ចំណុច ឬស្រែតូចៗ ដំណើរការលឿន។ ក្រាបនៃតំបន់ធំ (ខេត្តទាំងមូល) ច្រើនតែ timeout៖ ត្រូវប្រើ Export វិញ។
ក្រាបឆៅនៃ Sentinel-2 ក្នុងរដូវវស្សា ពោរពេញដោយចំណុចដែលធ្លាក់ចុះ។
មូលហេតុ៖ ពពក ស្រមោល និងអ័ព្ទ ធ្វើឱ្យ NDVI ទាបជាងពិត ស្ទើរតែជានិច្ច (ពពកភ្លឺនៅក្រហម និង NIR ដូចគ្នា ដូច្នេះ NDVI ជិតសូន្យ)។ លក្ខណៈនេះសំខាន់ព្រោះវាប្រាប់យើងថា៖
ហេតុអ្វីពពកធ្វើឱ្យ NDVI ទាបជាងពិត ស្ទើរតែជានិច្ច?
ឆ្លើយក្នុង ១ នាទី មុនបន្តទៅផ្នែកបន្ទាប់។
ជំនួសឱ្យការប្រើការសង្កេតនីមួយៗ យើងអាចបង្កើត composite មួយក្នុងមួយខែ ដោយប្រើ ee.List.sequence និង ee.Filter.calendarRange៖
```javascript var year = 2024; var monthly = ee.ImageCollection.fromImages( ee.List.sequence(1, 12).map(function(m) { var start = ee.Date.fromYMD(year, m, 1); var sub = s2.filterDate(start, start.advance(1, 'month')); // ខែគ្មានរូបភាព៖ median() ត្រឡប់រូបភាពគ្មានក្រុមរលក ដូច្នេះដាក់ NDVI ទទេជំនួស …
system:time_start ចាំបាច់ព្រោះ ui.Chart ប្រើវាសម្រាប់អ័ក្សពេលវេលា។
Composite ១៦ ថ្ងៃ ឬ ១០ ថ្ងៃ ផ្ដល់ព័ត៌មានលម្អិតច្រើនជាង ប៉ុន្តែចន្លោះច្រើនជាងក្នុងរដូវវស្សា។
ស្រូវមានលក្ខណៈពិសេសមួយ ដែលរុក្ខជាតិដទៃភាគច្រើនគ្មាន៖ វាចាប់ផ្ដើមក្នុង វាលស្រែដែលលិចទឹក។
ដូច្នេះយើងប្រើសន្ទស្សន៍ពីរ៖
ក្នុងរយៈពេលបញ្ចូលទឹក និងស្ទូង LSWI ឡើងជិត ឬលើស NDVI។
បន្ទាប់មក NDVI ឡើងយ៉ាងលឿនរហូតដល់ចេញផ្កា ហើយធ្លាក់ពេលស្រូវទុំ និងច្រូត។ លំនាំ «ទឹកមុន បៃតងក្រោយ» នេះ ជាមូលដ្ឋាននៃវិធីធ្វើផែនទីស្រែដ៏ពេញនិយមមួយ ដែលយើងនឹងប្រើក្នុងមេរៀនទី១១។
```javascript // s2raw = Sentinel-2 ដែលបានលុបពពក តែមិនទាន់ select (ត្រូវការ B4 B8 B11) var withIdx = s2raw.map(function(img) ); …
ហេតុអ្វី composite ប្រចាំខែត្រូវការ system:time_start?
ឆ្លើយក្នុង ១ នាទី មុនបន្តទៅផ្នែកបន្ទាប់។
ដើម្បីដឹងថារុក្ខជាតិកើនឡើង (greening) ឬថយចុះ (browning) ក្នុងរយៈពេលច្រើនឆ្នាំ យើងសមបន្ទាត់ត្រង់ក្នុងក្រឡានីមួយៗ។
Earth Engine មាន ee.Reducer.linearFit() ដែលត្រូវការ collection ដែលមានក្រុមរលកពីរ តាមលំដាប់ [x, y]៖ ពេលវេលា និងតម្លៃ៖
```javascript // ls = Landsat 8/9 C2 L2 ដែលបានលុបពពក និងមានក្រុមរលក NDVI (មេរៀនទី៣) var annualMax = ee.ImageCollection.fromImages( ee.List.sequence(2017, 2024).map(function(y) { var img = ls.filter(ee.Filter.calendarRange(y, y, 'year')).select('NDVI').max(); return …
ចំណាំថាយើងប្រើ NDVI អតិបរមាប្រចាំឆ្នាំ មិនមែនការសង្កេតទាំងអស់ទេ។
រដូវកាលវិលត្រឡប់មកវិញរៀងរាល់ឆ្នាំ ដូច្នេះវាអាចតំណាងដោយ cos និង sin។
ម៉ូដែល harmonic លំដាប់ ១៖
NDVI(t) = β₀ + β₁·t + a₁·cos(2πt) + b₁·sin(2πt)
ដែល t គិតជាឆ្នាំ។ β₀ ជាកម្រិតមធ្យម β₁ ជានិន្នាការ ហើយ a₁ b₁ ពិពណ៌នារដូវកាល។ ពីមេគុណទាំងនេះ យើងគណនា៖
លំដាប់ ២ បន្ថែម cos(4πt) និង sin(4πt) ដែលអនុញ្ញាតឱ្យមានកំពូលពីរក្នុងមួយឆ្នាំ ដែលចាំបាច់សម្រាប់ស្រែពីរដង។
ក្នុង Earth Engine យើងបន្ថែមក្រុមរលកអថេរឯករាជ្យ ហើយប្រើ ee.Reducer.linearRegression()៖
```javascript // s2 = collection NDVI ដែលបានលុបពពក (ផ្នែក ៥.៣.២) var harm = s2.map(function(img) { var t = img.date().difference(ee.Date('2023-01-01'), 'year'); var w = t.multiply(2 * Math.PI); return ee.Image([1, t, w.cos(), w.sin()]).float() .rename(['const', 't', 'cos', 'sin']) …
ខ្សែសមបំពេញចន្លោះពពកដោយស្វ័យប្រវត្តិ ហើយមេគុណ (amplitude phase) អាចប្រើជាលក្ខណៈសម្រាប់ចាត់ថ្នាក់ក្នុងមេរៀនទី៦។
ជ្រើសប្រភេទគម្របដី និងកម្រិតពពក រួចប្ដូរលំដាប់ harmonic ពី ០ ដល់ ៣។ មើលថាពេលណាខ្សែសមចាប់បានកំពូលពីរនៃស្រែពីរដង ហើយពេលណា RMSE លែងថយចុះ។ ស៊េរីក្នុងពិសោធន៍នេះត្រូវបានក្លែងធ្វើតាមលំនាំពិត។
ពន្យល់អត្ថន័យនៃ amplitude និង phase ក្នុងម៉ូដែល harmonic។
ឆ្លើយក្នុង ១ នាទី មុនបន្តទៅផ្នែកបន្ទាប់។
ពីខ្សែកោងរលោង (monthly composite ឬ harmonic) យើងទាញយកលេខដែលអ្នកកសិកម្មយល់៖
| រង្វាស់ | អត្ថន័យ | វិធីទូទៅ |
|---|---|---|
| SOS (Start of Season) | ពេលចាប់ផ្ដើមដុះលូតលាស់ | ពេល NDVI ឆ្លងកាត់ ៥០% នៃទំហំ (ឡើង) |
| POS (Peak of Season) | ពេលកំពូល | ថ្ងៃដែល NDVI ខ្ពស់បំផុត |
| EOS (End of Season) | ពេលបញ្ចប់ (ច្រូត) | ពេល NDVI ឆ្លងកាត់ ៥០% (ចុះ) |
| LOS (Length of Season) | រយៈពេលរដូវ | EOS − SOS |
| ទំហំ | កម្លាំងនៃការលូតលាស់ | NDVI កំពូល − NDVI មូលដ្ឋាន |
កម្រិត ៥០% នៃទំហំ ត្រូវបានគណនាសម្រាប់ក្រឡានីមួយៗ ដាច់ដោយឡែក ដូច្នេះវាធន់ជាងកម្រិត NDVI ថេរ (ឧ. ០,៤) ដែលអាចមិនសម ចំពោះដីខុសគ្នា។
POS អាចគណនាក្នុង Earth Engine យ៉ាងងាយ ដោយ qualityMosaic (មេរៀនទី៣)៖
```javascript var withDoy = monthly.map(function(img) ); var peak = withDoy.qualityMosaic('NDVI'); Map.addLayer(peak.select('month'), , …
សម្រាប់ការវិភាគ phenology ពេញលេញ អ្នកស្រាវជ្រាវច្រើនតែនាំចេញស៊េរី ហើយប្រើកម្មវិធីឯកទេស (ឧ. TIMESAT ឬកញ្ចប់ Python/R)។ ក្នុង Earth Engine ផលិតផល MODIS Land Cover Dynamics (MCD12Q2) ផ្ដល់ SOS និង EOS រួចជាស្រេចនៅ ៥០០ ម។
ដោយប្រើ Geometry Tools ក្នុង Code Editor ដាក់ចំណុចបី៖ ស្រែជិតប្រឡាយធារាសាស្ត្រ (សន្មតថាដាំពីរដង) ស្រែឆ្ងាយពីប្រឡាយ (សន្មតថាដាំតែវស្សា) និងព្រៃមួយកន្លែងសម្រាប់ប្រៀបធៀប។
ដាក់ចំណុចទាំងបីក្នុង FeatureCollection មួយ ដោយមានលក្ខណៈ label។ ``javascript var sites = ee.FeatureCollection([ ee.Feature(ee.Geometry.Point([104.79, 10.99]), ), ee.Feature(ee.Geometry.Point([104.62, 11.05]), ), ee.Feature(ee.Geometry.Point([104.33, 11.12]), ) ]); // កូអរដោនេគំរូ៖ ប្ដូរតាមការសង្កេតរបស់អ្នកលើផែនទី ``
ប្រើកូដក្នុងផ្នែក ៥.៣.៤ ជាមួយ ee.List.sequence(0, 23) ហើយ start = ee.Date('2023-01-01').advance(m, 'month') ដើម្បីបាន ២៤ ខែ។
```javascript print(ui.Chart.image.seriesByRegion().setOptions({title: 'NDVI ប្រចាំខែ ២០២៣–២០២៤', …
ប្រសិនបើស្រែ ក មានកំពូលពីរក្នុងមួយឆ្នាំ (ឧ. ប្រហែលខែកុម្ភៈ និងខែកញ្ញា) ហើយស្រែ ខ មានកំពូលតែមួយ (ខែតុលា) នោះការសន្មតរបស់យើងត្រូវ។
ព្រៃខ្ពស់ពេញមួយឆ្នាំ ហើយមានទំហំតូច។ ខែដែលគ្មានទិន្នន័យក្នុងរដូវវស្សា ត្រូវកត់ត្រា៖ វាមិនមែនជា NDVI សូន្យទេ។
គណនា harmonic លំដាប់ ២ លើក្រឡាទាំងអស់ ហើយបង្ហាញទំហំនៃ harmonic ទី២ (cos2 sin2)៖ ក្រឡាដែលមានតម្លៃខ្ពស់ ទំនងជាមានកំពូលពីរ។
ផែនទីនេះជាជំហានដំបូងឆ្ពោះទៅផែនទីប្រព័ន្ធដាំដុះ។
កំពូល NDVI ពីរ មិនមែនតែងតែជាស្រូវពីរដងទេ៖ វាអាចជាស្រូវ និងដំណាំផ្សេង ឬស្មៅដុះក្រោយច្រូត។ ចំណុចបីមិនតំណាងខេត្តទាំងមូលទេ ហើយខែដែលគ្មានការសង្កេតស្អាត អាចលាក់កំពូលខ្លីៗ។
លំហាត់ដំណើរការក្នុង Earth Engine Code Editor ជាមួយទិន្នន័យកាតាឡុក ហើយមានរូបលទ្ធផលគំរូ តារាងកំហុសទូទៅ និងប្រអប់ពិនិត្យលទ្ធផលដោយខ្លួនឯង។
ស៊េរីពេលវេលាបង្ហាញហត្ថលេខាពេលវេលានៃគម្របដី៖ ចំនួនកំពូល ពេលកំពូល ទំហំ និងកម្រិតមូលដ្ឋាន។ ក្នុង Earth Engine ui.Chart ទាញក្រាបសម្រាប់ចំណុច និងតំបន់តូច ហើយ composite ប្រចាំខែ និងការ mask កាត់បន្ថយសំឡេងរំខានពីពពក ដែលតែងធ្វើឱ្យ NDVI ទាបជាងពិត។
linearFit() វាស់និន្នាការច្រើនឆ្នាំ ហើយ linearRegression() ជាមួយ cos និង sin សមម៉ូដែល harmonic ដែលផ្ដល់ទំហំ និងដំណាក់សម្រាប់គ្រប់ក្រឡា។ សម្រាប់ស្រូវ លំនាំ «ទឹកមុន បៃតងក្រោយ» (LSWI បន្ទាប់មក NDVI) និងរង្វាស់ SOS POS EOS បម្លែងក្រាបទៅជាព័ត៌មានកសិកម្ម។
រូបភាពមួយផ្ទាំង ប្រាប់ថាក្រឡាមួយ «មើលទៅដូចអ្វី» នៅថ្ងៃមួយ។ ស៊េរីពេលវេលា ប្រាប់ថាវា «ធ្វើអ្វី» ពេញមួយឆ្នាំ ហើយនោះជាអ្វីដែលបែងចែកស្រែ ព្រៃ និងទីក្រុងបានច្បាស់បំផុត។
| ពាក្យខ្មែរ | ពាក្យអង់គ្លេស | អត្ថន័យខ្លី |
|---|---|---|
| ស៊េរីពេលវេលា | Time series | តម្លៃនៃក្រឡាមួយ តាមលំដាប់ពេលវេលា |
| ហត្ថលេខាពេលវេលា | Temporal signature | ទម្រង់ប្ដូរនៃសន្ទស្សន៍ពេញមួយឆ្នាំ |
| រដូវកាលរុក្ខជាតិ | Phenology | វដ្ដលូតលាស់ប្រចាំឆ្នាំនៃរុក្ខជាតិ |
| និន្នាការ | Trend | ការប្ដូរជាមធ្យមក្នុងមួយឆ្នាំ |
| តំរែតំរង់ harmonic | Harmonic regression | សមរដូវកាលដោយ cos និង sin |
| ទំហំ | Amplitude | កម្លាំងនៃការឡើងចុះតាមរដូវ |
| ដំណាក់ | Phase | ពេលវេលានៃកំពូលក្នុងវដ្ដ |
| ថ្ងៃក្នុងឆ្នាំ | Day of year (DOY) | លេខថ្ងៃ ១–៣៦៦ |
ទាញក្រាប NDVI ប្រចាំខែ ២០២៣–២០២៤ នៃស្រែមួយ និងព្រៃមួយនៅក្នុងខេត្តរបស់អ្នក។ កំណត់ SOS POS EOS នៃស្រែដោយភ្នែក ហើយសរសេរកថាខណ្ឌមួយប្រៀបធៀបជាមួយប្រតិទិនដំណាំនៅតំបន់នោះ។
យើងបានឃើញថា ស្រែ ព្រៃ និងទីក្រុង មានហត្ថលេខាស្ពិចត្រាល់ និងពេលវេលាខុសគ្នា។ ប៉ុន្តែការមើលក្រាបម្ដងមួយក្រឡា មិនអាចធ្វើផែនទីខេត្តទាំងមូលបានទេ។
តើត្រូវបង្រៀនកុំព្យូទ័រឱ្យចាត់ថ្នាក់គ្រប់ក្រឡាក្នុងខេត្ត ដោយប្រើចំណុចគំរូពីរបីរយ ហើយដឹងថាផែនទីនោះត្រឹមត្រូវប៉ុណ្ណាយ៉ាងដូចម្ដេច?
អានមេរៀនពេញ និងធ្វើលំហាត់ទី៥
https://khgeo.github.io/applied-gis-rs/lessons/lesson-05/