Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Creating a buffer around my region of interest
- var buffer = ee.Geometry.Point([103.83841283715412,1.3736828122619071]).buffer(10000);
- Map.centerObject(buffer, 12);
- // Load Landsat 8 surface reflectance data
- // Look for adequate image filtered by date and cloud cover and region
- var l8sr = ee.ImageCollection('LANDSAT/LC08/C01/T1_SR')
- .filterBounds(buffer)
- .filter(ee.Filter.calendarRange(2018,2019,'year'))
- .filter(ee.Filter.calendarRange(4,5,'month'))
- .map(function(image){return image.clip(buffer)});
- // Function to cloud mask from the Fmask band of Landsat 8 SR data.
- function maskL8sr(image) {
- // Bits 3 and 5 are cloud shadow and cloud, respectively.
- var cloudShadowBitMask = ee.Number(2).pow(3).int();
- var cloudsBitMask = ee.Number(2).pow(5).int();
- // Get the pixel QA band.
- var qa = image.select('pixel_qa');
- // Both flags should be set to zero, indicating clear conditions.
- var mask = qa.bitwiseAnd(cloudShadowBitMask).eq(0)
- .and(qa.bitwiseAnd(cloudsBitMask).eq(0));
- // Return the masked image, scaled to [0, 1].
- return image.updateMask(mask).divide(10000);
- }
- // Map the function over years of data and take the median.
- var composite = l8sr.map(maskL8sr)
- .median();
- //The Band Variables for Landsat 8
- var B2_Blue = composite.select('B2');
- var B3_Green = composite.select('B3');
- var B4_Red = composite.select('B4');
- var B5_NIR = composite.select('B5');
- var B6_SWIR1 = composite.select('B6');
- var B7_SWIR2 = composite.select('B7');
- var B10_TIR1 = composite.select('B10');
- var B11_TIR2 = composite.select('B11');
- // Creating an add variable function for Landsat 8 NDVI.
- var addNDVI_L8 = function(image) {
- var ndvi = composite.expression(
- '(B5-B4)/(B5+B4)', {
- 'B5': B5_NIR,
- 'B4': B4_Red
- }).rename('ndvi');
- return composite.addBands(ndvi);
- };
- // Creating an add variable function for Landsat 8 MSAVI2.
- var addMSAVI2_L8 = function(image) {
- var msavi2 = composite.expression(
- '(2 * B5 + 1 - sqrt(pow((2 * B5 + 1), 2) - 8 * (B5 - B4)) ) / 2', {
- 'B5': B5_NIR,
- 'B4': B4_Red
- }).rename('msavi2');
- return composite.addBands(msavi2);
- };
- // Creating an add variable function for Landsat 8 EBBI.
- var addEBBI_L8 = function(image) {
- var ebbi = composite.expression(
- '(B6-B5)/(sqrt(B6+B10)*(10))', {
- 'B5': B5_NIR,
- 'B6': B6_SWIR1,
- 'B10': B10_TIR1
- }).rename('ebbi');
- return composite.addBands(ebbi);
- };
- //Defining the composite image with the added NDVI band
- var composite_NDVI = addNDVI_L8(composite);
- //printing to see if it has 13 bands (i.e. with the NDVI band added) (THIS WORKS!)
- print(composite_NDVI, 'Image with added NDVI band')
- //This code doesn't work, "composite.map is not a function"
- var composite_indices = composite.map(addNDVI_L8).map(addMSAVI2_L8).map(addEBBI_L8);
- print(composite_indices, 'composite indices');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement