ภาพรวมรูปภาพ

ดังที่กล่าวไว้ในเอกสาร เริ่มต้นใช้งาน ข้อมูลแรสเตอร์จะแสดงเป็นออบเจ็กต์ Image ใน Earth Engine รูปภาพประกอบด้วยแบนด์อย่างน้อย 1 แบนด์ และแต่ละแบนด์จะมีชื่อ ประเภทข้อมูล สเกล มาสก์ และการฉายภาพเป็นของตัวเอง รูปภาพแต่ละรูปมีข้อมูลเมตาที่จัดเก็บเป็นชุดพร็อพเพอร์ตี้

ตัวสร้าง ee.Image

คุณโหลดรูปภาพได้โดยวางรหัสชิ้นงาน Earth Engine ลงในตัวสร้าง ee.Image คุณดูรหัสรูปภาพได้ในData Catalog เช่น รหัสของแบบจำลองระดับความสูงแบบดิจิทัล (NASADEM)

ตัวแก้ไขโค้ด (JavaScript)

var loadedImage = ee.Image('NASA/NASADEM_HGT/001');

การตั้งค่า Python

ดูข้อมูลเกี่ยวกับ Python API และการใช้ geemap เพื่อการพัฒนาแบบอินเทอร์แอกทีฟได้ที่หน้าสภาพแวดล้อม Python

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 ให้ทำดังนี้

ตัวแก้ไขโค้ด (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 API และการใช้ geemap เพื่อการพัฒนาแบบอินเทอร์แอกทีฟได้ที่หน้าสภาพแวดล้อม Python

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 GeoTIFF

คุณใช้ ee.Image.loadGeoTIFF() เพื่อโหลดรูปภาพจาก Cloud Optimized GeoTIFF ใน Google Cloud Storage ได้ ตัวอย่างเช่น ชุดข้อมูล Landsat สาธารณะที่โฮสต์ใน Google Cloud มี GeoTIFF นี้ ซึ่งสอดคล้องกับแบนด์ 5 จากฉาก Landsat 8 คุณโหลดรูปภาพนี้จาก Cloud Storage ได้โดยใช้ ee.Image.loadGeoTIFF() ดังนี้

ตัวแก้ไขโค้ด (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 API และการใช้ geemap เพื่อการพัฒนาแบบอินเทอร์แอกทีฟได้ที่หน้าสภาพแวดล้อม Python

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 เมื่อส่งออกตามที่ อธิบายไว้ ที่นี่

หมายเหตุเกี่ยวกับประสิทธิภาพ: เพื่อให้ได้ประสิทธิภาพสูงสุด เราขอแนะนำให้ ลงทะเบียน COG เป็นชิ้นงานแทนที่จะโหลดโดยตรงด้วย ee.Image.loadGeoTIFF() ดูรายละเอียดและการเปรียบเทียบได้ที่ ภาพรวมของ Cloud Optimized GeoTIFF (COG)

รูปภาพจากอาร์เรย์ Zarr v2

คุณใช้ ee.Image.loadZarrV2Array() เพื่อโหลดรูปภาพจาก อาร์เรย์ Zarr v2 ใน Google Cloud Storage ได้ ตัวอย่างเช่น ชุดข้อมูล ERA5 สาธารณะ ที่โฮสต์ใน Google Cloud มี อาร์เรย์ Zarr v2 นี้, ซึ่งสอดคล้องกับปริมาณน้ำเป็นเมตรที่ระเหยจากพื้นผิวโลก คุณโหลดอาร์เรย์นี้จาก Cloud Storage ได้โดยใช้ ee.Image.loadZarrV2Array() ดังนี้

ตัวแก้ไขโค้ด (JavaScript)

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

การตั้งค่า Python

ดูข้อมูลเกี่ยวกับ Python API และการใช้ geemap เพื่อการพัฒนาแบบอินเทอร์แอกทีฟได้ที่หน้าสภาพแวดล้อม Python

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 อื่นๆ ที่เหมาะสมได้ด้วย ตัวอย่างต่อไปนี้แสดงวิธีการสร้างรูปภาพ รับชุดย่อยของแบนด์ และจัดการแบนด์

ตัวแก้ไขโค้ด (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 API และการใช้ geemap เพื่อการพัฒนาแบบอินเทอร์แอกทีฟได้ที่หน้าสภาพแวดล้อม Python

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)