Napisałem poniżej kod wideo zmiany aerozolu, używając produktów Sentinel-5. Kiedy mam zamiar zapisać film na Dysku Google, ten błąd wystąpiło:
Szczegóły zadania: myvideo
Stan: Niepowodzenie
Rozpoczęto 17s temu (2019-08- 27 20:18:34 +0430)
Czas trwania: 9 s
Id: ZTMTUZWKR2TUL3TXP0E57VBZ
Skrypt źródłowy
Błąd: ImageCollection musi mieć 3 lub 4 pasma
link do kodu: https://code.earthengine.google.com/9127141eaed10f0c40b485f488c202e9
var dust = ee.ImageCollection("COPERNICUS/S5P/NRTI/L3_AER_AI") .filterBounds(table) .filterDate("2018-01-01","2020-01-01") .select("absorbing_aerosol_index"); var dust_test = dust.map(function(img){ return img.clip(table); }); var coll4Video = dust_test .map(function(image) { return image.uint8(); // need to make it 8-bit }); Export.video.toDrive({ collection: coll4Video, description: "myvideo" , scale: 1000, framesPerSecond: 2, region: table });
Odpowiedź
Jak wskazuje błąd, eksport wideo wymaga, aby obrazy miały 3 pasma (r, g, b) lub 4 pasma (r, g, b, alfa). Twój obraz ma tylko 1 pasmo. Możesz wywołać na nim visualize()
, aby zastosować wizualizację i przekonwertować ją na 3-pasmowy obraz odpowiedni do eksportu.
var dust = ee.ImageCollection("COPERNICUS/S5P/NRTI/L3_AER_AI") .filterBounds(table) .filterDate("2018-01-01","2020-01-01") .select("absorbing_aerosol_index"); var dust_test = dust.map(function(img){ return img.clip(table); }); var val_max = 2.0; var val_min = -1; var band_viz = { min: val_min, max: val_max, opacity: 1.0, palette: ["black", "blue", "purple", "cyan", "green", "yellow", "red"] }; var coll4Video = dust_test .map(function(image) { return image.visualize(band_viz); }); Map.addLayer(coll4Video) Export.video.toDrive({ collection: coll4Video, description: "myvideo" , scale: 1000, framesPerSecond: 2, region: table });
Link do kodu https://code.earthengine.google.com/7366d0ea6c24f3bcf3f3c0bf4eb623e9
Komentarze
- Dzięki. Twoje wskazówki, działają dobrze.