Sunteți pe pagina 1din 10

Introduction to the Google Earth Engine API:

Code:

1. Javascript Basics
//Javascript
print('Hello world!');

// Declare a variable
var myGreeting = 'Hello world!';
print(myGreeting)

2a. Adding an image

// Load an image
var Landsat8 = ee.Image('LC8_L1T/LC80440342014077LGN00');

// Display the image


Map.addLayer(Landsat8);

// Center the map with specified co-ordinates


Map.setCenter(-122.44, 37.77, 12);

2b. Adding an image

// Load an image
var Landsat8 = ee.Image('LC8_L1T/LC80440342014077LGN00');

// Display the image


Map.addLayer((Landsat8),
{'min': 6000, 'max': 18000, 'bands': ['B4', 'B3', 'B2']});

// Center the map with specified co-ordinates


Map.setCenter(-122.44, 37.77, 12);

3. Adding an Image Collection

// Load an image collection


var Land8Collection = ee.ImageCollection('LANDSAT/LC8_L1T');
// Display the image collection
Map.addLayer((Land8Collection),
{'min':6000, 'max': 18000, 'bands':['B4', 'B3', 'B2']});

// Center the map with specific co-ordinates


Map.setCenter(28.534205,-31.159726,13)

4. Filtering an Image Collection

// Load an image collection


var Land8Collection = ee.ImageCollection('LANDSAT/LC8_L1T');

// Filter an image collection


var Land8Filter = Land8Collection.filterDate('2014-01-01', '2014-12-31');

// Display the image collection


Map.addLayer((Land8Filter),
{'min':6000, 'max': 18000, 'bands':['B4', 'B3', 'B2']});

// Center the map with specific co-ordinates


Map.setCenter(28.534205,-31.159726,14)

5. Reduce an image collection

// Load an image collection


var Land8Collection = ee.ImageCollection('LANDSAT/LC8_L1T');

// Filter an image collection


var Land8Filter = Land8Collection.filterDate('2014-01-01', '2014-12-31');

// Reduce an image collection


var Mosaic = Land8Filter.median();

// Display the reduced image collection


Map.addLayer(Mosaic,
{'min':6000, 'max': 18000, 'bands':['B4', 'B3', 'B2']});

// Center the map with specified co-ordinates


Map.setCenter(28.534205,-31.159726,13)
6. Basic math on a image collection

// Get an image collection


var collection = ee.ImageCollection('LANDSAT/LT5_L1T_32DAY_NDVI');

// Filter for date 1


var filtered2000 = collection.filterDate('2000-01-01', '2000-12-31');

// Filter for date 2


var filtered2010 = collection.filterDate('2010-01-01', '2010-12-31');

// Reduce for date 1


var image2000 = filtered2000.median();

// Reduce for date 2


var image2010 = filtered2010.median();

// Calculate the difference


var difference = image2010.subtract(image2000);

// Add the layer


Map.addLayer(difference);

// Center the map


Map.setCenter(28.534205,-31.159726,14)

7. Visualizing an image 1

// Get an image collection


var collection = ee.ImageCollection('LANDSAT/LT5_L1T_32DAY_NDVI');

// Filter for date 1


var filtered2000 = collection.filterDate('2000-01-01', '2000-12-31');

// Filter for date 2


var filtered2010 = collection.filterDate('2010-01-01', '2010-12-31');

// Reduce for date 1


var image2000 = filtered2000.median();

// Reduce for date 2


var image2010 = filtered2010.median();

// Calculate the difference


var difference = image2010.subtract(image2000);

// Add the layer


Map.addLayer(difference, {palette: '000000, 00FF00'});

// Center the map


Map.setCenter(28.534205,-31.159726,14)

8. Visualizing an image 2

// Get an image collection


var collection = ee.ImageCollection('LANDSAT/LT5_L1T_32DAY_NDVI');

// Filter for date 1


var filtered2000 = collection.filterDate('2000-01-01', '2000-12-31');

// Filter for date 2


var filtered2010 = collection.filterDate('2010-01-01', '2010-12-31');

// Reduce for date 1


var image2000 = filtered2000.median();

// Reduce for date 2


var image2010 = filtered2010.median();

// Calculate the difference


var difference = image2010.subtract(image2000);

// Add the layer


Map.addLayer(difference, {palette: '000000, 00FF00', min: 0, max: 0.4});

// Center the map


Map.setCenter(28.534205,-31.159726,14)

9. Visualizing an image 3

// Get an image collection


var collection = ee.ImageCollection('LANDSAT/LT5_L1T_32DAY_NDVI');

// Filter for date 1


var filtered2000 = collection.filterDate('2000-01-01', '2000-12-31');

// Filter for date 2


var filtered2010 = collection.filterDate('2010-01-01', '2010-12-31');

// Reduce for date 1


var image2000 = filtered2000.median();
// Reduce for date 2
var image2010 = filtered2010.median();

// Calculate the difference


var difference = image2010.subtract(image2000);

// Add the layer


Map.addLayer(difference, {palette: 'FF0000, 000000, 00FF00', min: -0.4, max: 0.4});

// Center the map


Map.setCenter(28.534205,-31.159726,14)

10. Masking an image

// Get an image collection


var collection = ee.ImageCollection('LANDSAT/LT5_L1T_32DAY_NDVI');

// Filter for date 1


var filtered2000 = collection.filterDate('2000-01-01', '2000-12-31');

// Filter for date 2


var filtered2010 = collection.filterDate('2010-01-01', '2010-12-31');

// Reduce for date 1


var image2000 = filtered2000.median();

// Reduce for date 2


var image2010 = filtered2010.median();

// Calculate the difference


var difference = image2010.subtract(image2000);

// Add an image to mask


var hansenImage = ee.Image('UMD/hansen/global_forest_change_2013');
var data = hansenImage.select('datamask');
var mask = data.eq(1);
// Mask our image with the second image
var maskedDifference = difference.mask(mask);

// Add the layer


Map.addLayer(maskedDifference, {palette: 'FF0000, 000000, 00FF00', min: -0.4, max: 0.4});

// Center the map


Map.setCenter(28.534205,-31.159726,14)

11. Adding a feature

// Add a feature
var rectangle = ee.Geometry.Rectangle(28.51647, -31.1629, 28.53999, -31.14965);

// Display the feature and center the map


Map.setCenter(28.534205,-31.159726,14);
Map.addLayer(rectangle, {'color': 'FF0000'});

12. Adding a feature collection

// Add a feature collection (Protected Areas in Africa in 2015)


