1

In the Global Forest Change Hansen dataset, why does the layer lossyear shows several pixels as deforested in the year 2001 when the layer treecover2000 indicates that those same pixels had no forest cover in the previous year? In other words, why there are pixels with the values lossyear=1 and treecover2000=0 at the same time?

Using the data in UMD/hansen/global_forest_change_2022_v1_10 from Google Earth Engine, I wanted to compute the following metric for for a specific area within a polygon:

y = deforested_area_2001 / forest_area

To get the forest area within the polygon, I thought of using the layer treecover2000, and sum the area of all the pixels with a value higher than a certain threshold. Before doing that, I looked at the distribution of treecover2000 values for all pixels that had a value of lossyear equal to 1 (that is, those that were deforested in 2001, the numerator of my metric).

However, I have found several pixels with lossyear=1 and treecover2000=0 at the same time. I get that there could be cases that didn't have forest in 2000 and changed into forest 2001 (and got deforested again that same year), but there are too many to think of that as the only explanation.

Could you explain me why that's the case, and if there is a better alternative to compute the desired metric? It doesn't seem a good idea to go on with the procedure if forest_area does not count pixels that were deforested (and by definition had forest) the following year.

You can use the following chunk of Python code in colab after authenticating to see a map of an example (sorry for all the unused packages):

!pip install geemap
!pip install geopandas

import geopandas as gpd
import geemap
import matplotlib.pyplot as plt
import numpy as np
from scipy.stats import norm, gamma, f, chi2
import IPython.display as disp
%matplotlib inline
import ee
from IPython.display import Image
import folium
import json
import os
import pandas as pd
import seaborn as sns

# layers
gfc = ee.Image('UMD/hansen/global_forest_change_2022_v1_10')
tree_2k = gfc.select('treecover2000')

loss = gfc.select('lossyear')
loss_2001 = loss.eq(1)

temp_obj = tree_2k.mask(loss_2001)

# area of interest
admin2 = ee.FeatureCollection('FAO/GAUL/2015/level2')
selected = admin2.filter(ee.Filter.eq('ADM0_NAME', 'Mexico')).filter(ee.Filter.eq('ADM1_NAME', 'Durango'))
aoi = selected.geometry()

# plot map
mp = folium.Map(location=[19,-100], zoom_start=6)

mp.add_ee_layer(
    temp_obj.clip(aoi),
     {
        'min': 0,
        'max': 1,
        'palette': ['red', 'green']
        },
    '2000 forest cover of areas deforested in 2001')

mp.add_child(folium.LayerControl())

enter image description here And here you can see the distribution of its treecvoer200 values

treecover_hist =  tree_2k.mask(loss_2001)\
  .reduceRegion(
        reducer=ee.Reducer.histogram(minBucketWidth=5),
        geometry=aoi,
        scale=10,
        maxPixels=1e10
)

json_info = treecover_hist.getInfo()

plt.barh(
    y = json_info['treecover2000']['bucketMeans'],
    width = json_info['treecover2000']['histogram']
   )

enter image description here

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.