9/18/20
According to this analysis and its specific assumptions and definitions, less protected parks in Malawi were shown to have more deforestation (0.00048%) in 2019 than strictly protected parks (0.0278%). In other words, percentagewise, less protected parks had 58 times more deforestation than strictly protected parks.
Out of the 64 protected areas in Malawi, six were National Parks (II), four were Habitat/Species Management Areas (IV), one was a protected area with the sustainable use of resources (VI), one was Not Applicable, and 52 were Not Reported. Types II and IV were considered strictly protected, while Types VI, Not Applicable, and Not Reported were considered less protected. While it seems safe to assume that Types II and IV were more strictly protected than Type VI, which explicitly allows sustainable use, it is difficult to know how protected areas under the Not Reported category are managed (IUCN, n.d.). Moreover, given that 52 of the 64 protected areas were Not Reported, it is difficult to have much faith in our classing system with such a large variable unknown. Although it is likely that Not Reported means less protection due to fewer apparent accountability structures, it is still a huge assumption that may well be false.
If Not Reported classified protected areas deemed less protected were actually strictly protected, this analysis then underestimated loss in the less protected category, and overestimated loss in the strictly protected category. This would mean a larger difference in loss between the two groups.

tree cover in 2000 [>30%] (dark green);
strictly protected areas (purple);
and less protected areas (orange).
The three proposed parks were already considered less protected due to their classification types, so while an assumption was made there, I do not think it would have meaningfully changed the results of the analysis.
Because ‘forest’ was defined as tree cover greater than 50%, and there are many areas in Malawi with tree cover less than 50% (Figure 1), there is a lot more tree cover than the data suggest due to the omission of areas with less than 50% tree cover. It is difficult to know if these areas have higher or lower rates of tree cover loss, inflating or deflating percent loss.
Moreover, because forest loss was defined as stand-replacement disturbance, meaning the elimination of all the trees in a stand (Hansen et al. 2013, Oliver 2007), it is likely that selective harvesting of trees, if in a stand with tree cover greater than 50%, would not be considered forest loss. This, along with forests being defined according to tree cover and not land use, leads to equal treatment of forests and tree plantations in the analysis, which is misleading given that forests and tree plantations operate very differently ecologically.
At the same time, if trees were harvested by clearcutting in 2019 and subsequently regrown, the 2019 forest loss layer would include these areas without the context or differentiation of their future regrowth.
Tree cover being a function of greenness, using training data from the Normalized Difference Vegetation Index (NDVI), similarly does not differentiate based on forest use, leading to lower percentage tree loss given a larger denominator (tree cover in 2000). Given sustainable use is permitted in less protected areas, this non-differentiation of land use would lead to, again, more of an underestimation of tree loss in less protected areas than strictly protected areas.
While assumptions and definitions are very much baked into the analysis, it appears that they overall led to the underestimation of forest loss in less protected areas and overestimation of forest loss in strictly protected areas, increasing confidence in the efficacy of strictly protected areas at minimizing forest loss.
Code (copy to Google Earth Engine, or click link here, and hit run!)
print('Hello! See the map of Malawi below to see',
'tree cover loss in 2019 (red)',
'tree cover in 2000 [>30%] (dark green)',
'strictly protected areas (purple)',
'and less protected areas (orange).');
//First import tree cover (>30%), loss in 2019, and country boundaries
var gfc2019 = ee.Image("UMD/hansen/global_forest_change_2019_v1_7");
var treeCover2000 = gfc2019
.select('treecover2000');
var treeCover200030 = treeCover2000
.select(['treecover2000']).gt(30);
var lossIn2019 = gfc2019.select(['lossyear']).eq(19); //'19' is 2019. (raster) creating a var for loss in 2019 by selecting loss yr band
var countries = ee.FeatureCollection('USDOS/LSIB_SIMPLE/2017'); //import. look in search box to see what it is. Boundaries (vector)
/* Confirm 'Malawi' is how it's spelled.
print('countries', countries.first()) //printing "first" in feature collection will output field names
var countriesnames = countries.aggregate_array("country_na"); //aggregating names so you can print it out
print ("names of all countries", countriesnames);
*/
//Filter country boundaries to just include Malawi
var Malawi = ee.Feature(
countries
.filter(ee.Filter.eq('country_na', 'Malawi'))
.first()); // returns the first element.
//Filter protected areas to just be inside Malawi (will clip later though)
var protectedAreasMalawi = ee.FeatureCollection('WCMC/WDPA/current/polygons')
.filter(ee.Filter.bounds(Malawi.geometry()));
/* WOW THIS WORKED!!!! :) [output is names of IUCN to confirm spelling and types]
print('IUCN_CAT', protectedAreasMalawi.first());
var PropertiesIUCN = protectedAreasMalawi.aggregate_array("IUCN_CAT");
print("names of IUCN", PropertiesIUCN);
//This showed that there are 52 Not Reported, 6 II, 4 IV, 1 VI, 1 NA. = 64 total.
*/
var STATUS = protectedAreasMalawi.aggregate_array("STATUS"); //3 are proposed!! 1 inscribed. 64 total.
//print("Status", STATUS);
//Separate out Malawi Protected Areas-- Strict from Less Strict. Then use Map to clip.
var protectedAreasStrictX = protectedAreasMalawi
.filter(ee.Filter.or(
ee.Filter.eq('IUCN_CAT', 'Ia'),
ee.Filter.eq('IUCN_CAT', 'Ib'),
ee.Filter.eq('IUCN_CAT', 'II'),
ee.Filter.eq('IUCN_CAT', 'III'),
ee.Filter.eq('IUCN_CAT', 'IV')));
//print(protectedAreasStrictX);
var protectedAreasStrict = protectedAreasStrictX
.filter(ee.Filter.neq('STATUS', 'proposed'))
.map(function(feature){
return Malawi.intersection(feature)});
//print(protectedAreasStrict); //10 elements = good. 6 II, 4 IV. Means proposed are already in Less protected category.
var protectedAreasLess = protectedAreasMalawi
.filter(ee.Filter.or(
ee.Filter.eq('IUCN_CAT', 'V'),
ee.Filter.eq('IUCN_CAT', 'VI'),
ee.Filter.eq('IUCN_CAT', 'Not Reported'),
ee.Filter.eq('IUCN_CAT', 'Not Applicable')))
.map(function(feature){
return Malawi.intersection(feature)});
//print(protectedAreasLess); //54 elements. This is good because 52 are Not Reported, 1 NA, 1 VI
//Reduce loss in 2019 to protected areas regions to calculate sum of pixels (1=loss, 0=no loss)
var statsLossLess = lossIn2019.reduceRegion({ //narrowing down to Malawi & taking the sum
reducer: ee.Reducer.sum(),
geometry: protectedAreasLess.geometry(),
scale: 30,
maxPixels: 1e9
});
var statsLossStrict = lossIn2019.reduceRegion({
reducer: ee.Reducer.sum(),
geometry: protectedAreasStrict.geometry(),
scale: 30,
maxPixels: 1e9
});
//Reduce tree cover to protected areas regions to calculate sum of pixels (1>30%, 0=<=30%)
var treeCover2000Less = treeCover2000.reduceRegion({ //narrowing down to Malawi & taking the sum
reducer: ee.Reducer.sum(),
geometry: protectedAreasLess.geometry(),
scale: 30,
maxPixels: 1e9
});
var treeCover2000Strict = treeCover2000.reduceRegion({
reducer: ee.Reducer.sum(),
geometry: protectedAreasStrict.geometry(),
scale: 30,
maxPixels: 1e9
});
//Make variables from loss and tree cover
var statsLossLessNum = ee.Number(statsLossLess.get('lossyear'));
//print('statsLossLessNum', statsLossLessNum);
var statsLossStrictNum = ee.Number(statsLossStrict.get('lossyear'));
//print('statsLossStrictNum', statsLossStrictNum);
var treeCover2000LessNum = ee.Number(treeCover2000Less.get('treecover2000'));
//print('treeCover2000LessNum', treeCover2000LessNum);
var treeCover2000StrictNum = ee.Number(treeCover2000Strict.get('treecover2000'));
//print('treeCover2000StrictNum', treeCover2000StrictNum);
//Divide => % and print
var pctLossStrict =
(statsLossStrictNum.divide(treeCover2000StrictNum).multiply(100));
//print('pctLossStrict', pctLossStrict);
var pctLossLess =
(statsLossLessNum.divide(treeCover2000LessNum).multiply(100));
//print('pctLossLess', pctLossLess);
print('Strictly protected parks lost',
pctLossStrict, //
'% of the tree cover');
print('Less protected parks lost',
pctLossLess,
'% of the tree cover');
Map.setCenter(34.26, -13.5,6); // Centers the map over Malawi
Map.setOptions('TERRAIN'); // sets background to the terrain kind (see Docs for other options for maps)
//Map.setOptions('SATELLITE'); //shows satellite data from 2020.
//move addLayers to the bottom!!(MUST COME AFTER SET CENTER/SET OPTIONS)
Map.addLayer(treeCover200030.clip(Malawi).selfMask(), {palette: ['white','006633']}, 'Tree Cover in 2000'); //clips to congo, start at white and go to green hex
Map.addLayer(lossIn2019.clip(Malawi).selfMask(), {palette:['red']}, 'Loss In 2019'); //do this to name the layer on the map as well as show it. {} need params//palette
//selfMask masks out 0s (there's also 'mask' and an 'updateMask')
Map.addLayer(protectedAreasLess, {color: 'orange'}, 'Less Protected Areas', true, 0.6); //visualization
Map.addLayer(protectedAreasStrict, {color: 'purple'}, 'Strictly Protected Areas', true, 0.6); //visualization
Cited Sources:
Hansen, M.C. et al. 2013. Supplementary Materials for High-Resolution Global Maps of 21st-Century Forest Cover Change. Science 342, 850.
IUCN. “Protected Area Categories.” Accessed September 18, 2020. https://www.iucn.org/theme/protected-areas/about/protected-area-categories
Oliver, Chad. “Stand Development.” Forestryencyclopedia. August 2007. https://sites.google.com/site/forestryencyclopedia/Home/Stand%20Development