var Parks = ee.FeatureCollection('ft:1Czx8CH7HJOHFc_5-
yYqdK0rhy2PU7BkfcOgqnmvr','geometry');

// Display the feature collection in a certain colour


Map.addLayer(Parks,{color:'FF0000'});

// Center the map on the feature collection.


Map.setCenter(19.69, 2.46, 4);

13. Filtering a feature collection

// Add a feature collection (Protected Areas in Africa in 2015)


var Parks = ee.FeatureCollection('ft:1Czx8CH7HJOHFc_5-
yYqdK0rhy2PU7BkfcOgqnmvr','geometry');

// Filter your feature collection


var ForestR = Parks.filterMetadata('desig_eng', 'equals', 'Forest Reserve');

// Display the feature collection in a certain colour


Map.addLayer(ForestR,{color:'FF0000'});

// Center the map on the feature collection.


Map.setCenter(19.69, 2.46, 4);

14. Buffering a Feature Collection

// Add a feature collection (Protected Areas in Africa in 2015)


var Parks = ee.FeatureCollection('ft:1Czx8CH7HJOHFc_5-
yYqdK0rhy2PU7BkfcOgqnmvr','geometry');
// Filter your feature collection
var ForestR = Parks.filterMetadata('desig_eng', 'equals', 'Forest Reserve');

// Make your buffer


var buffer = function(feature) {
return feature.buffer(10000);
};

var bufferedForestR = ForestR.map(buffer);

// Display the buffer and feature collection in different colours


Map.addLayer(bufferedForestR,{color:'00FF00'});
Map.addLayer(ForestR,{color:'FF0000'});

// Center the map on the feature collection


Map.setCentert(19.69, 2.46, 4);

15. Putting It All Together

// Compute the difference image


var collection = ee.ImageCollection('LANDSAT/LT5_L1T_32DAY_NDVI');
var ndvi2000 = collection.filterDate('2000-01-01', '2000-12-31').median();
var ndvi2010 = collection.filterDate('2010-01-01', '2010-12-31').median();

var difference = ndvi2010.subtract(ndvi2000);

// Get a feature collection


var Parks = ee.FeatureCollection('ft:1Czx8CH7HJOHFc_5-
yYqdK0rhy2PU7BkfcOgqnmvr','geometry');

// Clip the image to those Forest Reserves


var clippedDifference = difference.clip(Parks)

// Visualize the difference


Map.addLayer(clippedDifference,
{palette: 'FF0000, 000000, 00FF00', min: -0.4, max: 0.4});

Map.setCenter(30.125, -8.95, 6);

16. Computing statistics 1

// Compute the difference image


var collection = ee.ImageCollection('LANDSAT/LT5_L1T_32DAY_NDVI');
var ndvi2000 = collection.filterDate('2000-01-01', '2000-12-31').median();
var ndvi2010 = collection.filterDate('2010-01-01', '2010-12-31').median();

var difference = ndvi2010.subtract(ndvi2000);

// Get a feature collection


var Parks = ee.FeatureCollection('ft:1Czx8CH7HJOHFc_5-yYqdK0rhy2PU7BkfcOgqnmvr',
'geometry');
var Parks = Parks.filterMetadata('country', 'equals', 'TZA');

// Clip the image to those parks.


var clippedDifference = difference.clip(Parks);

// Generate average NDVI changes for all parks


var averageChange = Parks.map(function(feature) {
var change = difference.reduceRegion({
reducer: ee.Reducer.mean(),
geometry: feature.geometry(),
scale: 30,
maxPixels: 5e9})
return feature.set({'change': change})
});

// Print the data


print(averageChange)

// Add the layer and center the map


Map.addLayer(clippedDifference,
{palette: 'FF0000, 000000, 00FF00', min: -0.4, max: 0.4});
Map.setCenter(32.41, -18.48, 6);

16. Computing statistics 2

// Compute the difference image


var collection = ee.ImageCollection('LANDSAT/LT5_L1T_32DAY_NDVI');
var ndvi2000 = collection.filterDate('2000-01-01', '2000-12-31').median();
var ndvi2010 = collection.filterDate('2010-01-01', '2010-12-31').median();

var difference = ndvi2010.subtract(ndvi2000);

// Get a feature collection


var Parks = ee.FeatureCollection('ft:1Czx8CH7HJOHFc_5-yYqdK0rhy2PU7BkfcOgqnmvr',
'geometry');
var Parks = Parks.filterMetadata('country', 'equals', 'TZA');
// Clip the image to those parks.
var clippedDifference = difference.clip(Parks);

// Generate average NDVI changes for all parks


var averageChange = Parks.map(function(feature) {
var change = difference.reduceRegion({
reducer: ee.Reducer.mean(),
geometry: feature.geometry(),
scale: 30,
maxPixels: 5e9})
return feature.set({'change': change})
});

// Make and print a for loop


var features = averageChange.getInfo().features;
for (var i = 0; i < features.length; ++i) {
var thisFeature = features[i].properties;
print(thisFeature.name + ': ' + thisFeature.change.NDVI);
}

16. Computing statistics 3

// Compute the difference image


var collection = ee.ImageCollection('LANDSAT/LT5_L1T_32DAY_NDVI');
var ndvi2000 = collection.filterDate('2000-01-01', '2000-12-31').median();
var ndvi2010 = collection.filterDate('2010-01-01', '2010-12-31').median();

var difference = ndvi2010.subtract(ndvi2000);

// Get a feature collection


var Parks = ee.FeatureCollection('ft:1Czx8CH7HJOHFc_5-yYqdK0rhy2PU7BkfcOgqnmvr',
'geometry');
var Parks = Parks.filterMetadata('country', 'equals', 'TZA');

// Clip the image to those parks.


var clippedDifference = difference.clip(Parks);

// Generate average NDVI changes for all parks


var averageChange = Parks.map(function(feature) {
var change = difference.reduceRegion({
reducer: ee.Reducer.mean(),
geometry: feature.geometry(),
scale: 30,
maxPixels: 5e9})
return feature.set({'change': change})
});

// Specify document details


var filenamePrefix = 'averageChange';
var selectors =
"wdpaid,name,country,status_yr,desig_eng,desig_type,iucn_cat,Area_sqkm,change";

var taskParams = {
'driveFolder' : 'Earth Engine Exports',
'driveFileNamePrefix': filenamePrefix,
'fileFormat' : 'CSV',
};

averageChange = averageChange.select(selectors.split(','));

// Export the table


Export.table(averageChange, filenamePrefix, taskParams);

S-ar putea să vă placă și