ImageCollection คือกองหรือลำดับของรูปภาพ
สร้างจากรหัสคอลเล็กชัน
คุณโหลด ImageCollection ได้โดยวางรหัสเนื้อหา Earth Engine ลงในคอนสตรัคเตอร์ ImageCollection คุณดูรหัส ImageCollection ได้ในแคตตาล็อกข้อมูล ตัวอย่างเช่น หากต้องการโหลดคอลเล็กชันการสะท้อนพื้นผิว Sentinel-2 ให้ทำดังนี้
ตัวแก้ไขโค้ด (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')
คอลเล็กชันนี้มีรูปภาพ Sentinel-2 ทุกรูปในแคตตาล็อกสาธารณะ มีเยอะมาก โดยปกติแล้ว คุณจะต้องกรองคอลเล็กชันตามที่แสดงที่นี่หรือที่นี่
สร้างจากรายการรูปภาพ
คอนสตรัคเตอร์ ee.ImageCollection() หรือเมธอดอำนวยความสะดวก ee.ImageCollection.fromImages() จะสร้างคอลเล็กชันรูปภาพจากรายการรูปภาพ นอกจากนี้ คุณยังสร้างคอลเล็กชันรูปภาพใหม่ได้โดยการผสานรวมคอลเล็กชันที่มีอยู่ เช่น
ตัวแก้ไขโค้ด (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)
โปรดทราบว่าในตัวอย่างนี้ ImageCollection สร้างขึ้นโดยการแมปฟังก์ชันที่แสดงผล Image ผ่าน FeatureCollection ดูข้อมูลเพิ่มเติมเกี่ยวกับการแมปในส่วนการแมปผ่าน ImageCollection ดูข้อมูลเพิ่มเติมเกี่ยวกับคอลเล็กชันฟีเจอร์ได้จากส่วน FeatureCollection
สร้างจากรายการ COG
สร้าง ImageCollection จาก GeoTIFF ที่เพิ่มประสิทธิภาพสำหรับระบบคลาวด์ (COG) ใน Cloud Storage เช่น
ตัวแก้ไขโค้ด (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
ดูข้อมูลเพิ่มเติมเกี่ยวกับการโหลดรูปภาพจาก GeoTIFF ที่เพิ่มประสิทธิภาพในระบบคลาวด์ สำหรับคอลเล็กชันเวอร์ชันที่ใช้งานจริง ให้ลงทะเบียน COG เป็นเนื้อหาแทน โปรดดูข้อดีข้อเสียที่หัวข้อการอ่าน COG จาก Cloud Storage
สร้างจากอาร์เรย์ Zarr v2
สร้าง ImageCollection จากอาร์เรย์ Zarr v2 ใน Cloud Storage โดยใช้ส่วนของรูปภาพตามมิติข้อมูลที่สูงขึ้น
เช่น
ตัวแก้ไขโค้ด (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