ল্যান্ডস্যাট অ্যালগরিদম

ল্যান্ডস্যাট সংগ্রহের কাঠামো

USGS প্রতিটি স্যাটেলাইটের জন্য 3 টি স্তরে (বিভাগে) ডেটা তৈরি করে:

  • স্তর 1 (T1) - ডেটা যা জ্যামিতিক এবং রেডিওমেট্রিক মানের প্রয়োজনীয়তা পূরণ করে
  • টিয়ার 2 (T2) - যে ডেটা টিয়ার 1 প্রয়োজনীয়তা পূরণ করে না
  • রিয়েল টাইম (আরটি) - ডেটা যা এখনও মূল্যায়ন করা হয়নি (এটি এক মাসের মতো লাগে)।

আরও তথ্যের জন্য সংগ্রহ 2 টিয়ারে USGS ডকুমেন্টেশন দেখুন।

যাচাইকৃত T1 ডেটা এবং নতুন রিয়েল-টাইম ডেটা একসাথে অ্যাক্সেসের অনুমতি দেওয়ার জন্য, আমরা দৃশ্যগুলিকে স্তর এবং উপগ্রহ দ্বারা সংগ্রহে গোষ্ঠীবদ্ধ করেছি। Landsat 8 এর উদাহরণ নিম্নরূপ:

আইডি বর্ণনা
LANDSAT/LC08/C02/T1_RT ল্যান্ডস্যাট 8, সংগ্রহ 2, টিয়ার 1 + রিয়েল টাইম
LANDSAT/LC08/C02/T1 ল্যান্ডস্যাট 8, সংগ্রহ 2, টিয়ার 1 শুধুমাত্র
LANDSAT/LC08/C02/T2 ল্যান্ডস্যাট 8, সংগ্রহ 2, টিয়ার 2 শুধুমাত্র

নতুন অর্জিত দৃশ্যগুলি প্রতিদিন T1_RT সংগ্রহে যোগ করা হয়। একবার একটি RT দৃশ্য পুনঃপ্রসেস করা হয় এবং T1 বা T2 হিসাবে শ্রেণীবদ্ধ করা হয়, এটি T1_RT সংগ্রহ থেকে সরানো হবে এবং নতুন সংস্করণটি উপযুক্ত সংগ্রহে যোগ করা হবে। যদি আপনার কাজ অপসারণ বা সম্ভাব্য ভুল-রেজিস্টার করা দৃশ্যের প্রতি সংবেদনশীল হয়, তাহলে আপনি T1 সংগ্রহে লেগে থাকতে চাইতে পারেন, কিন্তু সাধারণভাবে, এটি খুবই অস্বাভাবিক যে কোনো ভুল নিবন্ধন নতুন অর্জিত দৃশ্যগুলিতে লক্ষ্য করার মতো যথেষ্ট বড়।

পূর্ববর্তী সংগ্রহগুলির প্রতিটিতে কাঁচা ডেটা রয়েছে (যেমন, স্কেল করা, অ্যাট-সেন্সর রেডিয়েন্স)। এছাড়াও, T1 বা T2 ছবি ধারণ করা প্রতিটি সংগ্রহের জন্য, TOA (টপ-অফ-অ্যামমস্ফিয়ার রিফ্ল্যাল্যান্স), SR (সারফেস রিফ্ল্যাল্যান্স), এবং LST (ভূমি পৃষ্ঠের তাপমাত্রা) পণ্য অফার করা হয়। নিম্নলিখিত সারণীটি একটি উদাহরণ হিসাবে Landsat 8 ডেটা ব্যবহার করে TOA এবং SR/LST সংগ্রহের সংগ্রহের আইডি বর্ণনা করে।

আইডি বর্ণনা
LANDSAT/LC08/C02/T1_RT_TOA ল্যান্ডস্যাট 8, সংগ্রহ 2, টিয়ার 1 + রিয়েল টাইম, TOA
LANDSAT/LC08/C02/T1_TOA ল্যান্ডস্যাট 8, সংগ্রহ 2, টিয়ার 1 শুধুমাত্র, TOA
LANDSAT/LC08/C02/T1_L2 ল্যান্ডস্যাট 8, সংগ্রহ 2, টিয়ার 1 শুধুমাত্র, SR এবং LST
LANDSAT/LC08/C02/T2_TOA ল্যান্ডস্যাট 8, সংগ্রহ 2, টিয়ার 2 শুধুমাত্র, TOA

