סקירה כללית על תמונות

כפי שצוין במאמר תחילת העבודה, נתוני רסטר מיוצגים כאובייקטים מסוג Image ב-Earth Engine. תמונות מורכבות מפס אחד או יותר, וכל פס כולל שם, סוג נתונים, קנה מידה, מסכה ותצוגה משלו. לכל תמונה יש מטא-נתונים שמאוחסנים כקבוצה של מאפיינים.

ה-constructor של ee.Image

כדי לטעון תמונות, מדביקים מזהה נכס של Earth Engine ב-constructor של ee.Image. מזהי התמונות מופיעים בקטלוג הנתונים. לדוגמה, כדי לטעון את DSM של ALOS של JAXA:

Code Editor‏ (JavaScript)

var loadedImage = ee.Image('JAXA/ALOS/AW3D30/V2_2');

הגדרת Python

בדף סביבת Python מפורט מידע על Python API ועל השימוש ב-geemap לפיתוח אינטראקטיבי.

import ee
import geemap.core as geemap

Colab (Python)

loaded_image = ee.Image('JAXA/ALOS/AW3D30/V2_2')

הערה: אפשר גם לחפש תמונה באמצעות כלי החיפוש של Code Editor. כשמייבאים את הנכס, קוד היצירה של התמונה נכתב בשבילכם בקטע imports ב-Code Editor. אפשר גם להשתמש במזהה נכס אישי כארגומנטים למבנה ee.Image.

אחזור ee.Image מ-ee.ImageCollection

הדרך הרגילה להסיר תמונה מאוסף היא לסנן את האוסף, עם מסננים לפי סדר ירידה ברמת הספציפיות. לדוגמה, כדי לקבל תמונה מאוסף התמונות של Sentinel-2 של השתקפות פני השטח:

Code Editor‏ (JavaScript)

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');

הגדרת Python

בדף סביבת Python מפורט מידע על Python API ועל השימוש ב-geemap לפיתוח אינטראקטיבי.

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)

חשוב לזכור שהמיון מתבצע אחרי המסננים. מומלץ להימנע ממיון של האוסף כולו.

תמונות מקובצי GeoTIFF ב-Cloud

אפשר להשתמש ב-ee.Image.loadGeoTIFF() כדי לטעון תמונות מ-GeoTIFFs שהותאמו ל-Cloud ב-Google Cloud Storage. לדוגמה, מערך הנתונים הציבורי של Landsat שמתארח ב-Google Cloud מכיל את קובץ GeoTIFF הזה, שתואם לפס 5 מסצנה של Landsat 8. אפשר לטעון את התמונה הזו מ-Cloud Storage באמצעות ee.Image.loadGeoTIFF():

Code Editor‏ (JavaScript)

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);

הגדרת Python

בדף סביבת Python מפורט מידע על Python API ועל השימוש ב-geemap לפיתוח אינטראקטיבי.

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)

שימו לב: אם רוצים לטעון מחדש קובץ GeoTIFF מותאם ל-Cloud שמייצאים מ-Earth Engine ל-Cloud Storage, צריך להגדיר את הערך של cloudOptimized ל-true בזמן הייצוא, כפי שמתואר כאן.

תמונות קבועות

בנוסף לטעינה של תמונות לפי מזהה, אפשר גם ליצור תמונות מתוך קבועים, רשימות או אובייקטים מתאימים אחרים ב-Earth Engine. בהמשך מפורטות שיטות ליצירת תמונות, לקבלת קבוצות משנה של פסים ולשינוי שלהם:

Code Editor‏ (JavaScript)

// 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);

הגדרת Python

בדף סביבת Python מפורט מידע על Python API ועל השימוש ב-geemap לפיתוח אינטראקטיבי.

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)