Assessing Land Tenure Regimes

Learning objectives of this use case

  • The relationship between land tenure and land governace
  • Four main sources which provide data to monitor land tenure
    • Landmark
    • World database of protected areas (protected planet)
    • Global forrest watch
    • Global deforrestation dataset

The Google Earth Engine Code used here can be found below the videos as well as by following this link:

https://code.earthengine.google.com/8fceb83eb5092e7b01450f4754969f9c


YouTube

By loading the video, you agree to YouTube’s privacy policy.
Learn more

Load video


Up next: Introduction to first Use Case

  • Unterstand the realtionship between land tenure and land governance
  • Find out how indigenous people and conservation success correlate.
  • Get to know the different data sources you’ll make use of.
YouTube

By loading the video, you agree to YouTube’s privacy policy.
Learn more

Load video


Up next: Hands on exercise

  • Get a brief introduction to the Google Earth Engine
  • Learn how to apply different bands
  • Do some basic coding and print your first results
YouTube

By loading the video, you agree to YouTube’s privacy policy.
Learn more

Load video

Code used in the video

var indig_cons = ee.FeatureCollection("users/konradhentze/indig_conservation_area"),
    cat1a_cons = ee.FeatureCollection("users/konradhentze/prot_area_cat1a");

///////////////////////// COMPARING DEFORESTATION \\\\\\\\\\\\\\\\\\\\\\\\\

Map.addLayer(indig_cons, {}, 'Indigenous conservation area')
Map.addLayer(cat1a_cons, {}, 'Conservation area IUCN cat 1a')

//load the Hansen dataset as an image

var HansenChange = ee.Image('UMD/hansen/global_forest_change_2019_v1_7')
print('Hansen forest cover change dataset', HansenChange)

//we SELECT with .select([]) to extract uniques variables from the dataset above
var lossImage = HansenChange.select(['loss']); //HINT: Caps in your variables ease reading
var gainImage = HansenChange.select(['gain']); //HINT: [] is always something within something. Mostly a band
var treeCover = HansenChange.select(['treecover2000']);

print('Loss image Hansen dataset', lossImage)

// use .and to COMBINE the two bands above
// the condition means 1 where a AND b (meaning the very same pixel shows loss in one and gain in the other dataset)
var gainAndLoss = gainImage.and(lossImage);
//print the result and see: We could have renamed the band it does not make sense 
print('Forest gain and loss from Hansen dataset', gainAndLoss)

// Show the loss and gain image and the other images from the previous section 
Map.addLayer(HansenChange.mask(HansenChange), {
  bands: ['treecover2000'],
  palette: ['000000', '00FF00'],
  max: 100
}, 'forest cover masked');

Map.addLayer(HansenChange.mask(HansenChange), {
  bands: ['loss'],
  palette: ['FF0000'],
  max: 100
}, 'forest loss masked');

Map.addLayer(HansenChange.mask(HansenChange), {
  bands: ['gain'],
  palette: ['0000FF'],
  max: 100
}, 'forest gain masked');

Map.addLayer(gainAndLoss.updateMask(gainAndLoss),
    {palette: 'FF00FF'}, 'Gain and Loss');
    



///////////////////////// CALCULATION AND STATISTICS WITH REDUCERS \\\\\\\\\\\\\\\\\\\\\\\\\
//By using a reducer (calculating means, stats, etc.) we can actually create spatial statistics based on 
//information from other features or layer. 


// call the conservation areas from the assets.
print(indig_cons)
print(cat1a_cons)


// Sum the values of forest loss pixels in the protected areas.

// to do this, we first have to use the mutliply function to get the square meters instead of the number of pixels
var areaImage = lossImage.multiply(ee.Image.pixelArea());

var SumLossIndig = areaImage.reduceRegion({
  reducer: ee.Reducer.sum(),
  geometry: indig_cons,
  scale: 30,
});

var SumLossCat1a = areaImage.reduceRegion({
  reducer: ee.Reducer.sum(),
  geometry: cat1a_cons,
  scale: 30,
});

print(SumLossIndig);
print('Forestry loss in indigenous area: ', SumLossIndig.get('loss'), 'square meters');

print(SumLossCat1a);
print('Forestry loss in protected area: ', SumLossCat1a.get('loss'), 'square meters');



Map.addLayer(indig_cons, {}, 'Indigenous conservation area')
Map.addLayer(cat1a_cons, {}, 'Conservation area IUCN cat 1a')


