সতর্কতা: Landsat ETM+ এবং OLI ডেটার সমন্বয় সাধনের জন্য এই টিউটোরিয়ালে বর্ণিত পদ্ধতিগুলি পুরানো এবং Landsat Collection 2 সারফেস রিফ্লেক্ট্যান্স ডেটার সাথে কাজ করার সময় সুপারিশকৃত বা প্রয়োজনীয় নয়। আরও তথ্যের জন্য, Landsat harmonization সম্পর্কে FAQ এন্ট্রি দেখুন। Collection 1 ডেটা অপ্রচলিত এবং এই টিউটোরিয়ালে কোডটি আর কাজ করবে না বা আপডেট করা হবে না।
এই টিউটোরিয়ালটি Landsat ETM+ পৃষ্ঠ প্রতিফলনকে Landsat OLI পৃষ্ঠ প্রতিফলনের সাথে সামঞ্জস্যপূর্ণ করার বিষয়ে আলোচনা করে। এটি প্রদান করে:
- একটি বর্ণালী রূপান্তর ফাংশন
- বিশ্লেষণ-প্রস্তুত ডেটা তৈরির ফাংশন
- একটি টাইম সিরিজ ভিজ্যুয়ালাইজেশন উদাহরণ
এটি 35+ বছরের আঞ্চলিক সময় সিরিজের ল্যান্ডস্যাট ডেটার সমন্বয় এবং কল্পনা করার জন্য একটি এন্ড-টু-এন্ড নির্দেশিকা হওয়ার উদ্দেশ্যে তৈরি করা হয়েছে যা আপনার আগ্রহের অঞ্চলে তাৎক্ষণিকভাবে প্রয়োগ করা যেতে পারে।
মনে রাখবেন যে ETM+ কে OLI তে রূপান্তর করার সহগগুলি TM-এর ক্ষেত্রেও প্রযোজ্য। তাই, এই টিউটোরিয়ালে, ETM+-এর উল্লেখ TM-এর সমার্থক।
ল্যান্ডস্যাট সম্পর্কে
ল্যান্ডস্যাট একটি স্যাটেলাইট ইমেজিং প্রোগ্রাম যা ১৯৭২ সাল থেকে মাঝারি রেজোলিউশনের পৃথিবীর চিত্র সংগ্রহ করে আসছে। দীর্ঘতম স্থান-ভিত্তিক পৃথিবী পর্যবেক্ষণ প্রোগ্রাম হিসেবে, এটি ল্যান্ডস্কেপ পরিবর্তনের স্থানিক-সময়গত প্রবণতা সনাক্তকরণের জন্য একটি মূল্যবান টেম্পোরাল রেকর্ড প্রদান করে। এই টিউটোরিয়ালে থিম্যাটিক ম্যাপার (TM), এনহ্যান্সড থিম্যাটিক ম্যাপার প্লাস (ETM+), এবং অপারেশনাল ল্যান্ড ইমেজার (OLI) যন্ত্রের ডেটা ব্যবহার করা হয়েছে। এগুলি ঘনিষ্ঠভাবে সম্পর্কিত এবং একটি ধারাবাহিক সময় সিরিজে একত্রিত করা তুলনামূলকভাবে সহজ যা ১৯৮৪ থেকে বর্তমান পর্যন্ত একটি ধারাবাহিক রেকর্ড তৈরি করে, ৩০ মিটার স্থানিক রেজোলিউশন সহ প্রতি সেন্সরে ১৬ দিনের ক্যাডেন্সে। মাল্টিস্পেকট্রাল স্ক্যানার যন্ত্রটি ল্যান্ডস্যাট রেকর্ডকে ১৯৭২ সাল পর্যন্ত প্রসারিত করে, কিন্তু এই টিউটোরিয়ালে ব্যবহার করা হয়নি। এর ডেটা বেশ আলাদা, যা পরবর্তী সেন্সরগুলির সাথে একীকরণকে চ্যালেঞ্জিং করে তোলে। সমস্ত সেন্সর জুড়ে সুরেলাকরণের উদাহরণগুলির জন্য Savage et al. (2018) এবং Vogeler et al. (2018) দেখুন।
কেন সুরেলাকরণ
Roy et al. (2016) প্রমাণ করেছেন যে প্রয়োগের উপর নির্ভর করে Landsat ETM+ এবং OLI-এর বর্ণালী বৈশিষ্ট্যের মধ্যে ছোট, কিন্তু সম্ভাব্য উল্লেখযোগ্য পার্থক্য রয়েছে। আপনি ডেটাসেটগুলিকে সামঞ্জস্যপূর্ণ করার জন্য যে কারণগুলি চাইতে পারেন তার মধ্যে রয়েছে: Landsat TM, ETM+ এবং OLI-এর মধ্যে বিস্তৃত একটি দীর্ঘ সময়ের সিরিজ তৈরি করা, ETM+ SLC-অফ গ্যাপ এবং ক্লাউড/শ্যাডো মাস্কিং থেকে অনুপস্থিত পর্যবেক্ষণের প্রভাব কমাতে নিকট-তারিখের ইন্ট্রা-অনুয়াল কম্পোজিট তৈরি করা, অথবা একটি সময় সিরিজের মধ্যে পর্যবেক্ষণ ফ্রিকোয়েন্সি বৃদ্ধি করা। আরও তথ্যের জন্য দয়া করে উপরের লিঙ্কযুক্ত পাণ্ডুলিপিটি দেখুন।
নির্দেশনা
ফাংশন
ETM+ কে OLI এর সাথে সামঞ্জস্যপূর্ণ করার জন্য এবং বিশ্লেষণ-প্রস্তুত ডেটা তৈরি করার জন্য প্রয়োজনীয় ফাংশনগুলির একটি সিরিজ নিচে দেওয়া হল যা এই টিউটোরিয়ালের অ্যাপ্লিকেশন বিভাগে একটি পিক্সেলের বর্ণালী-টেম্পোরাল ইতিহাস কল্পনা করার জন্য ব্যবহার করা হবে।
সুরেলাকরণ
Roy et al. (2016) টেবিল 2 OLS রিগ্রেশন সহগগুলিতে উপস্থাপিত সহগ অনুসারে ETM+ বর্ণালী স্থানকে OLI বর্ণালী স্থানে রৈখিক রূপান্তরের মাধ্যমে সুরেলাকরণ অর্জন করা হয়। ব্যান্ড-সম্পর্কিত সহগগুলিকে নিম্নলিখিত অভিধানে ঢাল ( slopes ) এবং ইন্টারসেপ্ট ( itcps ) চিত্র ধ্রুবক দিয়ে সংজ্ঞায়িত করা হয়েছে। মনে রাখবেন যে USGS Landsat পৃষ্ঠ প্রতিফলন ডেটার স্কেলিং মেলানোর জন্য y-ইন্টারসেপ্ট মানগুলিকে 10,000 দ্বারা গুণ করা হয়।
var coefficients = {
itcps: ee.Image.constant([0.0003, 0.0088, 0.0061, 0.0412, 0.0254, 0.0172])
.multiply(10000),
slopes: ee.Image.constant([0.8474, 0.8483, 0.9047, 0.8462, 0.8937, 0.9071])
};
একই বর্ণালী প্রতিক্রিয়া উইন্ডোর জন্য ETM+ এবং OLI ব্যান্ডের নাম সমান নয় এবং এগুলিকে মানসম্মত করা প্রয়োজন। নিম্নলিখিত ফাংশনগুলি প্রতিটি ডেটাসেট থেকে শুধুমাত্র প্রতিফলন ব্যান্ড এবং pixel_qa ব্যান্ড নির্বাচন করে এবং তাদের প্রতিনিধিত্বকারী তরঙ্গদৈর্ঘ্য পরিসর অনুসারে তাদের নাম পরিবর্তন করে।
// Function to get and rename bands of interest from OLI.
function renameOli(img) {
return img.select(
['B2', 'B3', 'B4', 'B5', 'B6', 'B7', 'pixel_qa'],
['Blue', 'Green', 'Red', 'NIR', 'SWIR1', 'SWIR2', 'pixel_qa']);
}
// Function to get and rename bands of interest from ETM+.
function renameEtm(img) {
return img.select(
['B1', 'B2', 'B3', 'B4', 'B5', 'B7', 'pixel_qa'],
['Blue', 'Green', 'Red', 'NIR', 'SWIR1', 'SWIR2', 'pixel_qa']);
}
অবশেষে, রূপান্তর ফাংশনটি সংজ্ঞায়িত করুন, যা ETM+ ডেটাতে রৈখিক মডেল প্রয়োগ করে, OLI-এর সাথে সামঞ্জস্যের জন্য Int16 হিসাবে ডেটা টাইপ কাস্ট করে এবং ক্লাউড এবং শ্যাডো মাস্কিংয়ে পরবর্তী ব্যবহারের জন্য pixel_qa ব্যান্ডটি পুনরায় সংযুক্ত করে।
function etmToOli(img) {
return img.select(['Blue', 'Green', 'Red', 'NIR', 'SWIR1', 'SWIR2'])
.multiply(coefficients.slopes)
.add(coefficients.itcps)
.round()
.toShort()
.addBands(img.select('pixel_qa'));
}
মেঘ এবং ছায়ার আড়াল
বিশ্লেষণের জন্য প্রস্তুত ডেটাতে মেঘ এবং মেঘের ছায়া আড়াল থাকা উচিত। নিম্নলিখিত ফাংশনটি প্রতিটি ল্যান্ডস্যাট USGS পৃষ্ঠ প্রতিফলন চিত্রের সাথে অন্তর্ভুক্ত CFmask ( Zhu et al., 2015 ) pixel_qa ব্যান্ড ব্যবহার করে ক্লাউড এবং মেঘের ছায়া হিসাবে চিহ্নিত পিক্সেলগুলিকে শূন্যে সেট করে।
function fmask(img) {
var cloudShadowBitMask = 1 << 3;
var cloudsBitMask = 1 << 5;
var qa = img.select('pixel_qa');
var mask = qa.bitwiseAnd(cloudShadowBitMask)
.eq(0)
.and(qa.bitwiseAnd(cloudsBitMask).eq(0));
return img.updateMask(mask);
}
বর্ণালী সূচক গণনা
আসন্ন অ্যাপ্লিকেশনটিতে দাবানলের কারণে ক্ষতিগ্রস্ত বনাঞ্চলীয় পিক্সেলের বর্ণালী ইতিহাস উপস্থাপনের জন্য নরমালাইজড বার্ন রেশিও (NBR) বর্ণালী সূচক ব্যবহার করা হয়েছে। NBR ব্যবহার করা হয়েছে কারণ Cohen et al. (2018) দেখেছেন যে 13টি বর্ণালী সূচক/ব্যান্ডের মধ্যে, NBR-এর সমগ্র মার্কিন যুক্তরাষ্ট্রে বনের ব্যাঘাত (সংকেত) সম্পর্কিত সংকেত থেকে শব্দ অনুপাত সবচেয়ে বেশি ছিল। এটি নিম্নলিখিত ফাংশন দ্বারা গণনা করা হয়।
function calcNbr(img) {
return img.normalizedDifference(['NIR', 'SWIR2']).rename('NBR');
}
আপনার নিজস্ব অ্যাপ্লিকেশনে, আপনি একটি ভিন্ন বর্ণালী সূচক ব্যবহার করতে পারেন। এখানে একটি অতিরিক্ত সূচক পরিবর্তন বা যোগ করার জায়গা।
ফাংশন একত্রিত করুন
প্রতিটি ডেটাসেটের জন্য একটি র্যাপার ফাংশন সংজ্ঞায়িত করুন যা উপরের সমস্ত ফাংশনগুলিকে তাদের নিজ নিজ চিত্র সংগ্রহে প্রয়োগ করার সুবিধার্থে একত্রিত করে।
// Define function to prepare OLI images.
function prepOli(img) {
var orig = img;
img = renameOli(img);
img = fmask(img);
img = calcNbr(img);
return ee.Image(img.copyProperties(orig, orig.propertyNames()));
}
// Define function to prepare ETM+ images.
function prepEtm(img) {
var orig = img;
img = renameEtm(img);
img = fmask(img);
img = etmToOli(img);
img = calcNbr(img);
return ee.Image(img.copyProperties(orig, orig.propertyNames()));
}
আপনার আবেদনে, আপনি ফাংশনগুলি অন্তর্ভুক্ত বা বাদ দেওয়ার সিদ্ধান্ত নিতে পারেন। প্রয়োজনে এই ফাংশনগুলি পরিবর্তন করুন।
সময় সিরিজের উদাহরণ
উপরের prepOli এবং prepEtm র্যাপার ফাংশনগুলিকে Landsat পৃষ্ঠ প্রতিফলন সংগ্রহের উপর ম্যাপ করা যেতে পারে যাতে একটি পিক্সেল বা পিক্সেল অঞ্চলের বর্ণালী কালক্রম কল্পনা করার জন্য ক্রস-সেন্সর বিশ্লেষণ-প্রস্তুত ডেটা তৈরি করা যায়। এই উদাহরণে, আপনি একটি 35+ বছরের সময় সিরিজ তৈরি করবেন এবং একটি একক পিক্সেলের জন্য বর্ণালী ইতিহাস প্রদর্শন করবেন। এই নির্দিষ্ট পিক্সেলটি একটি পরিপক্ক প্রশান্ত মহাসাগরীয় উত্তর-পশ্চিম শঙ্কু বন প্যাচের সাম্প্রতিক ইতিহাস (চিত্র 1) সম্পর্কিত যা 1980 এবং 90 এর দশকে কিছু বিশৃঙ্খলা এবং 2011 সালে একটি উচ্চ মাত্রার পুড়ে যাওয়ার অভিজ্ঞতা লাভ করেছিল।

