Download presentation
Presentation is loading. Please wait.
Published byJasper Weiss Modified over 5 years ago
1
Monitoraggio Geodetico e Telerilevamento EarthEngine exercizes
Carla Braitenberg Dip. Matematica e Geoscienze Universita’ di Trieste Tel
2
Script 05 var landsat8 = ee.ImageCollection("LANDSAT/LC08/C01/T1_TOA"); var rgb_viz = {min:0, max:0.3, bands:['R','G','B']}; var rgb_viz1 = {min:0, max:0.3, bands:['B','G','R']}; var images = landsat8.select(['B2','B3','B4','B5'], ['B','G','R','N']); images = images.filterDate(' ', ' '); Map.addLayer(images, rgb_viz, 'True Color'); Map.addLayer(images, rgb_viz1, 'False Color');
3
Script 6 Median var landsat8 = ee.ImageCollection("LANDSAT/LC8_L1T_TOA"); var rgb_viz = {min:0, max:0.3, bands:['R','G','B']}; var images = landsat8.select(['B2','B3','B4','B5'], ['B','G','R','N']); images = images.filterDate(' ', ' '); Map.addLayer(images, rgb_viz, 'True Color'); Map.addLayer(images.median(), rgb_viz, 'True Color median'); Next to median, you have also: mode and mean. Median: Middle value separating the greater and lesser halves of a data set Mode: Most frequent value in a data set Mean: Sum of values of a data set divided by number of values
4
Script 7 Sentinel var sentinel2 = ee.ImageCollection("COPERNICUS/S2"); var landsat8 = ee.ImageCollection("LANDSAT/LC8_L1T_TOA"); var rgb_viz = {min:0, max:0.3, bands:['R','G','B']}; var rgb_viz2 = {min:0, max:2000, bands:['R','G','B']}; var images = landsat8.select(['B2','B3','B4','B5'], ['B','G','R','N']); var images2 = sentinel2.select(['B2','B3','B4','B5'], ['B','G','R','N']); images = images.filterDate(' ', ' '); images2 = images2.filterDate(' ', ' '); Map.addLayer(images, rgb_viz, 'True Color'); Map.addLayer(images2, rgb_viz2, 'True Color sentinel'); Map.addLayer(images.median(), rgb_viz, 'True Color median');
5
Script 7 Sentinel- filter on location
var landsat8 = ee.ImageCollection("LANDSAT/LC8_L1T_TOA"); var s2 = ee.ImageCollection("COPERNICUS/S2"); var geometry = /* color: 0000ff */ee.Geometry.Point([13, 45.5]); // // Landsat 8 // var images = landsat8.select(['B2','B3','B4','B5'], ['B','G','R','N']); // var rgb_viz = {min:0, max:0.3, bands:['R','G','B']}; // Sentinel 2 var images = s2.select(['B2','B3','B4','B8'], ['B','G','R','N']); var rgb_viz = {min:0, max:2000, bands:['R','G','B']}; images = images.filterDate(' ', ' '); images = images.filterBounds(geometry); var sample = ee.Image(images.first()); Map.addLayer(sample, rgb_viz, 'sample'); Map.addLayer(images.median(), rgb_viz, 'True Color median');
6
Script 8 sentinel Min-max
var s2toa = ee.ImageCollection("COPERNICUS/S2"); var rgb_viz = {min:0, max:2000, bands:['R','G','B']}; var s2 = s2toa.select(['B2','B3','B4','B5'], ['B','G','R','N']) .filterDate(' ', ' '); print(s2.size()); Map.addLayer(s2, rgb_viz, 'RGB'); Map.addLayer(s2.max(), rgb_viz, 'max'); Map.addLayer(s2.min(), rgb_viz, 'min');
7
Script 9 NDVI var s2toa = ee.ImageCollection("COPERNICUS/S2");
var rgb_viz = {min:0, max:2000, bands:['R','G','B']}; var s2 = s2toa.select(['B2','B3','B4','B5'], ['B','G','R','N']) .filterDate(' ', ' '); print(s2.size()); Map.addLayer(s2, rgb_viz, 'RGB', false); var image = s2.min(); Map.addLayer(image, rgb_viz, 'image'); var ndvi = image.normalizedDifference(['N', 'R']); var ndwi_viz = {min:-0.2, max:0.2, palette:'black,green'}; Map.addLayer(ndvi, ndwi_viz, 'NDVI'); NDVI=(NIR-Red)/(NIR+Red) Normalized Difference vegetation Index
8
Script 10 sediment identification
Example from Caribbean Sea. The problem is to identify the sediment input from the River and detect the seasonal changes of the size and form of the sediment cloud. This is done from multispectral Landsat images. var landsat8 = ee.ImageCollection("LANDSAT/LC08/C01/T1_SR"); var landsat7 = ee.ImageCollection("LANDSAT/LE07/C01/T1_SR"); //var landsat8 = ee.ImageCollection("LANDSAT/LC8_L1T_TOA"), // landsat7 = ee.ImageCollection("LANDSAT/LE7_L1T_TOA"); var rgb_viz = {min:0, max:1500, bands:['R','G','B']}; var rgb_viz1 = {min:0, max:1500, bands:['B','G','N']}; var images = landsat8.select(['B2','B3','B5','B4'], ['B','G','N','R']); var images7 = landsat7.select(['B1','B2','B4','B3'], ['B','G','N','R']); var geometry = /* color: 0000ff */ee.Geometry.Point([-75, 11]); images = images.filterDate(' ', ' '); images = images.filterBounds(geometry); images7 = images7.filterDate(' ', ' '); images7 = images7.filterBounds(geometry); Map.addLayer(images, rgb_viz, 'True Color L8'); Map.addLayer(images, rgb_viz1, 'False Color L8'); Map.addLayer(images7, rgb_viz, 'True Color L7'); Map.addLayer(images7, rgb_viz1, 'False Color L7');
9
False color image compared to true image Landsat 8 (april 2015
10
Landsat 7 April 2000
11
sediment identification by histogram analysis
The histograms were generated in Earth Engine for the Caribbean Sea. The near infrared level is similar, the B,G,R levels are higher where sediments are suspended in water. B G N R Water with sediments Water without sediments
12
Distinction of water covered areas from land areas
Modifying the bands used for the false images we can distinguish water covered areas better from land areas. This can be accomplished by using the bands N and either one of B,G,R.
13
Calculate the difference between the two dates
Operations: select Landsat 7 and landsat 8 as in previous excersize, apply a reducer to obtain two single images, then calculate the difference between the two images. At last map the difference image, taking care of the much smaller values, so you must adjust the color-scale accordingly.
14
var landsat8 = ee.ImageCollection("LANDSAT/LC08/C01/T1_SR");
var landsat7 = ee.ImageCollection("LANDSAT/LE07/C01/T1_SR"); //var landsat8 = ee.ImageCollection("LANDSAT/LC8_L1T_TOA"); //landsat7 = ee.ImageCollection("LANDSAT/LE7_L1T_TOA"); var rgb_viz = {min:0, max:1500, bands:['R','G','B']}; var rgb_viz1 = {min:0, max:1500, bands:['B','G','N']}; var images = landsat8.select(['B2','B3','B5','B4'], ['B','G','N','R']); var images7 = landsat7.select(['B1','B2','B4','B3'], ['B','G','N','R']); var geometry = /* color: 0000ff */ee.Geometry.Point([-75, 11]); images = images.filterDate(' ', ' '); images = images.filterBounds(geometry); images7 = images7.filterDate(' ', ' '); images7 = images7.filterBounds(geometry); var imagesmin = images.min(); var images7min = images7.min(); // calculate normalized difference index between blue and near infrared. Image collection must be reduced before. var ndvi = imagesmin.normalizedDifference(['B', 'N']); var ndwi_viz = {min:-0.4, max:0.4, palette:'black,green'}; // calculate difference between situation in 2015 and You must reduce image collection before. var diff = imagesmin.subtract(images7min); Map.setCenter(-75,11, 10); Map.addLayer(diff, {bands: ['B', 'G', 'N'], min: -500, max: 500}, 'difference'); Map.addLayer(ndvi, ndwi_viz, 'ndvi'); Map.addLayer(images, rgb_viz, 'True Color L8','false'); Map.addLayer(images, rgb_viz1, 'False Color L8','false'); Map.addLayer(images7, rgb_viz, 'True Color L7','false'); Map.addLayer(images7, rgb_viz1, 'False Color L7','false');
15
Difference in false colors
Difference in false colors. Purple area in oceanic marks the change in suspended sediment density
16
Script 10 a Spectral analysis Pure ocean against Oceans with sediment transport
17
var allClasses=ee.FeatureCollection([ocean, sedsSuspended,town])
var ocean = /* color: #2f43d6 */ee.Feature( ee.Geometry.Polygon( [[[ , ], [ , ], [ , ], [ , ], [ , ], [ , ], [ , ]]]), { "class": "ocean", "system:index": "0" }), sedsSuspended = /* color: #98ff00 */ee.Feature( ee.Geometry.Polygon( [[[ , ], [ , ], [ , ], [ , ], [ , ], [ , ], [ , ], [ , ], [ , ]]]), { "class": "sedsSusp", "system:index": "0" }), town = /* color: #ff725b */ee.Feature( ee.Geometry.Polygon( [[[ , ], [ , ], [ , ], [ , ], [ , ], [ , ]]]), { "class": "town", "system:index": "0" }), landsat8 = ee.ImageCollection("LANDSAT/LC08/C01/T1_ANNUAL_TOA"); var allClasses=ee.FeatureCollection([ocean, sedsSuspended,town]) print(allClasses) var landsat8_2015=landsat8.filterDate(' ', ' ').select(['B[1-7]']); var landsat8_2015=landsat8_2015.median() print(landsat8_2015) var rgb_viz = {min:-0.1, max:0.3, bands:['B4','B3','B2']}; …continua sulla prossima
18
Continua dalla precedente.
Map.addLayer(landsat8_2015,rgb_viz) // define chart options for spectral characterization var chartOptions= { title: 'Spectral Signature of LC', hAxis: {title: 'Wavelength (micrometers)'}, vAxis: {title: 'Reflectance'}, lineWidth: 1, pointSize: 4, series: { 0: {color: 'd63000'}, // built-up 1: {color: '98ff00'}, // green 2: {color: '8b823b'}, // bare land } }; // define wavelengths corresponding to bands 1 to 7 of Landsat 8 var wavelengths = [0.44, 0.48, 0.56, 0.65, 0.86, 1.61, 2.2]; // create a graph and print it var spectralSignatureChart= ui.Chart.image.regions(landsat8_2015, allClasses, ee.Reducer.mean(), 30, 'class', wavelengths) .setChartType('LineChart') .setOptions(chartOptions); print(spectralSignatureChart); Fine 2 maggio 2019
19
Analyze time series charts
20
Corso di Monitoraggio Geodetico e Telerilevamento Esempio di schede powerpoint portate all’esame
Drying of Lake Urmia Di Felice Andrea
21
Lago Urmia Il lago di Urmia e' un lago salato endoreico situato tra le province iraniane dell'Azerbaigian Orientale e dell'Azerbaigian Occidentale, a occidente del Mar Caspio. Fonte:Google Earth Engine È il maggiore dei laghi interni dell'Iran, con una superficie di circa km². Nel periodo di piena misura circa 140 km in lunghezza e 55 km in larghezza, ed ha una profondità massima di 16 m.
22
Fonte:Google Earth Engine
A causa del tasso di evaporazione elevato (da 600 mm a mm all'anno), il lago di Urmia è in continua fase di restringimento. Per tale motivo, il tasso di salinità del lago , lo rende inadatto alla vita di qualsiasi specie di pesce. Map.setCenter(45.39, ); LagoUrmia nel 1985 Fonte: Lago Urmia nel 2015 Fonte:Google Earth Engine
23
Per lo studio dell'evoluzione del Lago Urmia si sono utilizzati rispettivamente i satelliti (esempio 14) -Landsat 4 (Periodo:Gennaio Giugno 1991). -Landsat 5 (Periodo : Gennaio-Giugno 2010 ). -Landsat 7 (Periodo: Gennaio-Giugno 2003). -Landsat 8 (Periodo :Gennaio-Giugno 2015). -Sentinel 2 (Periodo: Luglio 2016). var land7 = ee.ImageCollection("LANDSAT/LE7_L1T_TOA"), land8 = ee.ImageCollection("LANDSAT/LC8_L1T_TOA"), land4 = ee.ImageCollection("LANDSAT/LT4_L1T_TOA"), land5 = ee.ImageCollection("LANDSAT/LT5_L1T_TOA"), geometry3 = /* color: #0b4a8b */ee.Geometry.MultiPoint( [[ , ], [ , ], [ , ]]);
24
Le immagini sono state analizzate in colori reali(RGB).
var rgb_viz = {min:0, max:0.3, bands:['R','G','B']}; var rgb_viz1 = {min:0, max:0.3, bands:['B','G','R']}; var land8 = land8.select(['B4','B3','B2'], ['R','G','B']);//L8 var land8=land8.filterBounds(geometry3); var land8= land8.filterDate(' ', ' '); var land7 = land7.select (['B3','B2','B1'] , ['R','G','B']); var land7=land7.filterBounds(geometry3); var land7= land7.filterDate(' ' , ' '); var land4 = land4.select(['B3','B2','B1','B4'] , ['R','G','B','N']); var land4=land4.filterBounds(geometry3); var land4=land4.filterDate(' ',' '); var land5 = land5.select(['B3','B2','B1'], ['R','G','B']); var land5 = land5.filterDate(' ', ' '); var land5 = land5.filterBounds(geometry3); Map.addLayer(land4,rgb_viz, 'L4-91'); Map.addLayer(land7.median(),rgb_viz,'L7-03',false); Map.addLayer(land5.median(),rgb_viz,'L5-10',false); //Map.addLayer(land5.median(),rgb_viz1,'L5-10FC',false); Map.addLayer(land8.median(),rgb_viz, 'L8-15',false); //Map.addLayer(land8.median(),rgb_viz1, 'L8-15FC',false); Le bande utilizzate per l'analisi sono state quelle corrispondenti ai 3 colori primari :Rosso , Verde ,Blu. Le immagini sono state analizzate in colori reali(RGB).
25
var s2= ee.ImageCollection("COPERNICUS/S2");
var rgb_vis = {min:0, max:2000, bands:['R','G','B']}; var s2= s2.select(['B2','B3','B4'], ['B','G','R']); var s2=s2.filterDate(' ', ' ') var s2=s2.filterBounds(geometry3); Map.addLayer(s2.median(),rgb_vis, 'S2-16algaebloomTC',false);
26
var land5 = land5.filterDate('1985-04-01', '1985-08-30');
var land5 = land5.filterBounds(geometry); var land4 = land4.select(['B3','B2','B1','B4'] , ['R','G','B','N']); var land4=land4.filterBounds(geometry3); var land4=land4.filterDate(' ',' ');
27
var land7 = land7.select (['B3','B2','B1'] , ['R','G','B']);
var land7=land7.filterBounds(geometry3); var land7= land7.filterDate(' ' , ' '); var land5 = land5.select(['B3','B2','B1'], ['R','G','B']); var land5 = land5.filterDate(' ', ' '); var land5 = land5.filterBounds(geometry3);
28
var land8 = land8.select(['B4','B3','B2'], ['R','G','B']);//L8
var land8=land8.filterBounds(geometry3); var land8= land8.filterDate(' ', ' '); var s2= s2.select(['B2','B3','B4'], ['B','G','R']); var s2=s2.filterDate(' ', ' ') var s2=s2.filterBounds(geometry3); Il colore rosso e' dato da una fioritura algale. R B G
29
var landsat5 = ee.ImageCollection("LANDSAT/LT5_L1T_TOA"),
landsat8 = ee.ImageCollection("LANDSAT/LC8_L1T_TOA"), geometry = /* color: #0b4a8b */ee.Geometry.MultiPoint( [[ , ], [ , ], [ , ]]), geometry2 = /* color: #8b0000 */ee.Geometry.Point([ , ]); Map.setCenter( , ); var rgb_viz = {min:0, max:0.3, bands:['R','G','B']}; var land8 = landsat8.select(['B2','B3','B5','B4'], ['B','G','N','R']); var land5 = landsat5.select(['B1','B2','B4','B3'], ['B','G','N','R']); var land8 = land8.filterDate(' ', ' '); var land8 = land8.filterBounds(geometry); var land5 = land5.filterDate(' ', ' '); var land5 = land5.filterBounds(geometry); var land8min = land8.min(); var land5min = land5.min(); var ndvi = land8min.normalizedDifference(['B', 'N']); var ndvi_viz = {min:-0.2, max:0.2, palette:'black,green'}; var diff = land8min.subtract(land5min); Map.addLayer(diff, {bands: ['B', 'G', 'N'], min: -0.02, max: 0.05}, 'Difference'); //Map.addLayer(ndvi, ndvi_viz, 'ndvi',false); Map.addLayer(land8.median(), rgb_viz, 'True Color L8'); Map.addLayer(land5.median(), rgb_viz, 'True Color L5');
30
var land8 = land8.filterDate('2017-03-01', '2017-09-30');
var land8 = land8.filterBounds(geometry); var land5 = land5.filterDate(' ', ' '); var land5 = land5.filterBounds(geometry);
31
var land8min = land8.min();
var diff = land8min.subtract(land5min); Map.addLayer(diff, {bands: ['B', 'G', 'N'], min: -0.02, max: 0.05}, 'Difference'); Dopo la riduzione delle collezioni Landsat5 e 8, dall'immagine risultante del Landsat 8 si e' sottratto l'output del Landsat 5. Le aree bianche-bluastre del lago, rappresentano le variazioni di estensione della superficie dal 1985 al 2017. Situazione pre 1985 Situazione 2017
33
Conclusioni -La piattaforma Earth Engine si e' rivelata un ottimo strumento per il monitoraggio dell'evoluzione del lago Urmia. Possibili miglioramenti dell'analisi al fine di individuare le principali cause del prosciugamento del lago: -Studio attraverso indice NDVI dello sviluppo delle aree coltivate nei dintorni dell'area in esame in diversi periodi temporali , in relazione al livello del lago. -Studio delle precipitazioni di carattere nevoso in diversi periodi temporali , interessanti i massicci intorno al lago, al fine di stimare il peso in termini di bilancio idrico.
34
Script 11 Distinguish water from land covered areas
var landsat8 = ee.ImageCollection("LANDSAT/LC8_L1T_TOA"); var rgb_viz = {min:0, max:0.3, bands:['R','G','B']}; var rgb_viz1 = {min:0, max:0.3, bands:['B5','B6','B7']}; var images = landsat8.select(['B2','B3','B5','B4'], ['B','G','N','R']); var images_water = landsat8.select(['B5','B6','B7']); var geometry = ee.Geometry.MultiPoint([12, 45,14,46]); images = images.filterDate(' ', ' '); images = images.filterBounds(geometry); images_water = images_water.filterDate(' ', ' '); images_water = images_water.filterBounds(geometry); Map.addLayer(images, rgb_viz, 'True Color L8'); Map.addLayer(images_water.min(), rgb_viz1, 'False Color L8');
35
Laguna Grado- false colors Landsat8
36
Script 12 Birth of an Island
Between September and October 2013 in the Red Sea an Island was born. This can be well seen in the Landsat 8 images. To enhance the signal we display both the true color and the false color image before and after the appearance of the island. The approximate coordinate of the area of interest is the following: Long , Reference: Possible other island birth to be observed: april 2015, between two Tonga islands Reference: Garvin, J. B., Slayback, D. A., Ferrini, V., Frawley, J., Giguere, C., Asrar, G. R., & Andersen, K. (2018). Monitoring and modeling the rapid evolution of Earth’s newest volcanic island: Hunga Tonga Hunga Ha’apai (Tonga) using high spatial resolution satellite observations. Geophysical Research Letters, DOI: /2017GL076621
37
var landsat8 = ee.ImageCollection("LANDSAT/LC8_L1T_TOA"), geometry = /* color: ffc82d */ee.Geometry.Point([ , ]); var rgb_viz = {min:0, max:0.3, bands:['R','G','B']}; var rgb_viz1 = {min:0, max:0.3, bands:['B5','B6','B7']}; var images = landsat8.select(['B2','B3','B5','B4'], ['B','G','N','R']); var images1 = landsat8.select(['B2','B3','B5','B4'], ['B','G','N','R']); var images_water = landsat8.select(['B5','B6','B7']); var images_water1 = landsat8.select(['B5','B6','B7']); var geometry = ee.Geometry.Point([42,15]); images1 = images1.filterDate(' ', ' '); images1 = images1.filterBounds(geometry); images = images.filterDate(' ', ' '); images = images.filterBounds(geometry); images_water1 = images_water1.filterDate(' ', ' '); images_water1 = images_water1.filterBounds(geometry); images_water = images_water.filterDate(' ', ' '); images_water = images_water.filterBounds(geometry); Map.setCenter(42,15, 10); Map.addLayer(images1.min(), rgb_viz, 'before'); Map.addLayer(images.min(), rgb_viz, 'after'); Map.addLayer(images_water1, rgb_viz1, 'False Color before'); Map.addLayer(images_water, rgb_viz1, 'False Color after');
38
Island birth in Red Sea BEFORE AFTER
images1.filterDate(' ', ' '); images.filterDate(' ', ' '); Landsat 8. Bands 'B5','B6','B7
39
Script 13 Trend of light-time- find areas that have expanded the most
Check definition of the image collection: ImageCollection ID NOAA/DMSP-OLS/NIGHTTIME_LIGHTS Detailed description in publication: Elvidge et al. 1997, Photogrammetric Engineering & Remote Sensing, Vol. 63, No. 6, June 1997, pp It gives yearly stable lighttime near to globally between 1992 and 2014 from the analysis of satellite thermal infrared imaging. It can be used to calculate the linear trend of the intensity of night time. For each pixel a linear function is fitted, defined by the slope and intercept. In earth engine the two quantities are termed “scale” and “offset” and are feeded into two image bands. These can be mapped each singularly by a grey-tone image, or together in the color image of the script.
40
Bands of the DMSP OLS data product
Name Description avg_vis The average of the visible band digital number values with no further filtering. stable_lights The cleaned up avg_vis contains the lights from cities, towns, and other sites with persistent lighting, including gas flares. Ephemeral events, such as fires, have been discarded. The background noise was identified and replaced with values of zero. cf_cvg Cloud-free coverages tally the total number of observations that went into each 30-arc second grid cell. This band can be used to identify areas with low numbers of observations where the quality is reduced. avg_lights_x_pct The average visible band digital number (DN) of cloud-free light detections multiplied by the percent frequency of light detection. The inclusion of the percent frequency of detection term normalizes the resulting digital values for variations in the persistence of lighting. For instance, the value for a light only detected half the time is discounted by 50%. Note that this product contains detections from fires and a variable amount of background noise. Image and data processing by NOAA's National Geophysical Data Center. DMSP data collected by US Air Force Weather Agency.
41
Script 15 Compute trend of lightime globally.
// Compute the trend of nighttime lights from DMSP. // Add a band containing image date as years since 1991. function createTimeBand(img) { var year = ee.Date(img.get('system:time_start')).get('year').subtract(1991); return ee.Image(year).byte().addBands(img); } // Fit a linear trend to the nighttime lights collection. var collection = ee.ImageCollection('NOAA/DMSP-OLS/NIGHTTIME_LIGHTS') .select('stable_lights') .map(createTimeBand); var fit = collection.reduce(ee.Reducer.linearFit()); // Display a single image Map.setCenter(30, 45, 4); Map.addLayer(ee.Image(collection.select('stable_lights').first()), {min: 0, max: 63}, 'stable lights first asset'); // Display trend in red/blue, brightness in green. Map.addLayer(fit, {min: 0, max: [0.18, 20, -0.18], bands: ['scale', 'offset', 'scale']}, 'stable lights trend');
42
From the ee documentation, for explanation of the functions used for the night time trend. See: More complex reductions are also possible using reduce(). For example, to compute the long term linear trend over a collection, use one of the linear regression reducers. The following code computes the linear trend of MODIS Enhanced Vegetation Index (EVI): // This function adds a band representing the image timestamp. var addTime = function(image) { return image.addBands(image.metadata('system:time_start') .divide(1000 * 60 * 60 * 24 * 365)); }; // Load a MODIS collection, filter to several years of 16 day mosaics, // and map the time band function over it. var collection = ee.ImageCollection('MODIS/006/MYD13A1') .filterDate(' ', ' ') .map(addTime); // Select the bands to model with the independent variable first. var trend = collection.select(['system:time_start', 'EVI']) // Compute the linear trend over time. .reduce(ee.Reducer.linearFit()); // Display the trend with increasing slopes in green, decreasing in red. Map.setCenter( , , 5); Map.addLayer( trend, {min: 0, max: [-100, 100, 10000], bands: ['scale', 'scale', 'offset']}, 'EVI trend'); Note that the output of the reduction in this example is a two banded image with one band for the slope of a linear regression (scale) and one band for the intercept (offset). Explore the API documentation to see a list of the reducers that are available to reduce an ImageCollection to a single Image. See the ImageCollection.reduce() section for more information about reducing image collections.
43
From the ee documentation, for explanation of the functions used for the night time trend. See: // Load a Landsat 8 collection for a single path-row. var collection = ee.ImageCollection('LANDSAT/LC08/C01/T1_TOA') .filter(ee.Filter.eq('WRS_PATH', 44)) .filter(ee.Filter.eq('WRS_ROW', 34)); // This function adds a band representing the image timestamp. var addTime = function(image) { return image.addBands(image.metadata('system:time_start')); }; // Map the function over the collection and display the result. print(collection.map(addTime));
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.