Up next: Combine and visualize your data

  • Learn how to finally combine tenure data and data on deforrestation
  • Learn how to calculate the sum of forrest loss in different areasand
  • Finally visualize your data
YouTube

By loading the video, you agree to YouTube’s privacy policy.
Learn more

Load video

Code used in the video

var indig_cons = ee.FeatureCollection("users/konradhentze/indig_conservation_area"),
    cat1a_cons = ee.FeatureCollection("users/konradhentze/prot_area_cat1a");

///////////////////////// COMPARING DEFORESTATION \\\\\\\\\\\\\\\\\\\\\\\\\

Map.addLayer(indig_cons, {}, 'Indigenous conservation area')
Map.addLayer(cat1a_cons, {}, 'Conservation area IUCN cat 1a')

//load the Hansen dataset as an image

var HansenChange = ee.Image('UMD/hansen/global_forest_change_2019_v1_7')
print('Hansen forest cover change dataset', HansenChange)

//we SELECT with .select([]) to extract uniques variables from the dataset above
var lossImage = HansenChange.select(['loss']); //HINT: Caps in your variables ease reading
var gainImage = HansenChange.select(['gain']); //HINT: [] is always something within something. Mostly a band
var treeCover = HansenChange.select(['treecover2000']);

print('Loss image Hansen dataset', lossImage)

// use .and to COMBINE the two bands above
// the condition means 1 where a AND b (meaning the very same pixel shows loss in one and gain in the other dataset)
var gainAndLoss = gainImage.and(lossImage);
//print the result and see: We could have renamed the band it does not make sense 
print('Forest gain and loss from Hansen dataset', gainAndLoss)

// Show the loss and gain image and the other images from the previous section 
Map.addLayer(HansenChange.mask(HansenChange), {
  bands: ['treecover2000'],
  palette: ['000000', '00FF00'],
  max: 100
}, 'forest cover masked');

Map.addLayer(HansenChange.mask(HansenChange), {
  bands: ['loss'],
  palette: ['FF0000'],
  max: 100
}, 'forest loss masked');

Map.addLayer(HansenChange.mask(HansenChange), {
  bands: ['gain'],
  palette: ['0000FF'],
  max: 100
}, 'forest gain masked');

Map.addLayer(gainAndLoss.updateMask(gainAndLoss),
    {palette: 'FF00FF'}, 'Gain and Loss');
    



///////////////////////// CALCULATION AND STATISTICS WITH REDUCERS \\\\\\\\\\\\\\\\\\\\\\\\\
//By using a reducer (calculating means, stats, etc.) we can actually create spatial statistics based on 
//information from other features or layer. 


// call the conservation areas from the assets.
print(indig_cons)
print(cat1a_cons)


// Sum the values of forest loss pixels in the protected areas.

// to do this, we first have to use the mutliply function to get the square meters instead of the number of pixels
var areaImage = lossImage.multiply(ee.Image.pixelArea());

var SumLossIndig = areaImage.reduceRegion({
  reducer: ee.Reducer.sum(),
  geometry: indig_cons,
  scale: 30,
});

var SumLossCat1a = areaImage.reduceRegion({
  reducer: ee.Reducer.sum(),
  geometry: cat1a_cons,
  scale: 30,
});

print(SumLossIndig);
print('Forestry loss in indigenous area: ', SumLossIndig.get('loss'), 'square meters');

print(SumLossCat1a);
print('Forestry loss in protected area: ', SumLossCat1a.get('loss'), 'square meters');



Map.addLayer(indig_cons, {}, 'Indigenous conservation area')
Map.addLayer(cat1a_cons, {}, 'Conservation area IUCN cat 1a')


Sources & further reading

Tenure and SDGs Land Portal
https://landportal.org/book/sdgs
 

Data on indigenous and community lands
http://www.landmarkmap.org/
 
Data on protected areas
https://www.protectedplanet.net/en 

Tenure and environmental protection
http://www.fao.org/americas/publicaciones-audio-video/forest-gov-by-indigenous/en/
 
Remote sensing of deforestation
https://glad.earthengine.app/view/global-forest-change

Remote sensing of tenure, agricultural production and degradation
http://researchspace.csir.co.za/dspace/bitstream/handle/10204/1563/wessels_2004.pdf?sequence=3
 
Remote sensing to ensure land tenure security
https://its4land.com/ 

https://www.mdpi.com/journal/remotesensing/special_issues/Land_Administration