ImageCollection là một ngăn xếp hoặc chuỗi hình ảnh.
Tạo từ mã nhận dạng bộ sưu tập
Bạn có thể tải ImageCollection bằng cách dán mã tài sản Earth Engine vào hàm khởi tạo ImageCollection. Bạn có thể tìm thấy mã nhận dạng ImageCollection trong danh mục dữ liệu. Ví dụ: để tải bộ sưu tập hệ số phản xạ bề mặt Sentinel-2:
Trình soạn thảo mã (JavaScript)
var sentinelCollection = ee.ImageCollection('COPERNICUS/S2_SR_HARMONIZED');
import ee import geemap.core as geemap
Colab (Python)
sentinel_collection = ee.ImageCollection('COPERNICUS/S2_SR_HARMONIZED')
Bộ sưu tập này chứa mọi hình ảnh Sentinel-2 trong danh mục công khai. Có rất nhiều. Thông thường, bạn nên lọc tập hợp như minh hoạ tại đây hoặc tại đây.
Tạo từ danh sách hình ảnh
Hàm khởi tạo ee.ImageCollection() hoặc phương thức tiện lợi ee.ImageCollection.fromImages() tạo tập hợp hình ảnh từ danh sách hình ảnh. Bạn cũng có thể tạo bộ sưu tập hình ảnh mới bằng cách hợp nhất
các bộ sưu tập hiện có. Ví dụ:
Trình soạn thảo mã (JavaScript)
// Create arbitrary constant images. var constant1 = ee.Image(1); var constant2 = ee.Image(2); // Create a collection by giving a list to the constructor. var collectionFromConstructor = ee.ImageCollection([constant1, constant2]); print('collectionFromConstructor: ', collectionFromConstructor); // Create a collection with fromImages(). var collectionFromImages = ee.ImageCollection.fromImages( [ee.Image(3), ee.Image(4)]); print('collectionFromImages: ', collectionFromImages); // Merge two collections. var mergedCollection = collectionFromConstructor.merge(collectionFromImages); print('mergedCollection: ', mergedCollection); // Create a toy FeatureCollection var features = ee.FeatureCollection( [ee.Feature(null, {foo: 1}), ee.Feature(null, {foo: 2})]); // Create an ImageCollection from the FeatureCollection // by mapping a function over the FeatureCollection. var images = features.map(function(feature) { return ee.Image(ee.Number(feature.get('foo'))); }); // Print the resultant collection. print('Image collection: ', images);
import ee import geemap.core as geemap
Colab (Python)
# Create arbitrary constant images. constant_1 = ee.Image(1) constant_2 = ee.Image(2) # Create a collection by giving a list to the constructor. collection_from_constructor = ee.ImageCollection([constant_1, constant_2]) display('Collection from constructor:', collection_from_constructor) # Create a collection with fromImages(). collection_from_images = ee.ImageCollection.fromImages( [ee.Image(3), ee.Image(4)] ) display('Collection from images:', collection_from_images) # Merge two collections. merged_collection = collection_from_constructor.merge(collection_from_images) display('Merged collection:', merged_collection) # Create a toy FeatureCollection features = ee.FeatureCollection( [ee.Feature(None, {'foo': 1}), ee.Feature(None, {'foo': 2})] ) # Create an ImageCollection from the FeatureCollection # by mapping a function over the FeatureCollection. images = features.map(lambda feature: ee.Image(ee.Number(feature.get('foo')))) # Display the resultant collection. display('Image collection:', images)
Lưu ý rằng trong ví dụ này, ImageCollection được tạo bằng cách ánh xạ một hàm trả về Image qua FeatureCollection. Tìm hiểu thêm về việc liên kết trong phần Liên kết qua ImageCollection. Tìm hiểu thêm về tập hợp đối tượng trong phần FeatureCollection.
Tạo từ danh sách COG
Tạo ImageCollection từ GeoTIFF được tối ưu hoá cho đám mây (COG) trong Cloud Storage. Ví dụ:
Trình soạn thảo mã (JavaScript)
// All the GeoTiffs are in this folder. var uriBase = 'gs://gcp-public-data-landsat/LC08/01/001/002/' + 'LC08_L1GT_001002_20160817_20170322_01_T2/'; // List of URIs, one for each band. var uris = ee.List([ uriBase + 'LC08_L1GT_001002_20160817_20170322_01_T2_B2.TIF', uriBase + 'LC08_L1GT_001002_20160817_20170322_01_T2_B3.TIF', uriBase + 'LC08_L1GT_001002_20160817_20170322_01_T2_B4.TIF', uriBase + 'LC08_L1GT_001002_20160817_20170322_01_T2_B5.TIF', ]); // Make a collection from the list of images. var images = uris.map(ee.Image.loadGeoTIFF); var collection = ee.ImageCollection(images); // Get an RGB image from the collection of bands. var rgb = collection.toBands().rename(['B2', 'B3', 'B4', 'B5']); Map.centerObject(rgb); Map.addLayer(rgb, {bands: ['B4', 'B3', 'B2'], min: 0, max: 20000}, 'rgb');
import ee import geemap.core as geemap
Colab (Python)
# All the GeoTiffs are in this folder. uri_base = ( 'gs://gcp-public-data-landsat/LC08/01/001/002/' + 'LC08_L1GT_001002_20160817_20170322_01_T2/' ) # List of URIs, one for each band. uris = ee.List([ uri_base + 'LC08_L1GT_001002_20160817_20170322_01_T2_B2.TIF', uri_base + 'LC08_L1GT_001002_20160817_20170322_01_T2_B3.TIF', uri_base + 'LC08_L1GT_001002_20160817_20170322_01_T2_B4.TIF', uri_base + 'LC08_L1GT_001002_20160817_20170322_01_T2_B5.TIF', ]) # Make a collection from the list of images. images = uris.map(lambda uri: ee.Image.loadGeoTIFF(uri)) collection = ee.ImageCollection(images) # Get an RGB image from the collection of bands. rgb = collection.toBands().rename(['B2', 'B3', 'B4', 'B5']) m = geemap.Map() m.center_object(rgb) m.add_layer(rgb, {'bands': ['B4', 'B3', 'B2'], 'min': 0, 'max': 20000}, 'rgb') m
Tìm hiểu thêm về cách tải hình ảnh từ GeoTIFF được tối ưu hoá cho đám mây. Đối với các tập hợp chính thức, hãy đăng ký COG dưới dạng tài sản; xem phần đọc COG từ Cloud Storage để biết các điểm đánh đổi.
Tạo từ một mảng Zarr v2
Tạo một ImageCollection từ một mảng Zarr phiên bản 2 trong Cloud Storage bằng cách lấy các lát cắt hình ảnh dọc theo một chiều cao hơn.
Ví dụ:
Trình soạn thảo mã (JavaScript)
var timeStart = 1000000; var timeEnd = 1000048; var zarrV2ArrayImages = ee.ImageCollection.loadZarrV2Array({ uri: 'gs://gcp-public-data-arco-era5/ar/full_37-1h-0p25deg-chunk-1.zarr-v3/evaporation/.zarray', proj: 'EPSG:4326', axis: 0, starts: [timeStart], ends: [timeEnd] }); print(zarrV2ArrayImages); Map.addLayer(zarrV2ArrayImages, {min: -0.0001, max: 0.00005}, 'Evaporation');
import ee import geemap.core as geemap
Colab (Python)
time_start = 1000000 time_end = 1000048 zarr_v2_array_images = ee.ImageCollection.loadZarrV2Array( uri='gs://gcp-public-data-arco-era5/ar/full_37-1h-0p25deg-chunk-1.zarr-v3/evaporation/.zarray', proj='EPSG:4326', axis=0, starts=[time_start], ends=[time_end], ) display(zarr_v2_array_images) m = geemap.Map() m.add_layer( zarr_v2_array_images, {'min': -0.0001, 'max': 0.00005}, 'Evaporation' ) m