画像の概要

スタートガイドで説明したように、ラスターデータは Earth Engine で Image オブジェクトとして表されます。画像は 1 つ以上のバンドで構成され、各バンドには独自の名前、データ型、スケール、マスク、投影があります。各画像には、一連のプロパティとして保存されたメタデータがあります。

ee.Image コンストラクタ

画像を読み込むには、Earth Engine アセット ID を ee.Image コンストラクタに貼り付けます。画像 ID は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 コンストラクタの引数として、個人のアセット ID を使用することもできます。

ee.ImageCollection から ee.Image を取得する

コレクションから画像を取得する標準的な方法は、コレクションをフィルタすることです。フィルタは、特異性の高い順に適用します。たとえば、Sentinel-2 地表反射率コレクションから画像を取得するには、次のようにします。

コードエディタ(JavaScript)

var first = ee.ImageCollection('COPERNICUS/S2_SR_HARMONIZED')
                .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_HARMONIZED')
    .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 Optimized GeoTIFF の画像

ee.Image.loadGeoTIFF() を使用すると、Google Cloud Storage の Cloud Optimized GeoTIFF(COG)から画像を読み込むことができます。バケットは、サポートされているロケーションに存在する必要があります。たとえば、Google Cloud でホストされている一般公開の Landsat データセットには、Landsat 8 シーンのバンド 5 に対応する GeoTIFF が含まれています。このイメージは、ee.Image.loadGeoTIFF() を使用して Cloud Storage から読み込むことができます。

コードエディタ(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)

Earth Engine から Cloud Storage にエクスポートしたクラウド最適化 GeoTIFF を再読み込みする場合は、エクスポート時に cloudOptimized を true に設定します。

パフォーマンスに関する注: 最適なパフォーマンスを得るには、ee.Image.loadGeoTIFF() で直接読み込むのではなく、COG をアセットとして登録することをおすすめします。詳細と比較については、Cloud Optimized GeoTIFF(COG)の概要をご覧ください。

Zarr v2 配列の画像

ee.Image.loadZarrV2Array() を使用すると、Google Cloud Storage の Zarr v2 配列から画像を読み込むことができます。たとえば、Google Cloud でホストされている一般公開の ERA5 データセットには、地表から蒸発した水の量(メートル単位)に対応する この Zarr v2 配列が含まれています。この配列は、ee.Image.loadZarrV2Array() を使用して Cloud Storage から読み込むことができます。

コードエディタ(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

定数画像

ID で画像を読み込むだけでなく、定数、リスト、その他の適切な 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)