I modified your code to print the dimensions of a specified region (ROI).
var ROI = ee.Geometry.Rectangle(-82.5574, 35.5958, -82.5563, 35.59515); // define area
var collection = ee.ImageCollection('LANDSAT/LC08/C01/T1')
.filterDate('2014-05-01', '2015-10-01')
.filterBounds(ROI)
.limit(1);
var composite = ee.Algorithms.Landsat.simpleComposite(collection);
var image = composite.clip(ROI);
Map.centerObject(ROI);
Map.addLayer(composite, {bands: 'B4,B3,B2', min:0, max:100}, "composite", false);
Map.addLayer(image, {bands: 'B4,B3,B2', min:0, max:100},"image");
// Extract projection information from the first band of a sample image in the collection.
var sample = ee.Image(collection.first());
var projection = sample.select('B1').projection();
// Reproject the composite image to the selected projection.
image = composite.reproject(projection).clip(ROI);
print('image information', image);
Note that:
- Because image collections may contain images with many different projections, you need to specify the projection of your desired output in order to get back meaningful dimensions. In the example above I used the projection information from the first band of a sample image.
- Bands within an image may have different projections. (This is the case for Landsat 8 images.)
- I made the ROI smaller, so you can see the individual pixels when added to the map.
- I limited the collection to a single image that intersects the ROI, so it is easier to interpret the results.
If you want to access the information on the client side, you can do the following:
// Return the image metadata to the client.
var image_info = image.getInfo();
// On the clientside, using Javascript, print out the dimensions.
print('band B1 dimensions: ' + image_info.bands[0].dimensions);
While it is possible to construct images in Earth Engine that store pixel information as multi-dimensional arrays, most images (including the Landsat collection shown in your example) have scalar values (i.e. 0-dimensional arrays) so it is not necessary to use ee.Array object methods to extract information.
You can check out this script and the docs
// A mapping from a common name to the sensor-specific bands.
var LC8_BANDS = ['B2', 'B3', 'B4', 'B5', 'B6', 'B7', 'B10'];
var STD_NAMES = ['blue', 'green', 'red', 'nir', 'swir1', 'swir2', 'temp'];
// Compute a cloud score. This expects the input image to have the common
// band names: ["red", "blue", etc], so it can work across sensors.
var cloudScore = function(img) {
// A helper to apply an expression and linearly rescale the output.
var rescale = function(img, exp, thresholds) {
return img.expression(exp, {img: img})
.subtract(thresholds[0]).divide(thresholds[1] - thresholds[0]);
};
// Compute several indicators of cloudyness and take the minimum of them.
var score = ee.Image(1.0);
// Clouds are reasonably bright in the blue band.
score = score.min(rescale(img, 'img.blue', [0.1, 0.3]));
// Clouds are reasonably bright in all visible bands.
score = score.min(rescale(img, 'img.red + img.green + img.blue', [0.2, 0.8]));
// Clouds are reasonably bright in all infrared bands.
score = score.min(
rescale(img, 'img.nir + img.swir1 + img.swir2', [0.3, 0.8]));
// Clouds are reasonably cool in temperature.
score = score.min(rescale(img, 'img.temp', [300, 290]));
// However, clouds are not snow.
var ndsi = img.normalizedDifference(['green', 'swir1']);
return score.min(rescale(ndsi, 'img', [0.8, 0.6]));
};
// Filter the TOA collection to a time-range and add the cloudscore band.
var collection = ee.ImageCollection('LC8_L1T_TOA')
.filterDate('2013-05-01', '2013-07-01')
.map(function(img) {
// Invert the cloudscore so 1 is least cloudy, and rename the band.
var score = cloudScore(img.select(LC8_BANDS, STD_NAMES));
score = ee.Image(1).subtract(score).select([0], ['cloudscore']);
return img.addBands(score);
});
Best Answer
You can query the data yourself in Earth Engine and from there export it to QGIS if you must. The point is you won't be able to replicate the timelapses they have on your local machine because of the computing resources it requires to download, process and store all of the images. You can share and embed a timelapse and create your own tour.
Some info on the data sources:
Here's the getting started page with some code to use Landsat data. https://developers.google.com/earth-engine/getstarted