gfwanalysis/utils/landcover_lookup.py
import logging
def lookup(layer, result_dict, count_pixels):
lkp = all_lulc_dict[layer]
if count_pixels:
area_type = 'pixelCount'
else:
area_type = 'areaHectares'
output_list = []
logging.info('adding landcover names')
logging.info(result_dict)
for key, val in result_dict.items():
if key != 'null':
landcover_name = lkp[key]
result_dict = {'resultType': area_type,
'className': landcover_name,
'classVal': key}
# unpack year dict into array of dicts
if isinstance(val, dict):
val = [{'year': year, 'result': result} for year, result in val.items()]
result_dict['result'] = val
output_list.append(result_dict)
return output_list
def valid_lulc_codes(layer):
return [int(x) for x in all_lulc_dict[layer].keys()]
def get_landcover_types():
return list(all_lulc_dict.keys())
all_lulc_dict = {
'nlcd_landcover': {
'11': 'Water Body',
'12': 'Perennial Ice/Snow',
'21': 'Developed, Open Space',
'22': 'Developed, Low Intensity',
'23': 'Developed, Medium Intensity',
'24': 'Developed, High Intensity',
'31': 'Barren Land',
'41': 'Deciduous Forest',
'42': 'Evergreen Forest',
'43': 'Mixed Forest',
'51': 'Dwarf Scrub',
'52': 'Shrub/Scrub',
'71': 'Grassland/Herbaceous',
'72': 'Sedge/Herbaceous',
'73': 'Lichens',
'74': 'Moss',
'81': 'Pasture/Hay',
'82': 'Cultivated Crops',
'90': 'Woody Wetlands',
'95': 'Emergent Herbaceous Wetlands'
},
'globcover': {
'11': 'Post-flooding or irrigated croplands',
'14': 'Rainfed croplands',
'20': 'Mosaic Cropland (50-70%) / Vegetation (grassland, shrubland, forest) (20-50%)',
'30': 'Mosaic Vegetation (grassland, shrubland, forest) (50-70%) / Cropland (20-50%)',
'40': 'Closed to open (>15%) broadleaved evergreen and/or semi-deciduous forest (>5m)',
'50': 'Closed (>40%) broadleaved deciduous forest (>5m)',
'60': 'Open (15-40%) broadleaved deciduous forest (>5m)',
'70': 'Closed (>40%) needleleaved evergreen forest (>5m)',
'90': 'Open (15-40%) needleleaved deciduous or evergreen forest (>5m)',
'100': 'Closed to open (>15%) mixed broadleaved and needleleaved forest (>5m)',
'110': 'Mosaic Forest/Shrubland (50-70%) / Grassland (20-50%)',
'120': 'Mosaic Grassland (50-70%) / Forest/Shrubland (20-50%)',
'130': 'Closed to open (>15%) shrubland (<5m)',
'140': 'Closed to open (>15%) grassland',
'150': 'Sparse (>15%) vegetation (woody vegetation, shrubs, grassland)',
'160': 'Closed (>40%) broadleaved forest regularly flooded - Fresh water',
'170': 'Closed (>40%) broadleaved semi-deciduous and/or evergreen forest regularly flooded - Saline water',
'180': 'Closed to open (>15%) vegetation (grassland, shrubland, woody vegetation) on regularly flooded or waterlogged soil - Fresh, brackish or saline water',
'190': 'Artificial surfaces and associated areas (urban areas >50%) GLOBCOVER 2009',
'200': 'Bare areas',
'210': 'Water bodies',
'220': 'Permanent snow and ice',
'230': 'Unclassified'
},
'foraf': {
'1': 'Dense moist forest',
'2': 'Submontane forest',
'3': 'Mountain forest',
'4': 'Edaphic forest',
'5': 'Mangrove',
'6': 'Forest-savanna mosaic',
'7': 'Rural complex and young secondary forest',
'8': 'Closed to open deciduous woodland',
'9': 'Savanna woodland-Tree savanna',
'10': 'Shrubland',
'11': 'Grassland',
'12': 'Aquatic grassland',
'13': 'Swamp grassland',
'14': 'Sparse vegetation',
'15': 'Mosaic cultivated areas/vegeatation( herbaceous or shrub)',
'16': 'Agriculture',
'17': 'Irrigated agriculture',
'18': 'Bare areas',
'19': 'Artificial surfaces and associated areas',
'20': 'Water Bodies'
},
'gfw-landcover-2000': {
'1': 'Agriculture',
'2': 'Forest',
'3': 'Grassland',
'4': 'Wetland',
'5': 'Settlement',
'6': 'Shrubland',
'7': 'Sparse vegetation',
'8': 'Bare',
'9': 'Water',
'10': 'Permanent snow and ice'
},
'gfw-landcover-2015': {
'1': 'Agriculture',
'2': 'Forest',
'3': 'Grassland',
'4': 'Wetland',
'5': 'Settlement',
'6': 'Shrubland',
'7': 'Sparse vegetation',
'8': 'Bare',
'9': 'Water',
'10': 'Permanent snow and ice'
},
'liberia': {
'0': 'NoData',
'1': 'Forest >80%',
'2': 'Forest 30 - 80%',
'3': 'Forest <30%',
'4': 'Mangrove & Swamps',
'5': 'Settlements',
'7': 'Surface Water Bodies',
'8': 'Grassland',
'9': 'Shrub',
'10': 'Bare soil',
'11': 'Ecosystem complex (rock & sand)',
'25': 'Clouds'
},
'ifl2000': {
'1': 'Intact Forest Landscape 2000'
},
'primary-forest': {
'0': 'Not Primary Forest',
'1': 'Primary Forest'
},
'mangroves': {
'1': 'Landsat Mangroves 2000'
},
'idn-landcover': {
'0': 'Secondary forest',
'1': 'Primary forest',
'2': 'Timber plantation',
'3': 'Agriculture',
'4': 'Settlement',
'5': 'Swamp',
'6': 'Grassland/shrub',
'7': 'Bare land',
'8': 'Estate crop plantation',
'9': 'Body of water',
'10': 'Fish pond',
'11': 'Mining'
},
'sea-landcover': {
'0': 'Mining',
'1': 'Mixed tree crops',
'2': 'No data',
'3': 'Oil palm plantation',
'4': 'Settlements',
'5': 'Swamp',
'6': 'Timber plantation',
'7': 'Primary forest',
'8': 'Water bodies',
'9': 'Bare land',
'10': 'Coastal fish pond',
'11': 'Rubber plantation',
'12': 'Agriculture',
'13': 'Secondary forest',
'14': r'Grassland/shrub'
}
}