এই তথ্যগুলি Landsat 4, 5, 7, 8, এবং 9-এর জন্য বিদ্যমান। বিভিন্ন উপগ্রহের সংগ্রহ পুনরুদ্ধার করতে নিম্নলিখিত টেবিলের আইডিগুলির সাথে পূর্ববর্তী সংগ্রহ সংজ্ঞায় 'LC08' প্রতিস্থাপন করুন।

আইডি বর্ণনা
LT04 Landsat 4, থিম্যাটিক ম্যাপার (TM)
LT05 Landsat 5, থিম্যাটিক ম্যাপার (TM)
LE07 Landsat 7, উন্নত থিম্যাটিক ম্যাপার প্লাস (ETM+)
LC08 ল্যান্ডস্যাট 8, অপারেশনাল ল্যান্ড ইমেজার (OLI)
LC09 ল্যান্ডস্যাট 9, অপারেশনাল ল্যান্ড ইমেজার 2 (OLI-2)

ল্যান্ডস্যাট সংগ্রহের অবস্থা

প্রাক-সংগ্রহ 1 : ইউএসজিএস দ্বারা আর উত্পাদিত বা বিতরণ করা হবে না, আর্থ ইঞ্জিন দ্বারা অসমর্থিত, 2024 সালে ডেটা ক্যাটালগ থেকে সরানো হবে।

সংগ্রহ 1 : ইউএসজিএস দ্বারা আর উত্পাদিত বা বিতরণ করা হবে না, আর্থ ইঞ্জিন দ্বারা অসমর্থিত, 2024 সালে ডেটা ক্যাটালগ থেকে সরানো হবে। ব্যর্থ অনুরোধগুলি এড়াতে 1 জুলাই, 2024 এর মধ্যে আপনার আর্থ ইঞ্জিন স্ক্রিপ্ট, মডিউল এবং অ্যাপগুলিকে সংগ্রহ 2-এ আপডেট করতে মাইগ্রেশন গাইড ব্যবহার করুন।

সংগ্রহ 2 : বর্তমান সংগ্রহ USGS দ্বারা উত্পাদিত। আর্থ ইঞ্জিন ডেটা ক্যাটালগে সম্পূর্ণ উপলব্ধতা।

ল্যান্ডস্যাট প্রক্রিয়াকরণ পদ্ধতি

আর্থ ইঞ্জিনে বিভিন্ন ধরনের ল্যান্ডস্যাট নির্দিষ্ট প্রক্রিয়াকরণ পদ্ধতি রয়েছে। বিশেষত, অ্যাট-সেন্সর রেডিয়েন্স, টপ-অফ-এটমোস্ফিয়ার (TOA) প্রতিফলন, পৃষ্ঠের প্রতিফলন (SR), ক্লাউড স্কোর এবং ক্লাউড-মুক্ত কম্পোজিট গণনা করার পদ্ধতি রয়েছে।

অ্যাট-সেন্সর উজ্জ্বলতা এবং TOA প্রতিফলন

আর্থ ইঞ্জিনের "কাঁচা" দৃশ্যে ডিজিটাল সংখ্যা (DN) সহ চিত্রাবলী রয়েছে যা স্কেল করা দীপ্তিকে উপস্থাপন করে। ডিএন-এর অ্যাট-সেন্সর রেডিয়েন্সে রূপান্তর দৃশ্য মেটাডেটাতে সংরক্ষিত সহগ ব্যবহার করে একটি রৈখিক রূপান্তর ( চান্ডার এট আল। 2009 )। ee.Algorithms.Landsat.calibratedRadiance() পদ্ধতি এই রূপান্তরটি সম্পাদন করে। TOA (বা অ্যাট-সেন্সর) প্রতিফলনে রূপান্তর হল একটি রৈখিক রূপান্তর যা সৌর উচ্চতা এবং ঋতুগত পরিবর্তনশীল পৃথিবী-সূর্য দূরত্বের জন্য দায়ী। TOA রূপান্তর ee.Algorithms.Landsat.TOA() পদ্ধতি দ্বারা পরিচালিত হয়। TOA পদ্ধতি তাপীয় ব্যান্ডকে উজ্জ্বলতা তাপমাত্রায় রূপান্তর করে। চন্দর এট আল দেখুন। (2009) (অথবা ল্যান্ডস্যাট 8 এর জন্য এই ইউএসজিএস সাইট ) TOA প্রতিফলন বা উজ্জ্বলতা তাপমাত্রা কম্পিউটিং সম্পর্কে আরও তথ্যের জন্য। নিম্নলিখিত উদাহরণটি ল্যান্ডস্যাট 8 চিত্রের জন্য কাঁচা ডেটা থেকে দীপ্তি এবং TOA প্রতিফলনে রূপান্তর দেখায়:

কোড এডিটর (জাভাস্ক্রিপ্ট)

// Load a raw Landsat scene and display it.
var raw = ee.Image('LANDSAT/LC08/C02/T1/LC08_044034_20140318');
Map.centerObject(raw, 10);
Map.addLayer(raw, {bands: ['B4', 'B3', 'B2'], min: 6000, max: 12000}, 'raw');

// Convert the raw data to radiance.
var radiance = ee.Algorithms.Landsat.calibratedRadiance(raw);
Map.addLayer(radiance, {bands: ['B4', 'B3', 'B2'], max: 90}, 'radiance');

// Convert the raw data to top-of-atmosphere reflectance.
var toa = ee.Algorithms.Landsat.TOA(raw);

Map.addLayer(toa, {bands: ['B4', 'B3', 'B2'], max: 0.2}, 'toa reflectance');

পাইথন সেটআপ

পাইথন এপিআই এবং ইন্টারেক্টিভ ডেভেলপমেন্টের জন্য geemap ব্যবহার করার জন্য পাইথন এনভায়রনমেন্ট পৃষ্ঠাটি দেখুন।

import ee
import geemap.core as geemap

Colab (পাইথন)

# Load a raw Landsat scene and display it.
raw = ee.Image('LANDSAT/LC08/C02/T1/LC08_044034_20140318')
m = geemap.Map()
m.center_object(raw, 10)
m.add_layer(
    raw, {'bands': ['B4', 'B3', 'B2'], 'min': 6000, 'max': 12000}, 'raw'
)

# Convert the raw data to radiance.
radiance = ee.Algorithms.Landsat.calibratedRadiance(raw)
m.add_layer(radiance, {'bands': ['B4', 'B3', 'B2'], 'max': 90}, 'radiance')

# Convert the raw data to top-of-atmosphere reflectance.
toa = ee.Algorithms.Landsat.TOA(raw)

m.add_layer(toa, {'bands': ['B4', 'B3', 'B2'], 'max': 0.2}, 'toa reflectance')
m

পৃষ্ঠ প্রতিফলন

ল্যান্ডস্যাট পৃষ্ঠ প্রতিফলন (এসআর) ডেটা আর্থ ইঞ্জিনে ইউএসজিএস কালেকশন 2, লেভেল 2 আর্কাইভের একটি অনুলিপি হিসাবে পাওয়া যায়। উল্লেখ্য যে Landsat 4, 5, এবং 7 SR ডেটা LEDAPS অ্যালগরিদম ব্যবহার করে তৈরি করা হয়, যখন Landsat 8 এবং 9 SR ডেটা LaSRC অ্যালগরিদম ব্যবহার করে তৈরি করা হয়। USGS থেকে এই অ্যালগরিদম এবং তাদের পার্থক্য সম্পর্কে জানুন

আপনি ইউএসজিএস কালেকশন 2, লেভেল 2 ল্যান্ডস্যাট 8 ইমেজটি এইভাবে অ্যাক্সেস করতে পারেন:

কোড এডিটর (জাভাস্ক্রিপ্ট)

var srImage = ee.Image('LANDSAT/LC08/C02/T1_L2/LC08_044034_20201028');

পাইথন সেটআপ