চিত্র ১. অবস্থান এবং স্থানের চরিত্র, উদাহরণস্বরূপ, আগ্রহের ক্ষেত্র। মার্কিন যুক্তরাষ্ট্রের অরেগনের মাউন্ট হুডের উত্তর ঢালে পরিপক্ক প্রশান্ত মহাসাগরীয় উত্তর-পশ্চিম শঙ্কুযুক্ত বন। ছবি সৌজন্যে: গুগল আর্থ, ইউএসডিএ ফরেস্ট সার্ভিস, ল্যান্ডস্যাট এবং কোপার্নিকাস।
আগ্রহের ক্ষেত্র (AOI) নির্ধারণ করুন
এই অ্যাপ্লিকেশনের ফলাফল হল একটি পিক্সেলের জন্য ল্যান্ডস্যাট পর্যবেক্ষণের একটি সময় সিরিজ। পিক্সেলের অবস্থান নির্ধারণ করতে একটি ee.Geometry.Point অবজেক্ট ব্যবহার করা হয়।
var aoi = ee.Geometry.Point([-121.70938, 45.43185]);
আপনার অ্যাপ্লিকেশনে, আপনি একটি ভিন্ন পিক্সেল নির্বাচন করতে পারেন। উপরের দ্রাঘিমাংশ এবং অক্ষাংশ স্থানাঙ্কগুলি প্রতিস্থাপন করে এটি করুন। বিকল্পভাবে, আপনি অন্যান্য ee.Geometry অবজেক্ট সংজ্ঞা ব্যবহার করে পিক্সেলের একটি গ্রুপের বর্ণালী ইতিহাস সংক্ষিপ্ত করতে পারেন, যেমন ee.Geometry.Polygon() এবং ee.Geometry.Rectangle() । আরও তথ্যের জন্য দয়া করে ডেভেলপার গাইডের জ্যামিতি বিভাগটি দেখুন।
ল্যান্ডস্যাট সেন্সর সংগ্রহগুলি পুনরুদ্ধার করুন
OLI , ETM+ , এবং TM এর জন্য Landsat USGS পৃষ্ঠ প্রতিফলন সংগ্রহ পান।
প্রতিটি ডেটাসেট সম্পর্কে আরও জানতে লিঙ্কগুলি দেখুন।
var oliCol = ee.ImageCollection('LANDSAT/LC08/C01/T1_SR');
var etmCol = ee.ImageCollection('LANDSAT/LE07/C01/T1_SR');
var tmCol = ee.ImageCollection('LANDSAT/LT05/C01/T1_SR');
একটি ছবি সংগ্রহ ফিল্টার সংজ্ঞায়িত করুন
আগ্রহের ক্ষেত্র, সর্বোচ্চ সালোকসংশ্লেষণ ঋতু এবং গুণমানের স্থানিক সীমানা দ্বারা চিত্র সংগ্রহকে সীমাবদ্ধ করার জন্য একটি ফিল্টার সংজ্ঞায়িত করুন।
var colFilter = ee.Filter.and(
ee.Filter.bounds(aoi), ee.Filter.calendarRange(182, 244, 'day_of_year'),
ee.Filter.lt('CLOUD_COVER', 50), ee.Filter.lt('GEOMETRIC_RMSE_MODEL', 10),
ee.Filter.or(
ee.Filter.eq('IMAGE_QUALITY', 9),
ee.Filter.eq('IMAGE_QUALITY_OLI', 9)));
আপনার ইচ্ছামতো এই ফিল্টারিং মানদণ্ডগুলি পরিবর্তন করুন। উপরে লিঙ্ক করা ডেটা বর্ণনা পৃষ্ঠাগুলির "চিত্র বৈশিষ্ট্য" ট্যাবের অধীনে ফিল্টার করার জন্য অন্যান্য বৈশিষ্ট্যগুলি সনাক্ত করুন।
সংগ্রহগুলি প্রস্তুত করুন
সংগ্রহগুলি একত্রিত করুন, ফিল্টার প্রয়োগ করুন এবং সমস্ত ছবির উপর prepImg ফাংশন ম্যাপ করুন। নিম্নলিখিত স্নিপেটের ফলাফল হল একটি একক ee.ImageCollection যাতে OLI, ETM+, এবং TM সেন্সর সংগ্রহ থেকে ছবি রয়েছে যা ফিল্টারের মানদণ্ড পূরণ করে এবং বিশ্লেষণ-প্রস্তুত NBR-তে প্রক্রিয়াজাত করা হয়।
// Filter collections and prepare them for merging.
oliCol = oliCol.filter(colFilter).map(prepOli);
etmCol = etmCol.filter(colFilter).map(prepEtm);
tmCol = tmCol.filter(colFilter).map(prepEtm);
// Merge the collections.
var col = oliCol.merge(etmCol).merge(tmCol);
সমস্ত পর্যবেক্ষণ প্রদর্শন করে একটি সময় সিরিজ চার্ট তৈরি করুন।
সমস্ত পর্যবেক্ষণকে একটি স্ক্যাটার প্লট হিসেবে প্লট করে আন্তঃ-সেন্সর সাদৃশ্য গুণগতভাবে মূল্যায়ন করা যেতে পারে যেখানে সেন্সরকে রঙ দ্বারা চিহ্নিত করা হয়। আর্থ ইঞ্জিনের ui.Chart.feature.groups ফাংশন এই ইউটিলিটি প্রদান করে, তবে প্রথমে প্রতিটি ছবিতে পর্যবেক্ষিত NBR মান একটি বৈশিষ্ট্য হিসাবে যোগ করতে হবে। চিত্র সংগ্রহের উপর একটি অঞ্চল হ্রাস ফাংশন ম্যাপ করুন যা AOI কে ছেদকারী সমস্ত পিক্সেলের মধ্যমা গণনা করে এবং ফলাফলকে একটি চিত্র বৈশিষ্ট্য হিসাবে সেট করে।
var allObs = col.map(function(img) {
var obs = img.reduceRegion(
{geometry: aoi, reducer: ee.Reducer.median(), scale: 30});
return img.set('NBR', obs.get('NBR'));
});
আপনার নিজস্ব অ্যাপ্লিকেশনে, যদি আপনার AOI একটি বৃহৎ এলাকা হয়, তাহলে আপনি scale বৃদ্ধি করার এবং reduceRegion ফাংশনের জন্য bestEffort , maxPixels , tileScale আর্গুমেন্ট নির্দিষ্ট করার কথা বিবেচনা করতে পারেন যাতে অপারেশনটি সর্বোচ্চ পিক্সেল, মেমোরি বা টাইমআউট সীমাবদ্ধতা অতিক্রম না করে। আপনি আপনার পছন্দের পরিসংখ্যান দিয়ে মিডিয়ান রিডুসার প্রতিস্থাপন করতে পারেন। আরও তথ্যের জন্য ডেভেলপার গাইডের Statistics of an Image Region বিভাগটি দেখুন।
ui.Chart.feature.groups ফাংশন এখন সংগ্রহটি গ্রহণ করতে পারে। ফাংশনটি চার্টে একটি সংগ্রহ এবং সংগ্রহের বস্তুর বৈশিষ্ট্যের নাম ম্যাপ করার প্রত্যাশা করে। এখানে, 'system:time_start' বৈশিষ্ট্যটি x-axis চলক হিসেবে এবং 'NBR' y-axis চলক হিসেবে কাজ করে। মনে রাখবেন যে NBR বৈশিষ্ট্যটি reduceRegion ফাংশন দ্বারা নামকরণ করা হয়েছে ছবিতে ব্যান্ডের নামের উপর ভিত্তি করে। যদি আপনি একটি ভিন্ন ব্যান্ড ব্যবহার করেন ('NBR' নয়), তাহলে সেই অনুযায়ী y-axis বৈশিষ্ট্যের নাম যুক্তি পরিবর্তন করুন। অবশেষে, গ্রুপিং (সিরিজ) পরিবর্তনশীলটিকে 'SATELLITE' তে সেট করুন, যার জন্য আলাদা রঙ বরাদ্দ করা হয়েছে।
var chartAllObs =
ui.Chart.feature.groups(allObs, 'system:time_start', 'NBR', 'SATELLITE')
.setChartType('ScatterChart')
.setSeriesNames(['TM', 'ETM+', 'OLI'])
.setOptions({
title: 'All Observations',
colors: ['f8766d', '00ba38', '619cff'],
hAxis: {title: 'Date'},
vAxis: {title: 'NBR'},
pointSize: 6,
dataOpacity: 0.5
});
print(chartAllObs);
কিছু সময় প্রক্রিয়াকরণের পরে কনসোলে চিত্র ২ এর মতো একটি চার্ট প্রদর্শিত হবে। কয়েকটি বিষয় লক্ষ্য করুন:
- প্রতি বছর একাধিক পর্যবেক্ষণ থাকে।
- সময় সিরিজটি তিনটি ভিন্ন সেন্সর দিয়ে গঠিত।
- সেন্সর-পক্ষপাতের কোনও অবমূল্যায়ন নেই।
- পর্যবেক্ষণের ফ্রিকোয়েন্সি প্রতি বছর পরিবর্তিত হয়।
- কিছু আন্তঃবার্ষিক পরিবর্তনশীলতা রয়েছে, যা বছরের পর বছর ধরে সামঞ্জস্যপূর্ণ এবং তুলনামূলকভাবে কম। NDVI (img.normalizedDifference(['SWIR1', 'NIR']).rename('NDVI');) দিয়ে এটি চেষ্টা করলে দেখা যাবে যে আন্তঃবার্ষিক এবং আন্তঃবার্ষিক প্রতিক্রিয়া পরিবর্তনশীলতা অনেক বেশি।
- কিছু ছোটখাটো বিঘ্নের সাথে, বেশিরভাগ সময়ই NBR উচ্চ অবস্থানে রয়েছে।
- বনের আগুনের ফলে এনবিআরের প্রতিক্রিয়ায় একটি দুর্দান্ত, দ্রুত হ্রাস স্পষ্টতই দেখা যায়
- তবে মনে রাখবেন যে আগুন ( ডলার লেক ) ২০১১ সালের সেপ্টেম্বরে ঘটেছিল। সনাক্তকরণ বছরে ত্রুটির কারণ হল বার্ষিক যৌগিক তারিখের পরিসর জুলাই থেকে আগস্ট; এই সময়ের পরে ঘটে যাওয়া পরিবর্তনগুলি পরবর্তী উপলব্ধ নন-নাল পর্যবেক্ষণ না হওয়া পর্যন্ত বাছাই করা হয় না, যা পরের বছর বা তার পরেও হতে পারে।
- এনবিআরের বড় ক্ষতি শনাক্ত হওয়ার দুই বছর পর উদ্ভিদ পুনরুদ্ধার (এনবিআরের সাড়া বৃদ্ধি) শুরু হয়।

