درک اینکه موتور زمین چگونه مقیاس را کنترل می کند برای تفسیر نتایج علمی به دست آمده از موتور زمین بسیار مهم است. در اینجا مقیاس به معنای وضوح پیکسل است. بر خلاف سایر سیستمعاملهای GIS و پردازش تصویر، مقیاس تحلیل به جای ورودی، از خروجی تعیین میشود. به طور خاص، هنگامی که برای مثال، یک تصویر برای نمایش یا یک آمار درخواستی میکنید، مقیاسی را مشخص میکنید که در آن دادهها به تجزیه و تحلیل وارد میشوند. این مفهوم در شکل 1 نشان داده شده است.
اهرام تصویری
دارایی های تصویر در Earth Engine در مقیاس های متعدد، در اهرام تصویر وجود دارد. خط مشی هرمی (که با خطوط چین در شکل 1 نشان داده شده است) تعیین می کند که چگونه هر پیکسل در سطح معینی از هرم از تجمع یک بلوک 2×2 پیکسل در سطح پایین تر بعدی محاسبه می شود. برای تصاویر با ارزش پیوسته، مقادیر پیکسل سطوح بالایی هرم، میانگین پیکسل ها در سطح پایین بعدی است. برای تصاویر با ارزش گسسته، مقادیر پیکسل سطوح بالایی هرم نمونه ای (معمولاً پیکسل بالا سمت چپ) از پیکسل ها در سطح پایین بعدی است.
پایینترین سطح هرم تصویر، دادههای تصویر را با وضوح اصلی، زمانی که در Earth Engine وارد میشود، نشان میدهد. در طول مصرف، داده ها (طبق خط مشی هرمی) برای ایجاد سطوح هرم بالاتر جمع می شوند. داده ها جمع می شوند تا زمانی که کل تصویر در یک کاشی 256x256 پیکسل قرار گیرد. هنگامی که از یک تصویر در کد خود استفاده می کنید، Earth Engine سطحی از هرم را با نزدیکترین مقیاس کمتر یا مساوی با مقیاس مشخص شده توسط تجزیه و تحلیل شما انتخاب می کند و در صورت لزوم، نمونه های مجدد (با استفاده از نزدیکترین همسایه به طور پیش فرض) را انتخاب می کند.
مقیاس تحلیل
مقیاس تجزیه و تحلیل در Earth Engine بر اساس "کشش" تعیین می شود. مقیاس درخواست ورودی برای محاسبات از خروجی تعیین می شود. به عنوان مثال، اگر تصویری را به ویرایشگر کد یا عنصر نقشه geemap اضافه کنید، سطح بزرگنمایی نقشه مقیاسی را تعیین می کند که در آن ورودی ها از هرم تصویر درخواست می شود. برای محاسبات دیگر، scale
به عنوان آرگومان مشخص می کنید. به عنوان مثال، با استفاده از باند NIR یک تصویر Landsat که دارای وضوح 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
import ee import geemap.core as geemap
کولب (پایتون)
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
در این مثال، توجه داشته باشید که مقدار پیکسل در یک مکان ثابت (مرکز تصویر) بر اساس مقیاس متفاوت است. این به دلیل این واقعیت است که سطوح مختلف هرم برای مقیاس های مختلف انتخاب می شوند. برای مقیاسهای مشابه، نمونهگیری مجدد نزدیکترین همسایه منجر به بازگشت همان مقدار پیکسل میشود. نکته مهم این است که با تغییر مقیاس، ورودی های تصویر متفاوتی درخواست می شود.
هنگامی که تصویری را با افزودن آن به نقشه تجسم می کنید، Earth Engine مقیاس را از سطح زوم تعیین می کند. مثال ساده زیر را در نظر بگیرید که به سادگی تصویر Landsat را نمایش می دهد:
ویرایشگر کد (جاوا اسکریپت)
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');
import ee import geemap.core as geemap
کولب (پایتون)
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
نقشه تا آخر بزرگنمایی میشود، به طوری که پیکسلهای وضوح اصلی به وضوح قابل مشاهده هستند. بزرگنمایی به اندازه کافی پیکسل ها را نمایش نمی دهد، بلکه سطوح بالاتری از هرم تصویر را نمایش می دهد. همچنین شایان ذکر است که ویرایشگر کد و نقشههای geemap از پیشبینی نقشهها (EPSG:3857) استفاده میکنند، بنابراین سطح مناسب هرم تصویر نیز باید قبل از نمایش دوباره نمایش داده شود. از سند پیشبینیها درباره نحوه مدیریت پیشبینیها توسط Earth Engine بیشتر بیاموزید.