পাইথন এপিআই এবং ইন্টারেক্টিভ ডেভেলপমেন্টের জন্য geemap ব্যবহার করার জন্য পাইথন এনভায়রনমেন্ট পৃষ্ঠাটি দেখুন।

import ee
import geemap.core as geemap

Colab (পাইথন)

sr_image = ee.Image('LANDSAT/LC08/C02/T1_L2/LC08_044034_20201028')

সংগ্রহ 2 ল্যান্ডস্যাট 4 থেকে 9 এর পৃষ্ঠের প্রতিফলন ডেটাসেটগুলি হল:

কোড এডিটর (জাভাস্ক্রিপ্ট)

var surfaceReflectanceL4 = ee.ImageCollection('LANDSAT/LT04/C02/T1_L2');
var surfaceReflectanceL5 = ee.ImageCollection('LANDSAT/LT05/C02/T1_L2');
var surfaceReflectanceL7 = ee.ImageCollection('LANDSAT/LE07/C02/T1_L2');
var surfaceReflectanceL8 = ee.ImageCollection('LANDSAT/LC08/C02/T1_L2');
var surfaceReflectanceL9 = ee.ImageCollection('LANDSAT/LC09/C02/T1_L2');

পাইথন সেটআপ

পাইথন এপিআই এবং ইন্টারেক্টিভ ডেভেলপমেন্টের জন্য geemap ব্যবহার করার জন্য পাইথন এনভায়রনমেন্ট পৃষ্ঠাটি দেখুন।

import ee
import geemap.core as geemap

Colab (পাইথন)

surface_reflectance_l4 = ee.ImageCollection('LANDSAT/LT04/C02/T1_L2')
surface_reflectance_l5 = ee.ImageCollection('LANDSAT/LT05/C02/T1_L2')
surface_reflectance_l7 = ee.ImageCollection('LANDSAT/LE07/C02/T1_L2')
surface_reflectance_l8 = ee.ImageCollection('LANDSAT/LC08/C02/T1_L2')
surface_reflectance_l9 = ee.ImageCollection('LANDSAT/LC09/C02/T1_L2')

সহজ মেঘ স্কোর

ল্যান্ডস্যাট পিক্সেলগুলিকে তাদের আপেক্ষিক ক্লাউডনেস দ্বারা স্কোর করার জন্য, আর্থ ইঞ্জিন ee.Algorithms.Landsat.simpleCloudScore() পদ্ধতিতে একটি প্রাথমিক ক্লাউড স্কোরিং অ্যালগরিদম প্রদান করে। (বাস্তবায়নের বিশদ বিবরণের জন্য, এই কোড এডিটর নমুনা স্ক্রিপ্ট দেখুন)। নিম্নলিখিত উদাহরণটি একটি Landsat 8 ছবিতে মেঘ মাস্ক করতে ক্লাউড স্কোরিং অ্যালগরিদম ব্যবহার করে:

কোড এডিটর (জাভাস্ক্রিপ্ট)

// Load a cloudy Landsat scene and display it.
var cloudy_scene = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140926');
Map.centerObject(cloudy_scene);
Map.addLayer(cloudy_scene, {bands: ['B4', 'B3', 'B2'], max: 0.4}, 'TOA', false);

// Add a cloud score band.  It is automatically called 'cloud'.
var scored = ee.Algorithms.Landsat.simpleCloudScore(cloudy_scene);

// Create a mask from the cloud score and combine it with the image mask.
var mask = scored.select(['cloud']).lte(20);

// Apply the mask to the image and display the result.
var masked = cloudy_scene.updateMask(mask);
Map.addLayer(masked, {bands: ['B4', 'B3', 'B2'], max: 0.4}, 'masked');

পাইথন সেটআপ

পাইথন এপিআই এবং ইন্টারেক্টিভ ডেভেলপমেন্টের জন্য geemap ব্যবহার করার জন্য পাইথন এনভায়রনমেন্ট পৃষ্ঠাটি দেখুন।

import ee
import geemap.core as geemap

Colab (পাইথন)

# Load a cloudy Landsat scene and display it.
cloudy_scene = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140926')
m = geemap.Map()
m.center_object(cloudy_scene)
m.add_layer(
    cloudy_scene, {'bands': ['B4', 'B3', 'B2'], 'max': 0.4}, 'TOA', False
)

