Zonal stats by group
Uncomment the following line to install geemap if needed.
In [ ]:
# !pip install geemap
In [ ]:
import os
import ee
import geemap
Analyzing U.S. Land Cover¶
In [ ]:
Map = geemap.Map()
Map
Add NLCD data¶
NLCD: USGS National Land Cover Database
https://developers.google.com/earth-engine/datasets/catalog/USGS_NLCD_RELEASES_2016_REL
In [ ]:
dataset = ee.Image('USGS/NLCD/NLCD2016')
landcover = ee.Image(dataset.select('landcover'))
Map.addLayer(landcover, {}, 'NLCD 2016')
states = ee.FeatureCollection("TIGER/2018/States")
Map.addLayer(states, {}, 'US States')
In [ ]:
Map.add_legend(builtin_legend='NLCD')
Calculate land cover compostion of each US state¶
In [ ]:
out_dir = os.path.expanduser('~/Downloads')
if not os.path.exists(out_dir):
os.makedirs(out_dir)
In [ ]:
nlcd_stats = os.path.join(out_dir, 'nlcd_stats_sum.csv')
# statistics_type can be either 'SUM' or 'PERCENTAGE'
# denominator can be used to convert square meters to other areal units, such as square kilimeters
geemap.zonal_statistics_by_group(landcover, states, nlcd_stats, statistics_type='SUM', denominator=1000000, decimal_places=2)
In [ ]:
nlcd_stats = os.path.join(out_dir, 'nlcd_stats_pct.csv')
geemap.zonal_statistics_by_group(landcover, states, nlcd_stats, statistics_type='PERCENTAGE')
Analyzing Global Land Cover¶
Add MODIS global land cover data¶
MCD12Q1.006 MODIS Land Cover Type Yearly Global 500m
https://developers.google.com/earth-engine/datasets/catalog/MODIS_006_MCD12Q1
In [ ]:
Map = geemap.Map()
landcover = ee.Image('MODIS/006/MCD12Q1/2019_01_01') \
.select('LC_Type1')
igbpLandCoverVis = {
'min': 1.0,
'max': 17.0,
'palette': [
'05450a', '086a10', '54a708', '78d203', '009900', 'c6b044', 'dcd159',
'dade48', 'fbff13', 'b6ff05', '27ff87', 'c24f44', 'a5a5a5', 'ff6d4c',
'69fff8', 'f9ffa4', '1c0dff'
],
}
Map.setCenter(6.746, 46.529, 2)
Map.addLayer(landcover, igbpLandCoverVis, 'MODIS Land Cover')
countries = ee.FeatureCollection('users/giswqs/public/countries')
Map.addLayer(countries, {}, "Countries")
Map
In [ ]:
Map.add_legend(builtin_legend='MODIS/051/MCD12Q1')
In [ ]:
out_dir = os.path.join(os.path.expanduser('~'), 'Downloads')
global_stats = os.path.join(out_dir, 'global_stats_sum.csv')
# statistics_type can be either 'SUM' or 'PERCENTAGE'
# denominator can be used to convert square meters to other areal units, such as square kilimeters
geemap.zonal_statistics_by_group(landcover, countries, global_stats, statistics_type='SUM', denominator=1000000, decimal_places=2)
In [ ]:
global_stats = os.path.join(out_dir, 'global_stats_pct.csv')
geemap.zonal_statistics_by_group(landcover, countries, global_stats, statistics_type='PERCENTAGE')
Last update: 2021-03-17