1

My question relates to extracting the area of different land cover types in a region. So far, I classified a Landsat7 image using MODIS data as classifier. When I choose a point on the Map, the inspector shows me which landcover type is at this point. However, I do not know how to calculate the area of this landcover type for the region and export it.

- So, how do I calculate and export the area of all landcover types in my classified image?

- Also, how do I export the "upsampled" image properly? I only get black images with my current export function

    // Use the MCD12 land-cover as training data.
    var modisLandcover = ee.Image('MODIS/051/MCD12Q1/2011_01_01')
      .select('Land_Cover_Type_1');

    // A pallete to use for visualizing landcover images.
    var landcoverPalette = [
        'aec3d4', // water
        '152106', '225129', '369b47', '30eb5b', '387242', // forest
        '6a2325', 'c3aa69', 'b76031', 'd9903d', '91af40',  // shrub, grass, savanah
        '111149', // wetlands
        '8dc33b', // croplands
        'cc0013', // urban
        '6ca80d', // crop mosaic
        'd7cdcc', // snow and ice
        'f7e084', // barren
        '6f6f6f'  // tundra
    ];

    // A set of visualization parameters using the landcover palette.
    var landcoverVisualization = {palette: landcoverPalette, min: 0, max: 17, format: 'png'};
    // Center over our region of interest.
    Map.centerObject(geometry, 9);
    // Draw the MODIS landcover image.
    Map.addLayer(modisLandcover, landcoverVisualization, 'MODIS landcover');

    // Load and filter Landsat data.
    var l7 = ee.ImageCollection('LANDSAT/LE07/C01/T1')
        .filterBounds(geometry)
        .filterDate('2011-01-01', '2012-01-01')
        .sort('CLOUD_COVER', false);            //sort by cloud cover ('false' indivcates descending )

    // Draw the Landsat composite, visualizing true color bands.
    var landsatComposite = ee.Algorithms.Landsat.simpleComposite({
      collection: l7,
      asFloat: true
    });
    Map.addLayer(landsatComposite, {min: 0, max: 0.3, bands: ['B3','B2','B1']}, 'Landsat composite');

    // Make a training dataset by sampling the stacked images.
    var training = modisLandcover.addBands(landsatComposite).sample({
      region: geometry,
      scale: 30,
      numPixels: 5000,
      seed: 0
    });


    // Train a classifier using the training data. USING CART() classifier
    //var classifier = ee.Classifier.cart().train({
    var classifier = ee.Classifier.randomForest(100).train({
      features: training,
      classProperty: 'Land_Cover_Type_1',
    });

    // Apply the classifier to the original composite.
    var upsampled = landsatComposite.classify(classifier);

    // Draw the upsampled landcover image.
    Map.addLayer(upsampled, landcoverVisualization, 'Classified Image');

    // Show the training area.
    Map.addLayer(ee.Image().paint(geometry, 1, 2), null, 'Training region');

    var jsonCoordString = geometry.toGeoJSON();


    Export.image.toDrive({
      image: upsampled,
      description: '2011_classification',
      folder: "Syria",
      scale: 30,
      fileFormat: 'GeoTIFF',
      formatOptions: {
        cloudOptimized: true
      },
      region: jsonCoordString
      });

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.