চিত্র ২. ল্যান্ডস্যাট টিএম, ইটিএম+ এবং ওএলআই থেকে প্রতিনিধিত্ব সহ একটি একক পিক্সেলের জন্য বর্ণালী প্রতিক্রিয়া সময় সিরিজ চার্ট। টিএম এবং ইটিএম+ চিত্রগুলি রৈখিক রূপান্তর দ্বারা ওএলআইয়ের সাথে সামঞ্জস্যপূর্ণ। চিত্রগুলি জুলাই থেকে আগস্ট পর্যন্ত এবং উচ্চ মানের জন্য ফিল্টার করা হয়।
বার্ষিক মধ্যমা প্রদর্শন করে একটি সময় সিরিজ চার্ট তৈরি করুন।
সময় সিরিজ থেকে শব্দ সরলীকরণ এবং অপসারণের জন্য, আন্তঃ-বার্ষিক পর্যবেক্ষণ হ্রাস প্রয়োগ করা যেতে পারে। এখানে, মধ্যমা ব্যবহার করা হয়েছে।
প্রথম ধাপ হল ছবিগুলিকে বছর অনুসারে গ্রুপ করা। প্রতিটি ছবির ee.Image.Date থেকে 'year' সেটিং করে সংগ্রহের উপর ম্যাপিং করে প্রতিটি ছবিতে একটি নতুন 'year' বৈশিষ্ট্য যুক্ত করুন।
var col = col.map(function(img) {
return img.set('year', img.date().get('year'));
});
নতুন 'বছর' বৈশিষ্ট্যটি একই বছরের ছবিগুলিকে একটি যোগদানের মাধ্যমে গোষ্ঠীভুক্ত করতে ব্যবহার করা যেতে পারে। একটি স্বতন্ত্র চিত্র বছরের সংগ্রহ এবং সম্পূর্ণ সংগ্রহের মধ্যে যোগদান একই বছরের তালিকা প্রদান করে, যেখান থেকে মধ্যম হ্রাস সম্পাদন করা যেতে পারে। সম্পূর্ণ সংগ্রহটিকে স্বতন্ত্র বছরের প্রতিনিধিদের একটি সেটে সাবসেট করুন।
var distinctYearCol = col.distinct('year');
একটি ফিল্টার এবং একটি জয়েন নির্ধারণ করুন যা স্বতন্ত্র বছরের সংগ্রহ ( distinctYearCol ) এবং সম্পূর্ণ সংগ্রহ ( col ) এর মধ্যে মিলিত বছরগুলি সনাক্ত করবে। মিলগুলি 'year_matches' নামক একটি সম্পত্তিতে সংরক্ষণ করা হবে।
var filter = ee.Filter.equals({leftField: 'year', rightField: 'year'});
var join = ee.Join.saveAll('year_matches');
জয়েনটি প্রয়োগ করুন এবং ফলস্বরূপ FeatureCollection কে একটি ImageCollection এ রূপান্তর করুন।
var joinCol = ee.ImageCollection(join.apply(distinctYearCol, col, filter));
// Apply median reduction among matching year collections.
var medianComp = joinCol.map(function(img) {
var yearCol = ee.ImageCollection.fromImages(img.get('year_matches'));
return yearCol.reduce(ee.Reducer.median())
.set('system:time_start', img.date().update({month: 8, day: 1}));
});
যদি আপনি একটি নির্দিষ্ট বছরের চিত্রের সংগ্রহ উপস্থাপনের জন্য মধ্যমা ছাড়া অন্য কোনও পরিসংখ্যান পছন্দ করেন, তাহলে উপরের ee.Reducer পরিবর্তন করুন।
অবশেষে, একটি চার্ট তৈরি করুন যা আন্তঃবার্ষিক গ্রীষ্মকালীন পর্যবেক্ষণের সেট থেকে মধ্যমা NBR মান প্রদর্শন করে। আপনার পছন্দ মতো অঞ্চল হ্রাস পরিসংখ্যান পরিবর্তন করুন।
var chartMedianComp = ui.Chart.image
.series({
imageCollection: medianComp,
region: aoi,
reducer: ee.Reducer.median(),
scale: 30,
xProperty: 'system:time_start',
})
.setSeriesNames(['NBR Median'])
.setOptions({
title: 'Intra-annual Median',
colors: ['619cff'],
hAxis: {title: 'Date'},
vAxis: {title: 'NBR'},
lineWidth: 6
});
print(chartMedianComp);
কিছু প্রক্রিয়াকরণের পরে কনসোলে চিত্র 3 এর অনুরূপ একটি চার্ট প্রদর্শিত হবে।