# Add a cloud score band.  It is automatically called 'cloud'.
scored = ee.Algorithms.Landsat.simpleCloudScore(cloudy_scene)

# Create a mask from the cloud score and combine it with the image mask.
mask = scored.select(['cloud']).lte(20)

# Apply the mask to the image and display the result.
masked = cloudy_scene.updateMask(mask)
m.add_layer(masked, {'bands': ['B4', 'B3', 'B2'], 'max': 0.4}, 'masked')
m

আপনি যদি কোড এডিটরে এই উদাহরণটি চালান, তাহলে মুখোশযুক্ত এবং মুখোশহীন চিত্রগুলির মধ্যে পার্থক্য তুলনা করতে TOA স্তরগুলির দৃশ্যমানতা টগল করার চেষ্টা করুন৷ (কীভাবে করতে হবে তার নির্দেশাবলীর জন্য কোড এডিটর ডক্সের লেয়ার ম্যানেজার বিভাগটি দেখুন)। লক্ষ্য করুন যে simpleCloudScore() এর ইনপুটটি একটি একক Landsat TOA দৃশ্য। এছাড়াও মনে রাখবেন যে simpleCloudScore() ইনপুট ইমেজে 'cloud' নামে একটি ব্যান্ড যোগ করে। ক্লাউড ব্যান্ডে ক্লাউড স্কোর 0 (মেঘলা নয়) থেকে 100 (সবচেয়ে মেঘলা) থাকে। পূর্ববর্তী উদাহরণটি মেঘলা পিক্সেল মাস্ক করতে ক্লাউড স্কোরে একটি নির্বিচারে থ্রেশহোল্ড (20) ব্যবহার করে। Landsat দৃশ্যের একটি আর্থ ইঞ্জিন মোজাইকে এই অ্যালগরিদম প্রয়োগ করতে, SENSOR_ID বৈশিষ্ট্য সেট করুন:

কোড এডিটর (জাভাস্ক্রিপ্ট)

// Load a Landsat 8 TOA collection, make 15-day mosaic, set SENSOR_ID property.
var mosaic = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA')
  .filterDate('2019-06-01', '2019-06-16').mosaic()
  .set('SENSOR_ID', 'OLI_TIRS');

// Cloud score the mosaic and display the result.
var scored_mosaic = ee.Algorithms.Landsat.simpleCloudScore(mosaic);
Map.addLayer(scored_mosaic, {bands: ['B4', 'B3', 'B2'], max: 0.4},
    'TOA mosaic');

পাইথন সেটআপ

পাইথন এপিআই এবং ইন্টারেক্টিভ ডেভেলপমেন্টের জন্য geemap ব্যবহার করার জন্য পাইথন এনভায়রনমেন্ট পৃষ্ঠাটি দেখুন।

import ee
import geemap.core as geemap

Colab (পাইথন)

# Load a Landsat 8 TOA collection, make 15-day mosaic, set SENSOR_ID property.
mosaic = (
    ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA')
    .filterDate('2019-06-01', '2019-06-16')
    .mosaic()
    .set('SENSOR_ID', 'OLI_TIRS')
)

# Cloud score the mosaic and display the result.
scored_mosaic = ee.Algorithms.Landsat.simpleCloudScore(mosaic)
m = geemap.Map()
m.add_layer(
    scored_mosaic,
    {'bands': ['B4', 'B3', 'B2'], 'max': 0.4},
    'TOA mosaic',
)
m

SENSOR_ID পৃথক চিত্রের একটি সম্পত্তি। যখন আর্থ ইঞ্জিন অনেকগুলি চিত্রের মোজাইক তৈরি করে, তখন এটিকে SENSOR_ID বৈশিষ্ট্য সহ পৃথক চিত্রের মেটাডেটা ফেলে দিতে হয়। একটি মোজাইক ক্লাউড স্কোর করার জন্য, আর্থ ইঞ্জিন সেই সম্পত্তির সন্ধান করে এবং এটি খুঁজে পায় না, ফলে একটি ত্রুটি দেখা দেয়। এটি এড়াতে ম্যানুয়ালি সম্পত্তি সেট করুন। Landsat 5, 7, এবং 8(9) এর সেন্সর আইডি যথাক্রমে 'TM', 'ETM' এবং 'OLI_TIRS'।

