স্কেল

আর্থ ইঞ্জিন কীভাবে স্কেল পরিচালনা করে তা বোঝা আর্থ ইঞ্জিন থেকে প্রাপ্ত বৈজ্ঞানিক ফলাফল ব্যাখ্যা করার জন্য অত্যন্ত গুরুত্বপূর্ণ। এখানে, স্কেল মানে পিক্সেল রেজোলিউশন। অন্যান্য জিআইএস এবং ইমেজ প্রসেসিং প্ল্যাটফর্মের বিপরীতে, বিশ্লেষণের স্কেল ইনপুটের পরিবর্তে আউটপুট থেকে নির্ধারিত হয়। বিশেষ করে, আপনি যখন ফলাফলের জন্য অনুরোধ করেন, প্রদর্শনের জন্য একটি চিত্র বা একটি পরিসংখ্যান, উদাহরণস্বরূপ, আপনি বিশ্লেষণে ডেটা ইনপুট করার স্কেলটি নির্দিষ্ট করেন৷ এই ধারণাটি চিত্র 1 এ চিত্রিত করা হয়েছে।

পিরামিড
চিত্র 1. আর্থ ইঞ্জিনে একটি চিত্র ডেটাসেটের একটি গ্রাফিক উপস্থাপনা। ড্যাশড লাইনগুলি 4 পিক্সেলের 2x2 ব্লকের জন্য পিরামিডিং নীতির প্রতিনিধিত্ব করে। আর্থ ইঞ্জিন ইনপুট হিসাবে ব্যবহার করার জন্য ইমেজ পিরামিডের উপযুক্ত স্তর নির্ধারণ করতে আউটপুট দ্বারা নির্দিষ্ট স্কেল ব্যবহার করে।

ছবি পিরামিড

আর্থ ইঞ্জিনে ইমেজ সম্পদগুলি ইমেজ পিরামিডগুলিতে একাধিক স্কেলে বিদ্যমান। পিরামিডিং নীতি (চিত্র 1-এ ড্যাশড লাইন দ্বারা উপস্থাপিত) নির্ধারণ করে কিভাবে পিরামিডের একটি প্রদত্ত স্তরে প্রতিটি পিক্সেল পরবর্তী নিম্ন স্তরে পিক্সেলের 2x2 ব্লকের সমষ্টি থেকে গণনা করা হয়। ক্রমাগত মূল্যবান চিত্রগুলির জন্য, পিরামিডের উপরের স্তরের পিক্সেল মানগুলি পরবর্তী নিম্ন স্তরের পিক্সেলগুলির গড়। বিচ্ছিন্ন মূল্যবান চিত্রগুলির জন্য, পিরামিডের উপরের স্তরের পিক্সেল মানগুলি পরবর্তী নিম্ন স্তরের পিক্সেলগুলির একটি নমুনা (সাধারণত উপরের বাম পিক্সেল)।

ইমেজ পিরামিডের সর্বনিম্ন স্তরটি নেটিভ রেজোলিউশনে চিত্র ডেটা উপস্থাপন করে, যখন এটি আর্থ ইঞ্জিনে প্রবেশ করা হয়। ইনজেশনের সময়, উচ্চতর পিরামিড স্তর তৈরি করতে ডেটা একত্রিত করা হয় (পিরামিডিং নীতি অনুসারে)। সম্পূর্ণ চিত্রটি 256x256 পিক্সেল টাইলের মধ্যে ফিট না হওয়া পর্যন্ত ডেটা একত্রিত হয়। যখন আপনি আপনার কোডে একটি চিত্র ব্যবহার করেন, তখন আর্থ ইঞ্জিন আপনার বিশ্লেষণ এবং পুনরায় নমুনা দ্বারা নির্দিষ্ট করা স্কেলের চেয়ে কম বা সমান নিকটতম স্কেল সহ পিরামিডের একটি স্তর বেছে নেয় (ডিফল্টরূপে নিকটতম প্রতিবেশী ব্যবহার করে) প্রয়োজনে।

বিশ্লেষণের স্কেল