চিত্র ৩. ল্যান্ডস্যাট টিএম, ইটিএম+ এবং ওএলআই-এর প্রতিনিধিত্ব সহ একটি একক পিক্সেলের জন্য মধ্যম গ্রীষ্মকালীন বর্ণালী প্রতিক্রিয়া সময় সিরিজ চার্ট। টিএম এবং ইটিএম+ চিত্রগুলি একটি রৈখিক রূপান্তর দ্বারা ওএলআই-এর সাথে সামঞ্জস্যপূর্ণ। চিত্রগুলি জুলাই থেকে আগস্ট পর্যন্ত এবং উচ্চ মানের জন্য ফিল্টার করা হয়।
অতিরিক্ত তথ্য
বিকল্প রূপান্তর ফাংশন
Roy et al. (2016) সারণি 2 ETM+ পৃষ্ঠ প্রতিফলনকে OLI পৃষ্ঠ প্রতিফলনে রূপান্তর করার জন্য OLS এবং RMA রিগ্রেশন সহগ প্রদান করে এবং তদ্বিপরীত। উপরের টিউটোরিয়ালে OLS রিগ্রেশন দ্বারা শুধুমাত্র ETM+ থেকে OLI রূপান্তর দেখানো হয়েছে। সমস্ত অনুবাদ বিকল্পের জন্য ফাংশন কোড এডিটর স্ক্রিপ্ট বা GitHub সোর্স স্ক্রিপ্টে পাওয়া যাবে।
ডলার লেকের আগুন
এই টিউটোরিয়ালে উল্লেখিত আগুন হল ডলার লেকের আগুন, যা ২০১১ সালের সেপ্টেম্বরের মাঝামাঝি সময়ে মাউন্ট হুড, অরেগন, মার্কিন যুক্তরাষ্ট্রের উত্তর ঢালে ঘটেছিল। এই ব্লগ পোস্টটি দেখুন এবং এটি সম্পর্কে আরও তথ্যের জন্য Varner et al. (2015) দেখুন।