همانطور که در سند شروع به کار ذکر شده است، دادههای شطرنجی بهصورت اشیاء Image در Earth Engine نمایش داده میشوند. تصاویر از یک یا چند باند تشکیل شدهاند و هر باند نام، نوع داده، مقیاس، پوشش، و طرحریزی خاص خود را دارد. هر تصویر دارای فرادادهای است که بهعنوان مجموعهای از ویژگیها ذخیره شده است.
سازنده ee.Image
تصاویر را میتوان با جایگذاری شناسه دارایی Earth Engine در سازنده ee.Image
بار کرد. میتوانید شناسههای تصویر را در کاتالوگ داده پیدا کنید.
برای مثال، به مدل ارتفاع دیجیتال (NASADEM):
ویرایشگر کد (جاوا اسکریپت)
var loadedImage = ee.Image('NASA/NASADEM_HGT/001');
import ee import geemap.core as geemap
Colab (Python)
loaded_image = ee.Image('NASA/NASADEM_HGT/001')
توجه داشته باشید که یافتن تصویر ازطریق
ابزار جستجوی «ویرایشگر کد»
معادل است. وقتی دارایی را وارد میکنید، کد ساخت تصویر
در بخش واردات
«ویرایشگر کد» برای شما نوشته میشود. همچنین میتوانید از شناسه دارایی شخصی بهعنوان آرگومان سازنده ee.Image استفاده کنید.
دریافت ee.Image از ee.ImageCollection
روش استاندارد برای دریافت تصویر از مجموعه، فیلتر کردن مجموعه است، با فیلترها به ترتیب کاهش ویژگی. برای مثال، برای دریافت تصویر از مجموعه بازتاب سطحی Sentinel-2:
ویرایشگر کد (جاوا اسکریپت)
var first = ee.ImageCollection('COPERNICUS/S2_SR') .filterBounds(ee.Geometry.Point(-70.48, 43.3631)) .filterDate('2019-01-01', '2019-12-31') .sort('CLOUDY_PIXEL_PERCENTAGE') .first(); Map.centerObject(first, 11); Map.addLayer(first, {bands: ['B4', 'B3', 'B2'], min: 0, max: 2000}, 'first');
import ee import geemap.core as geemap
Colab (Python)
first = ( ee.ImageCollection('COPERNICUS/S2_SR') .filterBounds(ee.Geometry.Point(-70.48, 43.3631)) .filterDate('2019-01-01', '2019-12-31') .sort('CLOUDY_PIXEL_PERCENTAGE') .first() ) # Define a map centered on southern Maine. m = geemap.Map(center=[43.7516, -70.8155], zoom=11) # Add the image layer to the map and display it. m.add_layer( first, {'bands': ['B4', 'B3', 'B2'], 'min': 0, 'max': 2000}, 'first' ) display(m)
توجه داشته باشید که مرتبسازی بعداز فیلترها انجام میشود. از مرتب کردن کل مجموعه خودداری کنید.
تصاویر از Cloud GeoTIFFs
میتوانید از ee.Image.loadGeoTIFF() برای بار کردن تصاویر از
Cloud Optimized
GeoTIFFs در Google Cloud Storage استفاده کنید.
برای مثال،
مجموعه دادههای عمومی
Landsat که در Google Cloud میزبانی میشود حاوی
این
GeoTIFF است که با باند ۵ از صحنه Landsat 8 مطابقت دارد. میتوانید این تصویر را از
Cloud Storage بااستفاده از ee.Image.loadGeoTIFF() بار کنید:
ویرایشگر کد (جاوا اسکریپت)
var uri = 'gs://gcp-public-data-landsat/LC08/01/001/002/' + 'LC08_L1GT_001002_20160817_20170322_01_T2/' + 'LC08_L1GT_001002_20160817_20170322_01_T2_B5.TIF'; var cloudImage = ee.Image.loadGeoTIFF(uri); print(cloudImage);
import ee import geemap.core as geemap
Colab (Python)
uri = ( 'gs://gcp-public-data-landsat/LC08/01/001/002/' + 'LC08_L1GT_001002_20160817_20170322_01_T2/' + 'LC08_L1GT_001002_20160817_20170322_01_T2_B5.TIF' ) cloud_image = ee.Image.loadGeoTIFF(uri) display(cloud_image)
توجه داشته باشید که اگر میخواهید یک Cloud Optimized GeoTIFF را که
از Earth Engine به
Cloud Storage صادر کردهاید مجدد بار کنید، هنگام انجام صادرات،
cloudOptimized را روی true تنظیم کنید، همانطور که در اینجا توضیح داده شده است.
یادداشت عملکرد: برای عملکرد بهینه، توصیه میکنیم
«مرکز هزینههای کالای فروششده» خود را بهعنوان دارایی ثبت کنید، نه اینکه
آنها را مستقیماً با ee.Image.loadGeoTIFF() بار کنید. برای جزئیات و مقایسه،
نمای کلی GeoTIFF بهینهسازیشده برای Cloud (COG)
را ببینید.
تصاویر از آرایههای Zarr v2
میتوانید از ee.Image.loadZarrV2Array() برای بار کردن تصویر از
آرایه Zarr v2 در
Google Cloud Storage استفاده کنید. برای مثال، مجموعه داده عمومی ERA5 که در Google Cloud میزبانی میشود حاوی این آرایه Zarr v2 است که با مقدار آب تبخیرشده از سطح زمین (به متر) مطابقت دارد. میتوانید
این آرایه را از Cloud Storage بااستفاده از ee.Image.loadZarrV2Array() بار کنید:
ویرایشگر کد (جاوا اسکریپت)
var timeStart = 1000000; var timeEnd = 1000010; var zarrV2ArrayImage = ee.Image.loadZarrV2Array({ uri: 'gs://gcp-public-data-arco-era5/ar/full_37-1h-0p25deg-chunk-1.zarr-v3/evaporation/.zarray', proj: 'EPSG:4326', starts: [timeStart], ends: [timeEnd] }); print(zarrV2ArrayImage); Map.addLayer(zarrV2ArrayImage, {min: -0.0001, max: 0.00005}, 'Evaporation');
import ee import geemap.core as geemap
Colab (Python)
time_start = 1000000 time_end = 1000010 zarr_v2_array_image = ee.Image.loadZarrV2Array( uri='gs://gcp-public-data-arco-era5/ar/full_37-1h-0p25deg-chunk-1.zarr-v3/evaporation/.zarray', proj='EPSG:4326', starts=[time_start], ends=[time_end], ) display(zarr_v2_array_image) m.add_layer( zarr_v2_array_image, {'min': -0.0001, 'max': 0.00005}, 'Evaporation' ) m
تصاویر ثابت
علاوهبر بار کردن تصاویر براساس شناسه، میتوانید تصاویر را از ثابتها، فهرستها، یا دیگر اشیای مناسب Earth Engine نیز ایجاد کنید. در زیر روشهای ایجاد تصاویر، دریافت زیرمجموعههای باند، و دستکاری باندها نشان داده شده است:
ویرایشگر کد (جاوا اسکریپت)
// Create a constant image. var image1 = ee.Image(1); print(image1); // Concatenate two images into one multi-band image. var image2 = ee.Image(2); var image3 = ee.Image.cat([image1, image2]); print(image3); // Create a multi-band image from a list of constants. var multiband = ee.Image([1, 2, 3]); print(multiband); // Select and (optionally) rename bands. var renamed = multiband.select( ['constant', 'constant_1', 'constant_2'], // old names ['band1', 'band2', 'band3'] // new names ); print(renamed); // Add bands to an image. var image4 = image3.addBands(ee.Image(42)); print(image4);
import ee import geemap.core as geemap
Colab (Python)
# Create a constant image. image_1 = ee.Image(1) display(image_1) # Concatenate two images into one multi-band image. image_2 = ee.Image(2) image_3 = ee.Image.cat([image_1, image_2]) display(image_3) # Create a multi-band image from a list of constants. multiband = ee.Image([1, 2, 3]) display(multiband) # Select and (optionally) rename bands. renamed = multiband.select( ['constant', 'constant_1', 'constant_2'], # old names ['band1', 'band2', 'band3'], # new names ) display(renamed) # Add bands to an image. image_4 = image_3.addBands(ee.Image(42)) display(image_4)
اجرا در Google Colab
مشاهده منبع در GitHub