সরল যৌগিক

সাধারণ ক্লাউড-মুক্ত ল্যান্ডস্যাট কম্পোজিট তৈরি করার জন্য, আর্থ ইঞ্জিন ee.Algorithms.Landsat.simpleComposite() পদ্ধতি প্রদান করে। এই পদ্ধতিটি প্রতিটি অবস্থানে দৃশ্যের একটি উপসেট নির্বাচন করে, TOA প্রতিফলনে রূপান্তর করে, সাধারণ ক্লাউড স্কোর প্রয়োগ করে এবং সর্বনিম্ন মেঘলা পিক্সেলের মধ্যমা নেয়। এই উদাহরণটি ডিফল্ট প্যারামিটার ব্যবহার করে একটি সাধারণ কম্পোজিট তৈরি করে এবং ক্লাউড স্কোর থ্রেশহোল্ড এবং শতাংশের জন্য কাস্টম প্যারামিটার ব্যবহার করে একটি যৌগিকের সাথে তুলনা করে:

কোড এডিটর (জাভাস্ক্রিপ্ট)

// Load a raw Landsat 5 ImageCollection for a single year.
var collection = ee.ImageCollection('LANDSAT/LT05/C02/T1')
    .filterDate('2010-01-01', '2010-12-31');

// Create a cloud-free composite with default parameters.
var composite = ee.Algorithms.Landsat.simpleComposite(collection);

// Create a cloud-free composite with custom parameters for
// cloud score threshold and percentile.
var customComposite = ee.Algorithms.Landsat.simpleComposite({
  collection: collection,
  percentile: 75,
  cloudScoreRange: 5
});

// Display the composites.
Map.setCenter(-122.3578, 37.7726, 10);
Map.addLayer(composite, {bands: ['B4', 'B3', 'B2'], max: 128}, 'TOA composite');
Map.addLayer(customComposite, {bands: ['B4', 'B3', 'B2'], max: 128},
    'Custom TOA composite');

পাইথন সেটআপ

পাইথন এপিআই এবং ইন্টারেক্টিভ ডেভেলপমেন্টের জন্য geemap ব্যবহার করার জন্য পাইথন এনভায়রনমেন্ট পৃষ্ঠাটি দেখুন।

import ee
import geemap.core as geemap

Colab (পাইথন)

# Load a raw Landsat 5 ImageCollection for a single year.
collection = ee.ImageCollection('LANDSAT/LT05/C02/T1').filterDate(
    '2010-01-01', '2010-12-31'
)

# Create a cloud-free composite with default parameters.
composite = ee.Algorithms.Landsat.simpleComposite(collection)

# Create a cloud-free composite with custom parameters for
# cloud score threshold and percentile.
custom_composite = ee.Algorithms.Landsat.simpleComposite(
    collection=collection, percentile=75, cloudScoreRange=5
)

# Display the composites.
m = geemap.Map()
m.set_center(-122.3578, 37.7726, 10)
m.add_layer(
    composite, {'bands': ['B4', 'B3', 'B2'], 'max': 128}, 'TOA composite'
)
m.add_layer(
    custom_composite,
    {'bands': ['B4', 'B3', 'B2'], 'max': 128},
    'Custom TOA composite',
)
m

মনে রাখবেন যে সরল কম্পোজিটের ইনপুটটি কাঁচা চিত্রের একটি সংগ্রহ। এছাড়াও মনে রাখবেন যে ডিফল্টরূপে, প্রতিফলিত ব্যান্ড আউটপুট হল প্রতিফলনকে 8-বিটে স্কেল করা হয় এবং 8-বিট পরিসরে ফিট করার জন্য তাপীয় ব্যান্ড আউটপুট হল কেলভিন মাইনাস 100। আপনি আন-স্কেলড, আন-শিফটেড ফ্লোট আউটপুট পেতে asFloat প্যারামিটারটিকে সত্যে সেট করে এই আচরণটি পরিবর্তন করতে পারেন।