আর্থ ইঞ্জিনে বিশ্লেষণের স্কেল একটি "টান" ভিত্তিতে নির্ধারিত হয়। কম্পিউটেশনে ইনপুট অনুরোধ করার জন্য আউটপুট থেকে নির্ধারিত হয়। উদাহরণ স্বরূপ, আপনি যদি কোড এডিটর বা জিম্যাপ ম্যাপ উপাদানে একটি ছবি যোগ করেন, তাহলে মানচিত্রের জুম স্তরটি নির্ধারণ করে যে ইমেজ পিরামিড থেকে ইনপুটগুলির জন্য অনুরোধ করা হয়েছে। অন্যান্য গণনার জন্য, আপনি একটি যুক্তি হিসাবে scale নির্দিষ্ট করুন। উদাহরণস্বরূপ, একটি Landsat চিত্রের NIR ব্যান্ড ব্যবহার করে, যার 30 মিটার নেটিভ রেজোলিউশন রয়েছে:

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

var image = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140318').select('B4');

var printAtScale = function(scale) {
  print('Pixel value at '+scale+' meters scale',
    image.reduceRegion({
      reducer: ee.Reducer.first(),
      geometry: image.geometry().centroid(),
      // The scale determines the pyramid level from which to pull the input
      scale: scale
  }).get('B4'));
};

printAtScale(10); // 0.10394100844860077
printAtScale(30); // 0.10394100844860077
printAtScale(50); // 0.09130698442459106
printAtScale(70); // 0.1150854229927063
printAtScale(200); // 0.102478988468647
printAtScale(500); // 0.09072770178318024

পাইথন সেটআপ

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

import ee
import geemap.core as geemap

Colab (পাইথন)

image = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140318').select('B4')


def print_at_scale(scale):
  display(
      f'Pixel value at {scale} meters scale',
      image.reduceRegion(
          reducer=ee.Reducer.first(),
          geometry=image.geometry().centroid(),
          # The scale determines the pyramid level from which to pull the input
          scale=scale,
      ).get('B4'),
  )


print_at_scale(10)  # 0.10394100844860077
print_at_scale(30)  # 0.10394100844860077
print_at_scale(50)  # 0.09130698442459106
print_at_scale(70)  # 0.1150854229927063
print_at_scale(200)  # 0.102478988468647
print_at_scale(500)  # 0.09072770178318024

এই উদাহরণে, নোট করুন যে একটি স্থির অবস্থানে (চিত্র কেন্দ্রিক) পিক্সেল মান স্কেলের উপর ভিত্তি করে পরিবর্তিত হয়। এটি বিভিন্ন স্কেল জন্য বিভিন্ন পিরামিড স্তর নির্বাচন করা হয় যে কারণে হয়. অনুরূপ স্কেলের জন্য, নিকটতম প্রতিবেশী পুনরায় নমুনাকরণের ফলে একই পিক্সেল মান ফেরত দেওয়া হয়। গুরুত্বপূর্ণ বিষয় হল যে স্কেল পরিবর্তন করে, বিভিন্ন ইমেজ ইনপুট অনুরোধ করা হয়।

আপনি যখন মানচিত্রে যোগ করে একটি চিত্রকে কল্পনা করেন, তখন আর্থ ইঞ্জিন জুম স্তর থেকে স্কেল নির্ধারণ করে। নিম্নলিখিত সাধারণ উদাহরণটি বিবেচনা করুন, যা কেবল একটি ল্যান্ডস্যাট চিত্র প্রদর্শন করে:

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

var image = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140318');
Map.centerObject(image, 17);
Map.addLayer(image, {bands: ['B4', 'B3', 'B2'], max: 0.35}, 'image');

পাইথন সেটআপ

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

import ee
import geemap.core as geemap

Colab (পাইথন)

image = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140318')
m = geemap.Map()
m.center_object(image, 17)
m.add_layer(image, {'bands': ['B4', 'B3', 'B2'], 'max': 0.35}, 'image')
m

মানচিত্রটি পুরোভাবে জুম করা শুরু করে, যাতে নেটিভ রেজোলিউশন পিক্সেলগুলি স্পষ্টভাবে দৃশ্যমান হয়৷ পর্যাপ্ত পরিমাণে জুম আউট করা একই পিক্সেল প্রদর্শন করবে না, তবে এর পরিবর্তে চিত্র পিরামিডের উচ্চ স্তর প্রদর্শন করবে। এটাও লক্ষণীয় যে কোড এডিটর এবং জিম্যাপ ম্যাপ ম্যাপ মার্কেটর (EPSG:3857) প্রজেকশন ব্যবহার করে, তাই ইমেজ পিরামিডের উপযুক্ত লেভেলও প্রদর্শনের আগে রিপ্রজেক্ট করা দরকার। আর্থ ইঞ্জিন কিভাবে প্রজেকশন ডক থেকে অনুমান পরিচালনা করে সে সম্পর্কে আরও জানুন।