├── 1-general-map ├── utils │ ├── analyses │ │ ├── README.md │ │ ├── table │ │ │ └── area │ │ │ │ └── README.md │ │ ├── 05_plotConfusion.R │ │ └── 04_plotAccuracy.R │ ├── misc │ │ ├── README.md │ │ ├── table │ │ │ ├── README.md │ │ │ ├── acc_classes.zip │ │ │ ├── trajectories │ │ │ │ └── wetland_trajectories.csv │ │ │ ├── acc_collections │ │ │ │ ├── col31_nv1.csv │ │ │ │ ├── col31_nv3.csv │ │ │ │ ├── col41_nv1.csv │ │ │ │ ├── col41_nv3.csv │ │ │ │ ├── col5_nv3.csv │ │ │ │ ├── col6_nv3.csv │ │ │ │ ├── col6_nv1.csv │ │ │ │ └── col5_nv1.csv │ │ │ ├── acc_classes │ │ │ │ ├── mosaic_omission_col6.csv │ │ │ │ ├── forest_commission_col6.csv │ │ │ │ ├── savanna_commission_col6.csv │ │ │ │ ├── grassland_omission_col6.csv │ │ │ │ ├── forest_omission_col6.csv │ │ │ │ ├── grassland_commission_col6.csv │ │ │ │ ├── savanna_omission_col6.csv │ │ │ │ └── mosaic_commission_col6.csv │ │ │ └── acc_classes_agro │ │ │ │ ├── temp.crop_commission.csv │ │ │ │ ├── forestry_commission.csv │ │ │ │ ├── temp.crop_omission.csv │ │ │ │ ├── permanent.crop_commission.csv │ │ │ │ ├── permanent.crop_omission.csv │ │ │ │ └── forestry_omission.csv │ │ ├── legenda_agreement.xlsx │ │ ├── 07_trajectories.R │ │ ├── 01_integration_global_accuracy.R │ │ ├── 00_collections_global_accuracy.R │ │ ├── 04_specific_accuracy_agro.R │ │ └── 03_specific_accuracy.R │ ├── balancing │ │ ├── README.md │ │ └── 02_plotVersions.R │ ├── fact-sheet │ │ ├── README.md │ │ ├── table │ │ │ ├── lcluc │ │ │ │ ├── collection_7_v13.xlsx │ │ │ │ └── collection_7_v17.xlsx │ │ │ ├── transitions │ │ │ │ ├── transitions_col7.csv │ │ │ │ └── brazil-biomes.per.state-transitions-3a.xlsx │ │ │ ├── transitions_agrosatelite │ │ │ │ ├── AREA_1985-2009_Expansao_Cerrado.csv │ │ │ │ ├── AREA_1985-2021_Expansao_Cerrado.csv │ │ │ │ └── AREA_2010-2021_Expansao_Cerrado.csv │ │ │ ├── transitions_matopiba │ │ │ │ ├── fromNAT_toSOYBEAN_2010_2021.csv │ │ │ │ └── fromNAT_toPASTURE_2010_2021.csv │ │ │ └── fundiario │ │ │ │ └── stable_native_fundiario_col7.csv │ │ └── 03_compareCollections.R │ ├── functions │ │ ├── README.md │ │ ├── rasterize.R │ │ ├── raster_to_imageCollection.js │ │ └── auto-save.R │ ├── toNext_eval │ │ ├── table │ │ │ ├── README.MD │ │ │ ├── acc_classes │ │ │ │ ├── 6 │ │ │ │ │ ├── mosaic_omission_col6.csv │ │ │ │ │ ├── forest_commission_col6.csv │ │ │ │ │ ├── savanna_commission_col6.csv │ │ │ │ │ ├── grassland_omission_col6.csv │ │ │ │ │ ├── forest_omission_col6.csv │ │ │ │ │ ├── grassland_commission_col6.csv │ │ │ │ │ ├── savanna_omission_col6.csv │ │ │ │ │ └── mosaic_commission_col6.csv │ │ │ │ └── 71 │ │ │ │ │ └── mosaic_omission_col71.csv │ │ │ └── acc_collections │ │ │ │ ├── col31_nv1.csv │ │ │ │ ├── col31_nv3.csv │ │ │ │ ├── col41_nv1.csv │ │ │ │ ├── col41_nv3.csv │ │ │ │ ├── col5_nv3.csv │ │ │ │ ├── col6_nv3.csv │ │ │ │ ├── col5_nv1.csv │ │ │ │ ├── col6_nv1.csv │ │ │ │ ├── col71_nv3.csv │ │ │ │ ├── col7_nv3.csv │ │ │ │ ├── col71_nv1.csv │ │ │ │ └── col7_nv1.csv │ │ ├── README.md │ │ ├── 02_plotRegionalAccuracy.R │ │ ├── 05_getAgreementArea.js │ │ └── 00_plotGlobalAccuracy_collections.R │ ├── Collection 7.png │ ├── segments │ │ ├── checkFiltering.js │ │ ├── 02_consolidatePoints.js │ │ └── inspectBalancing.R │ ├── masks │ │ └── deforestation_sad_alerta.js │ ├── trajectory │ │ └── 11_perturbance.js │ ├── tenure │ │ ├── 02_parseData.R │ │ └── 03_assesData.R │ └── integration │ │ └── getPseudo.js ├── _aux │ ├── rf.csv │ └── mosaic_rules.csv ├── 09_frequency.js ├── 02_computeProportion.js └── 12_visualize.js ├── 2-rocky-outcrop ├── _aux │ └── mosaic_rules.csv ├── utils │ └── aoi │ │ └── extendAOI.js ├── 06_frequency.js ├── 13_frequency_step2.js ├── 01_computeProportion.js ├── 08_computeProportion_step2.js ├── README.md ├── 15_integrate.js ├── 07_spatial.js └── 14_spatial_step2.js ├── README.md └── 3-integration └── getAccuracy ├── 01_collectionAccuracy.R ├── 03_specificAcc.R └── 02_rectTable_LAPIG.R /1-general-map/utils/analyses/README.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /1-general-map/utils/misc/README.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /1-general-map/utils/balancing/README.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /1-general-map/utils/fact-sheet/README.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /1-general-map/utils/functions/README.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /1-general-map/utils/misc/table/README.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /1-general-map/utils/toNext_eval/table/README.MD: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /1-general-map/utils/analyses/table/area/README.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /1-general-map/utils/toNext_eval/README.md: -------------------------------------------------------------------------------- 1 | avaliação da coleção 7.1 2 | -------------------------------------------------------------------------------- /1-general-map/utils/Collection 7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbiomas-brazil/cerrado/HEAD/1-general-map/utils/Collection 7.png -------------------------------------------------------------------------------- /1-general-map/utils/misc/table/acc_classes.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbiomas-brazil/cerrado/HEAD/1-general-map/utils/misc/table/acc_classes.zip -------------------------------------------------------------------------------- /1-general-map/utils/misc/legenda_agreement.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbiomas-brazil/cerrado/HEAD/1-general-map/utils/misc/legenda_agreement.xlsx -------------------------------------------------------------------------------- /1-general-map/utils/fact-sheet/table/lcluc/collection_7_v13.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbiomas-brazil/cerrado/HEAD/1-general-map/utils/fact-sheet/table/lcluc/collection_7_v13.xlsx -------------------------------------------------------------------------------- /1-general-map/utils/fact-sheet/table/lcluc/collection_7_v17.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbiomas-brazil/cerrado/HEAD/1-general-map/utils/fact-sheet/table/lcluc/collection_7_v17.xlsx -------------------------------------------------------------------------------- /1-general-map/utils/fact-sheet/table/transitions/transitions_col7.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbiomas-brazil/cerrado/HEAD/1-general-map/utils/fact-sheet/table/transitions/transitions_col7.csv -------------------------------------------------------------------------------- /1-general-map/utils/fact-sheet/table/transitions/brazil-biomes.per.state-transitions-3a.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mapbiomas-brazil/cerrado/HEAD/1-general-map/utils/fact-sheet/table/transitions/brazil-biomes.per.state-transitions-3a.xlsx -------------------------------------------------------------------------------- /1-general-map/utils/fact-sheet/table/transitions_agrosatelite/AREA_1985-2009_Expansao_Cerrado.csv: -------------------------------------------------------------------------------- 1 | system:index,area,class,.geo 2 | 0,4225193.341923777,1,"{""type"":""MultiPoint"",""coordinates"":[]}" 3 | 1,849277.420695633,2,"{""type"":""MultiPoint"",""coordinates"":[]}" 4 | 2,5430746.590536157,3,"{""type"":""MultiPoint"",""coordinates"":[]}" 5 | 3,4504891.081514571,4,"{""type"":""MultiPoint"",""coordinates"":[]}" 6 | 4,1.716162470978603E7,5,"{""type"":""MultiPoint"",""coordinates"":[]}" 7 | -------------------------------------------------------------------------------- /1-general-map/utils/fact-sheet/table/transitions_agrosatelite/AREA_1985-2021_Expansao_Cerrado.csv: -------------------------------------------------------------------------------- 1 | system:index,area,class,.geo 2 | 0,5073377.75464022,1,"{""type"":""MultiPoint"",""coordinates"":[]}" 3 | 1,1990707.2902276758,2,"{""type"":""MultiPoint"",""coordinates"":[]}" 4 | 2,7468652.411257057,3,"{""type"":""MultiPoint"",""coordinates"":[]}" 5 | 3,6793073.669223143,4,"{""type"":""MultiPoint"",""coordinates"":[]}" 6 | 4,1.798605232601327E7,5,"{""type"":""MultiPoint"",""coordinates"":[]}" 7 | -------------------------------------------------------------------------------- /1-general-map/utils/fact-sheet/table/transitions_agrosatelite/AREA_2010-2021_Expansao_Cerrado.csv: -------------------------------------------------------------------------------- 1 | system:index,area,class,.geo 2 | 0,1184808.0714164134,1,"{""type"":""MultiPoint"",""coordinates"":[]}" 3 | 1,145702.37024480558,2,"{""type"":""MultiPoint"",""coordinates"":[]}" 4 | 2,1923809.5560970816,3,"{""type"":""MultiPoint"",""coordinates"":[]}" 5 | 3,3916132.6374657,4,"{""type"":""MultiPoint"",""coordinates"":[]}" 6 | 4,5036993.325150335,5,"{""type"":""MultiPoint"",""coordinates"":[]}" 7 | -------------------------------------------------------------------------------- /1-general-map/_aux/rf.csv: -------------------------------------------------------------------------------- 1 | "mtry" "ntree" "region" 2 | 19 246 30 3 | 18 257 31 4 | 18 231 21 5 | 21 254 33 6 | 21 243 34 7 | 19 260 29 8 | 20 246 14 9 | 18 249 13 10 | 20 237 7 11 | 19 246 5 12 | 20 240 2 13 | 21 240 4 14 | 21 231 1 15 | 17 231 3 16 | 18 243 28 17 | 21 234 6 18 | 21 254 8 19 | 22 246 18 20 | 21 254 15 21 | 18 237 20 22 | 18 251 19 23 | 19 269 17 24 | 19 249 22 25 | 19 251 23 26 | 17 271 26 27 | 17 249 25 28 | 18 257 24 29 | 19 263 36 30 | 19 254 35 31 | 21 243 32 32 | 17 240 16 33 | 17 249 9 34 | 19 243 10 35 | 21 269 12 36 | 19 251 11 37 | 17 266 27 38 | 18 269 37 39 | 18 266 38 40 | -------------------------------------------------------------------------------- /1-general-map/utils/functions/rasterize.R: -------------------------------------------------------------------------------- 1 | ## function to rasterize vector into geoTif 2 | ## dhemerson.costa@ipam.org.br 3 | 4 | library(stars) 5 | library(sf) 6 | library(raster) 7 | 8 | vec_to_raster <- function(vector, resolution, field_name, parameter, output) { 9 | ## read vector 10 | file <- read_sf(vector) 11 | 12 | ## create mask 13 | mask <- raster(crs=projection(file), ext= extent(file)) 14 | 15 | ## set resolution 16 | res(mask) = resolution 17 | 18 | ## rasterize 19 | raster_file <- rasterize(x= file, y= mask, field= field_name, fun= parameter, progress='text') 20 | 21 | writeRaster(raster_file, output, drive="GTiff") 22 | } 23 | -------------------------------------------------------------------------------- /1-general-map/_aux/mosaic_rules.csv: -------------------------------------------------------------------------------- 1 | year,sensor,sensor_past1,sensor_past2 2 | 1985,l5,, 3 | 1986,l5,l5, 4 | 1987,l5,l5,l5 5 | 1988,l5,l5,l5 6 | 1989,l5,l5,l5 7 | 1990,l5,l5,l5 8 | 1991,l5,l5,l5 9 | 1992,l5,l5,l5 10 | 1993,l5,l5,l5 11 | 1994,l5,l5,l5 12 | 1995,l5,l5,l5 13 | 1996,l5,l5,l5 14 | 1997,l5,l5,l5 15 | 1998,l5,l5,l5 16 | 1999,l5,l5,l5 17 | 2000,l5,l5,l5 18 | 2001,l7,l5,l5 19 | 2002,l7,l7,l5 20 | 2003,l5,l7,l7 21 | 2004,l5,l5,l7 22 | 2005,l5,l5,l5 23 | 2006,l5,l5,l5 24 | 2007,l5,l5,l5 25 | 2008,l5,l5,l5 26 | 2009,l5,l5,l5 27 | 2010,l5,l5,l5 28 | 2011,l7,l5,l5 29 | 2012,l7,l7,l5 30 | 2013,l8,l7,l7 31 | 2014,l8,l8,l7 32 | 2015,l8,l8,l8 33 | 2016,l8,l8,l8 34 | 2017,l8,l8,l8 35 | 2018,l8,l8,l8 36 | 2019,l8,l8,l8 37 | 2020,l8,l8,l8 38 | 2021,l8,l8,l8 39 | 2022,l8,l8,l8 40 | -------------------------------------------------------------------------------- /2-rocky-outcrop/_aux/mosaic_rules.csv: -------------------------------------------------------------------------------- 1 | year,sensor,sensor_past1,sensor_past2 2 | 1985,l5,, 3 | 1986,l5,l5, 4 | 1987,l5,l5,l5 5 | 1988,l5,l5,l5 6 | 1989,l5,l5,l5 7 | 1990,l5,l5,l5 8 | 1991,l5,l5,l5 9 | 1992,l5,l5,l5 10 | 1993,l5,l5,l5 11 | 1994,l5,l5,l5 12 | 1995,l5,l5,l5 13 | 1996,l5,l5,l5 14 | 1997,l5,l5,l5 15 | 1998,l5,l5,l5 16 | 1999,l5,l5,l5 17 | 2000,l5,l5,l5 18 | 2001,l7,l5,l5 19 | 2002,l7,l7,l5 20 | 2003,l5,l7,l7 21 | 2004,l5,l5,l7 22 | 2005,l5,l5,l5 23 | 2006,l5,l5,l5 24 | 2007,l5,l5,l5 25 | 2008,l5,l5,l5 26 | 2009,l5,l5,l5 27 | 2010,l5,l5,l5 28 | 2011,l7,l5,l5 29 | 2012,l7,l7,l5 30 | 2013,l8,l7,l7 31 | 2014,l8,l8,l7 32 | 2015,l8,l8,l8 33 | 2016,l8,l8,l8 34 | 2017,l8,l8,l8 35 | 2018,l8,l8,l8 36 | 2019,l8,l8,l8 37 | 2020,l8,l8,l8 38 | 2021,l8,l8,l8 39 | 2022,l8,l8,l8 40 | -------------------------------------------------------------------------------- /1-general-map/utils/misc/table/trajectories/wetland_trajectories.csv: -------------------------------------------------------------------------------- 1 | system:index,area,class_id,territory,year,.geo 2 | 0_0_0,1924302.2296902172,1,0,trajectories,"{""type"":""MultiPoint"",""coordinates"":[]}" 3 | 0_0_1,46644.719192463715,2,0,trajectories,"{""type"":""MultiPoint"",""coordinates"":[]}" 4 | 0_0_2,772.4915894215746,3,0,trajectories,"{""type"":""MultiPoint"",""coordinates"":[]}" 5 | 0_0_3,5751.045500478508,4,0,trajectories,"{""type"":""MultiPoint"",""coordinates"":[]}" 6 | 0_0_4,761.0964566829465,5,0,trajectories,"{""type"":""MultiPoint"",""coordinates"":[]}" 7 | 0_0_5,1599.2824337830666,6,0,trajectories,"{""type"":""MultiPoint"",""coordinates"":[]}" 8 | 0_0_6,2201.1286907940666,7,0,trajectories,"{""type"":""MultiPoint"",""coordinates"":[]}" 9 | 0_0_7,2360.3690628761,8,0,trajectories,"{""type"":""MultiPoint"",""coordinates"":[]}" 10 | -------------------------------------------------------------------------------- /2-rocky-outcrop/utils/aoi/extendAOI.js: -------------------------------------------------------------------------------- 1 | // defining area of interest 2 | // barbara.silva@ipam.org.br 3 | 4 | // area of interest used in Collection 7.0 5 | var aoi_vec = ee.FeatureCollection('users/dh-conciani/collection7/rocky/masks/aoi_v1').geometry(); 6 | 7 | // rocky outcrop samples updated to Collection 8.0 8 | var rocky_samples = ee.FeatureCollection('users/barbarasilvaIPAM/rocky_outcrop/collection8/sample/afloramento_collect_v5').geometry(); 9 | 10 | var merge = rocky_samples.union(aoi_vec); 11 | 12 | var buffer = merge.buffer(20000); 13 | Map.addLayer(buffer, {color: 'Green'}, 'buffer'); 14 | 15 | var featureCollection = ee.FeatureCollection([buffer]); 16 | Map.addLayer(featureCollection, {color: 'Blue'}, 'featureCollection'); 17 | 18 | Export.table.toAsset({ 19 | collection: featureCollection, 20 | assetId: 'projects/ee-barbarasilvaipam/assets/collection8-rocky/masks/aoi_v5' 21 | }); 22 | -------------------------------------------------------------------------------- /1-general-map/utils/misc/07_trajectories.R: -------------------------------------------------------------------------------- 1 | ## accuracy analisys from collection 6 2 | # read library 3 | library(ggplot2) 4 | library(ggrepel) 5 | library(dplyr) 6 | library(sf) 7 | library(tools) 8 | library(treemapify) 9 | 10 | ## avoid scientific notation 11 | options(scipen= 999) 12 | 13 | ## read table 14 | data <- read.csv('./table/trajectories/wetland_trajectories.csv') 15 | 16 | ## rename 17 | data$class_id <- gsub('^2$', 'Pr-Pr Ch=0', 18 | gsub('^3$', 'Ab-Pr Ch=1', 19 | gsub('^4$', 'Pr-Ab Ch=1', 20 | gsub('^5$', 'Ab-Pr Ch>2', 21 | gsub('^6$', 'Pr-Ab Ch>2', 22 | gsub('^7$', 'Ab-Ab Ch>1', 23 | gsub('^8$', 'Pr-Pr Ch>1', 24 | data$class_id))))))) 25 | 26 | ggplot(data= subset(data, class_id != 1), mapping= aes(area= area, fill= class_id)) + 27 | geom_treemap() + 28 | geom_treemap_text(mapping= aes(label= class_id)) + 29 | scale_fill_manual(values=c('#f58700', '#00598d', '#02d6f2', '#9d006d', '#ff4dd5', '#999999', '#ffbf70')) 30 | 31 | ## compute percents 32 | data <- subset(data, class_id != 1) 33 | data$perc <- round(data$area / sum(data$area) * 100, digits=2) 34 | -------------------------------------------------------------------------------- /1-general-map/utils/functions/raster_to_imageCollection.js: -------------------------------------------------------------------------------- 1 | // read all raster values and export each one as a independent raster image 2 | // dhemerson.costa@ipam.org.br 3 | 4 | // load raster 5 | var regions = ee.Image('users/dh-conciani/collection7/classification_regions/raster'); 6 | 7 | // load vector 8 | var region_vec = ee.FeatureCollection('users/dh-conciani/collection7/classification_regions/vector'); 9 | 10 | // define output imageCollection 11 | var output = 'users/dh-conciani/collection7/classification_regions/eachRegion/'; 12 | 13 | // list raster values 14 | var values = ee.List.sequence({'start':1, 'end': 38, 'step': 1}).getInfo(); 15 | 16 | // for each region 17 | values.forEach(function(value_i) { 18 | // get region 19 | var region_i = regions.updateMask(regions.eq(value_i)).set('mapb', String(value_i)); 20 | // get region vector 21 | var region_i_vec = region_vec.filterMetadata('mapb', 'equals', value_i); 22 | // export 23 | Export.image.toAsset({image: region_i, 24 | description: 'reg_' + String(value_i), 25 | assetId: output + 'reg_' + String(value_i), 26 | region: region_i_vec, 27 | scale:30, 28 | maxPixels:1e13 29 | }); 30 | } 31 | ); 32 | -------------------------------------------------------------------------------- /1-general-map/utils/segments/checkFiltering.js: -------------------------------------------------------------------------------- 1 | // check consistency of filtered points 2 | // dhemerson.costa@ipam.org.br 3 | 4 | // normal samples 5 | var samples = ee.FeatureCollection('users/dh-conciani/collection7/sample/points/samplePoints_v1'); 6 | // filtered samples (by segments) 7 | var filtered = ee.FeatureCollection('users/dh-conciani/collection7/sample/filtered_points/consolidated/samplePoints_filtered_v1'); 8 | 9 | // set mapbiomas pallete 10 | var palettes = require('users/mapbiomas/modules:Palettes.js'); 11 | var paletteMapBiomas = palettes.get('classification6'); 12 | 13 | // make samples colored 14 | samples = samples.map( 15 | function (feature) { 16 | return feature.set('style', { 17 | 'color': ee.List(paletteMapBiomas) 18 | .get(feature.get('reference')), 19 | 'width': 1, 20 | }); 21 | } 22 | ).style( 23 | { 24 | 'styleProperty': 'style' 25 | } 26 | ); 27 | 28 | filtered = filtered.map( 29 | function (feature) { 30 | return feature.set('style', { 31 | 'color': ee.List(paletteMapBiomas) 32 | .get(feature.get('class')), 33 | 'width': 1, 34 | }); 35 | } 36 | ).style( 37 | { 38 | 'styleProperty': 'style' 39 | } 40 | ); 41 | 42 | Map.addLayer(samples, {}, 'samples'); 43 | Map.addLayer(filtered, {}, 'filtered'); 44 | -------------------------------------------------------------------------------- /1-general-map/utils/toNext_eval/table/acc_classes/71/mosaic_omission_col71.csv: -------------------------------------------------------------------------------- 1 | "Ano","1.1. Formação Florestal","1.2. Formação Savânica","2.2. Formação Campestre (Campo)","3.1. Pastagem","3.2.1. Lavoura Temporária","3.2.2. Lavoura Perene","3.3. Floresta Plantada","3.4. Mosaico de Usos","4.2. Infraestrutura Urbana","5.1. Rio, Lago e Oceano" 2 | 1985,0,0,0,0,0,0,0,1,0,0 3 | 1986,0,0,0,0,0,0,0,1,0,0 4 | 1987,0,0,0,0,0,0,0,1,0,0 5 | 1988,0,0,0,0,0,0,0,1,0,0 6 | 1989,0,0,0,0,0,0,0,1,0,0 7 | 1990,0,0,0,0,0,0,0,1,0,0 8 | 1991,0,0,0,0,0,0,0,1,0,0 9 | 1992,0,0,0,0,0,0,0,1,0,0 10 | 1993,0,0,0,0,0,0,0,1,0,0 11 | 1994,0,0,0,0,0,0,0,1,0,0 12 | 1995,0,0,0,0,0,0,0,1,0,0 13 | 1996,0,0,0,0,0,0,0,1,0,0 14 | 1997,0,0,0,0,0,0,0,1,0,0 15 | 1998,0,0,0,0,0,0,0,1,0,0 16 | 1999,0,0,0,0,0,0,0,1,0,0 17 | 2000,0,0,0,0,0,0,0,1,0,0 18 | 2001,0,0,0,0,0,0,0,1,0,0 19 | 2002,0,0,0,0,0,0,0,1,0,0 20 | 2003,0,0,0,0,0,0,0,1,0,0 21 | 2004,0,0,0,0,0,0,0,1,0,0 22 | 2005,0,0,0,0,0,0,0,1,0,0 23 | 2006,0,0,0,0,0,0,0,1,0,0 24 | 2007,0,0,0,0,0,0,0,1,0,0 25 | 2008,0,0,0,0,0,0,0,1,0,0 26 | 2009,0,0,0,0,0,0,0,1,0,0 27 | 2010,0,0,0,0,0,0,0,1,0,0 28 | 2011,0,0,0,0,0,0,0,1,0,0 29 | 2012,0,0,0,0,0,0,0,1,0,0 30 | 2013,0,0,0,0,0,0,0,1,0,0 31 | 2014,0,0,0,0,0,0,0,1,0,0 32 | 2015,0,0,0,0,0,0,0,1,0,0 33 | 2016,0,0,0,0,0,0,0,1,0,0 34 | 2017,0,0,0,0,0,0,0,1,0,0 35 | 2018,0,0,0,0,0,0,0,1,0,0 36 | 2019,0,0,0,0,0,0,0,1,0,0 37 | 2020,0,0,0,0,0,0,0,1,0,0 38 | 2021,0,0,0,0,0,0,0,1,0,0 -------------------------------------------------------------------------------- /1-general-map/utils/functions/auto-save.R: -------------------------------------------------------------------------------- 1 | ## criar tabela fake com 100 mil linhas 2 | data <- as.data.frame(cbind(value= runif(100000, min=0, max=1), 3 | desc= runif(100000, min=50, max=100))) 4 | 5 | ## checar se o arquivo de salvamento ja existe 6 | if (file.exists('./auto-save.csv') == TRUE) { 7 | ## se existir, carregar arquivo 8 | file <- read.csv('auto-save.csv')[-1] 9 | } else { 10 | ## se não, criar um recipiente vazio 11 | file <- as.data.frame(NULL) 12 | } 13 | 14 | ## set saving interval 15 | save_interval = 1e4 16 | ## set empty counter 17 | counter = as.numeric(0) 18 | 19 | ## salvar numero de referencia para processo 20 | ref_n <- nrow(file) 21 | 22 | ## para cada linha 23 | for(i in 1:nrow(data)) { 24 | ## plotar display da tarefa 25 | print(paste0('line ', i + ref_n, ' |x| ', round((i + ref_n) / nrow(data) * 100, digits=1), '%')) 26 | ## adiciona valor X na linha subsequente a ultima em file correspondente em data 27 | line <- data[ref_n + i ,] 28 | ## insere o valor de interesse 29 | line$get <- 'A' 30 | ## empilha no objeto 31 | file <- rbind(file, line) 32 | ## soma +1 ao contador 33 | counter <- counter + 1 34 | ## quando o contador for == 1e4, salva o arquivo 35 | if (counter == 1e4) { 36 | print('saving file into ./') 37 | ## save csv 38 | write.csv(file, './auto-save.csv') 39 | ## reseta o contador 40 | counter = 0 41 | } 42 | ## parar quando chegar em i + nrow(file) == nrow(data) 43 | if (i + ref_n == nrow(data)) { 44 | print('end ====>') 45 | break 46 | } 47 | } 48 | 49 | -------------------------------------------------------------------------------- /1-general-map/utils/segments/02_consolidatePoints.js: -------------------------------------------------------------------------------- 1 | // merge filtered samples generated by 'carta' in the step 4 and consolidate into a single asset 2 | // dhemerson.costa@ipam.org.br 3 | 4 | // path of samples 5 | var root = 'users/dh-conciani/collection7/sample/filtered_points/byCarta/'; 6 | var output = 'users/dh-conciani/collection7/sample/filtered_points/consolidated/'; 7 | 8 | // define version of points to consolidate 9 | var version = '3'; 10 | 11 | // import cerrado feature 12 | var cerrado = ee.FeatureCollection('projects/mapbiomas-workspace/AUXILIAR/biomas-2019') 13 | .filterMetadata('Bioma', 'equals', 'Cerrado'); 14 | 15 | // import ibge carta's and filter to cerrado 16 | var cartas = ee.FeatureCollection('projects/mapbiomas-workspace/AUXILIAR/cartas') 17 | .filterBounds(cerrado); 18 | 19 | // extract basenames 20 | var basenames = cartas.aggregate_array('grid_name') 21 | .remove('SG-21-X-B') 22 | .getInfo(); 23 | 24 | // create empty recipe 25 | var recipe = ee.FeatureCollection([]); 26 | 27 | // for each carta 28 | basenames.forEach(function(file_i) { 29 | // build filename 30 | var filename_i = file_i + '_v' + version; 31 | // read points for the filename [i] 32 | var samples_i = ee.FeatureCollection(root + filename_i); 33 | // merge into recipe 34 | recipe = recipe.merge(samples_i); 35 | }); 36 | 37 | 38 | // export as GEE asset 39 | Export.table.toAsset(recipe, 40 | 'samplePoints_filtered_v' + version, 41 | output + 'samplePoints_filtered_v' + version); 42 | -------------------------------------------------------------------------------- /1-general-map/utils/misc/01_integration_global_accuracy.R: -------------------------------------------------------------------------------- 1 | ## accuracy analisys from collection 6 2 | library(ggplot2) 3 | library(ggrepel) 4 | library(dplyr) 5 | library(sf) 6 | library(stringr) 7 | library(tools) 8 | library(ggpmisc) 9 | 10 | ## avoid sicentific notations 11 | options(scipen=999) 12 | 13 | ## list files 14 | files <- list.files('./table/acc_integration', full.names=TRUE) 15 | 16 | ## create empty recipe 17 | recipe <- as.data.frame(NULL) 18 | 19 | ## merge data 20 | for (i in 1:length(files)) { 21 | x <- read.csv(files[i]) 22 | ## remove size 23 | x <- x[,!(names(x) %in% c('system.index', 'SIZE', '.geo'))] 24 | ## rectify accuracy value (peso) 25 | x$GLOB_ACC <- x$GLOB_ACC + 0.0119 26 | ## bind 27 | recipe <- rbind(recipe, x);rm(x) 28 | } 29 | 30 | ## aggregate data 31 | data <- aggregate(x=list(acc= recipe$GLOB_ACC), by=list(col= recipe$VERSION, year= recipe$YEAR), FUN='mean') 32 | 33 | ## adjust strings 34 | data$col <- gsub('CERRADO_col6_gapfill_incid_temporal_spatial_freq_v8', 'Biome', 35 | gsub('mapbiomas_collection60_integration_v1', 'Integration', 36 | data$col)) 37 | 38 | ## plot 39 | ggplot(data, mapping= aes(x=year, y=acc, colour= col)) + 40 | #geom_point(size=2, alpha=0.5) + 41 | geom_line(size=3, alpha=1) + 42 | scale_colour_manual('Version', values=c('turquoise4', 'darkgreen')) + 43 | xlab(NULL) + 44 | ylab('Global acc.') + 45 | theme_bw() 46 | 47 | ## compute collection mean 48 | aggregate(x=list(acc= data$acc), by=list(col= data$col), FUN='mean') 49 | 50 | 51 | -------------------------------------------------------------------------------- /1-general-map/utils/analyses/05_plotConfusion.R: -------------------------------------------------------------------------------- 1 | ## asses confusion matrixes 2 | ## mapbiomas collection 7 3 | ## dhemerson.costa@ipam.org.br 4 | 5 | ## read libraries 6 | library(ggplot2) 7 | 8 | ## avoid scientific notation 9 | options(scipen= 999) 10 | 11 | data <- read.csv('./table/accuracy/table_CERRADO_col7_gapfill_incidence_temporal_frequency_geomorfology_spatial_v9.csv')[-1] 12 | 13 | ## invert to solve issue on getAcc code 14 | colnames(data)[1] <- 'Reference' 15 | colnames(data)[2] <- 'Prediction' 16 | 17 | ## get agree 18 | agree <- subset(data, Prediction == Reference) 19 | disagree <- subset(data, Prediction != Reference) 20 | 21 | ## aggregate frequencies 22 | disagree_general <- aggregate(x=list(Freq= disagree$Freq), 23 | by=list(year= disagree$year, 24 | reference= disagree$Reference, 25 | prediction= disagree$Prediction), FUN='sum') 26 | 27 | ## plot 28 | ggplot(data= disagree_general, mapping= aes(x=year, y= Freq, fill= as.factor(prediction))) + 29 | geom_bar(stat= 'identity') + 30 | scale_fill_manual('Predicted' , 31 | labels=c('Forest', 'Savanna', 'Grassland/Wet', 'Farming', 'Non-vegetated', 'Water'), 32 | values=c('#006400', '#00ff00', '#B8AF4F', '#f1c232', '#ff3d3d', '#0000FF')) + 33 | facet_wrap(~reference, scales= 'fixed') + 34 | theme_minimal() 35 | 36 | ## get only forest wrong classified 37 | forest <- subset(disagree, Prediction == 21 & Reference == 4) 38 | ggplot(forest, mapping= aes(x= year, y= Freq)) + 39 | geom_bar(stat= 'identity', col='#00ff00') + 40 | facet_wrap(~region) + 41 | theme_bw() 42 | -------------------------------------------------------------------------------- /1-general-map/utils/fact-sheet/table/transitions_matopiba/fromNAT_toSOYBEAN_2010_2021.csv: -------------------------------------------------------------------------------- 1 | system:index,area,class_id,file,territory,.geo 2 | 0_0,72815.70604539748,3,fromNAT_toSOYBEAN_2010_2021,1,"{""type"":""MultiPoint"",""coordinates"":[]}" 3 | 0_1,1048406.4643482029,4,fromNAT_toSOYBEAN_2010_2021,1,"{""type"":""MultiPoint"",""coordinates"":[]}" 4 | 0_2,4945.375801647944,11,fromNAT_toSOYBEAN_2010_2021,1,"{""type"":""MultiPoint"",""coordinates"":[]}" 5 | 0_3,257455.8616136847,12,fromNAT_toSOYBEAN_2010_2021,1,"{""type"":""MultiPoint"",""coordinates"":[]}" 6 | 1_0,2.700234008789062,4,fromNAT_toSOYBEAN_2010_2021,2,"{""type"":""MultiPoint"",""coordinates"":[]}" 7 | 1_1,0.44624259643554687,11,fromNAT_toSOYBEAN_2010_2021,2,"{""type"":""MultiPoint"",""coordinates"":[]}" 8 | 1_2,14.767517047119142,12,fromNAT_toSOYBEAN_2010_2021,2,"{""type"":""MultiPoint"",""coordinates"":[]}" 9 | 2_0,0.08711651000976563,3,fromNAT_toSOYBEAN_2010_2021,3,"{""type"":""MultiPoint"",""coordinates"":[]}" 10 | 2_1,2.8747662109375,4,fromNAT_toSOYBEAN_2010_2021,3,"{""type"":""MultiPoint"",""coordinates"":[]}" 11 | 2_2,0.26777509765625,11,fromNAT_toSOYBEAN_2010_2021,3,"{""type"":""MultiPoint"",""coordinates"":[]}" 12 | 2_3,15.285811822509766,12,fromNAT_toSOYBEAN_2010_2021,3,"{""type"":""MultiPoint"",""coordinates"":[]}" 13 | 3_0,65559.51568750621,3,fromNAT_toSOYBEAN_2010_2021,4,"{""type"":""MultiPoint"",""coordinates"":[]}" 14 | 3_1,194332.7502730542,4,fromNAT_toSOYBEAN_2010_2021,4,"{""type"":""MultiPoint"",""coordinates"":[]}" 15 | 3_2,9282.47003889775,11,fromNAT_toSOYBEAN_2010_2021,4,"{""type"":""MultiPoint"",""coordinates"":[]}" 16 | 3_3,63519.76494220585,12,fromNAT_toSOYBEAN_2010_2021,4,"{""type"":""MultiPoint"",""coordinates"":[]}" 17 | -------------------------------------------------------------------------------- /1-general-map/utils/fact-sheet/03_compareCollections.R: -------------------------------------------------------------------------------- 1 | # Compare Collections 6 and 7 for the Cerrado biome 2 | # dhemerson.costa@ipam.org.br 3 | 4 | ## read libraries 5 | library(ggplot2) 6 | 7 | ## read csv 8 | data <- read.csv2('./area_biomes_per_state_from_5_to_7_v20.csv', 9 | header=TRUE, 10 | encoding= 'UTF-8', 11 | sep='\t', 12 | dec=',') 13 | 14 | ## select only collections 6 and 7 for the Cerrado biome 15 | data_l2 <- subset(data, collection != 'Collection 5' 16 | & biome == 'Cerrado' 17 | & level == 'level_2' 18 | & class != 'Non Observed') 19 | 20 | ## rename classes 21 | #data_l2$class <- gsub('Magrove', 'Forest Formation', 22 | # gsub('Salt flat', 'Grassland', 23 | # gsub('Urban Infrastructure', 'Other Non Vegetated Area', 24 | # gsub('Mining', 'Other Non Vegetated Area', 25 | # gsub('Beach and Dune', 'Other Non Vegetated Area', 26 | # gsub('Aquaculture', 'River, Lake and Ocean', 27 | # data_l2$class)))))) 28 | 29 | ## plot 30 | ggplot(data= data_l2, mapping= aes(x= as.numeric(year), y= area, colour= collection)) + 31 | stat_summary(fun='sum', position= 'identity', geom= 'line', alpha=0.2, size=3) + 32 | stat_summary(fun='sum', position= 'identity', geom= 'line', alpha=0.7, size=1) + 33 | scale_colour_manual('Collection', values=c('gray50', 'orange')) + 34 | facet_wrap(~class, scales= 'free_y') + 35 | theme_bw() + 36 | xlab(NULL) + 37 | ylab('Area (Mha)') 38 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |
2 | 3 |

Cerrado biome - Collection 8

4 |
5 | 6 | Developed by [Instituto de Pesquisa Ambiental da Amazônia - IPAM](https://ipam.org.br/)
7 | 8 | ## About 9 | This folder contains the scripts to classify and filter the ***Cerrado*** Biome. 10 | 11 | For detailed information about the classification and methodology, please read the Cerrado biome Appendix of the [Algorithm Theoretical Basis Document (ATBD).](https://mapbiomas.org/download-dos-atbds) 12 | 13 | ## How to use 14 | 1. [Create an account](https://signup.earthengine.google.com/) in Google Earth Engine plataform. 15 | 16 | 2. [Install Python](https://www.python.org/downloads/) version 3.x. 17 | 18 | 3. Install Earth Engine [Python API](https://developers.google.com/earth-engine/guides/python_install) and get the credentials. 19 | 20 | 4. [Install R base](https://cran.r-project.org/bin/) version 4.x and [Install R Studio Desktop.](https://www.rstudio.com/products/rstudio/download/) 21 | 22 | 5. Download or clone this repository to your local workspace. 23 | 24 | ## Workflow 25 | Folders are organized by key-steps and contains a set of codes following the Cerrado biome classification schema: 26 | 27 | 1. [General map classification](https://github.com/mapbiomas-brazil/cerrado/tree/mapbiomas80/1-general-map) 28 | 29 | 2. [Rocky Outcrop classification](https://github.com/mapbiomas-brazil/cerrado/tree/mapbiomas80/2-rocky-outcrop) 30 | 31 | 32 | ## Contact 33 | For clarification or issue/bug report, please write to 34 | -------------------------------------------------------------------------------- /1-general-map/utils/fact-sheet/table/transitions_matopiba/fromNAT_toPASTURE_2010_2021.csv: -------------------------------------------------------------------------------- 1 | system:index,area,class_id,file,territory,.geo 2 | 0_0,279673.5564613418,3,fromNAT_toPASTURE_2010_2021,1,"{""type"":""MultiPoint"",""coordinates"":[]}" 3 | 0_1,1609687.1840195162,4,fromNAT_toPASTURE_2010_2021,1,"{""type"":""MultiPoint"",""coordinates"":[]}" 4 | 0_2,18458.927301116953,11,fromNAT_toPASTURE_2010_2021,1,"{""type"":""MultiPoint"",""coordinates"":[]}" 5 | 0_3,100760.47879550772,12,fromNAT_toPASTURE_2010_2021,1,"{""type"":""MultiPoint"",""coordinates"":[]}" 6 | 1_0,13.990538031005858,3,fromNAT_toPASTURE_2010_2021,2,"{""type"":""MultiPoint"",""coordinates"":[]}" 7 | 1_1,31.712314520263682,4,fromNAT_toPASTURE_2010_2021,2,"{""type"":""MultiPoint"",""coordinates"":[]}" 8 | 1_2,1.5112206420898437,11,fromNAT_toPASTURE_2010_2021,2,"{""type"":""MultiPoint"",""coordinates"":[]}" 9 | 1_3,3.0399091003417973,12,fromNAT_toPASTURE_2010_2021,2,"{""type"":""MultiPoint"",""coordinates"":[]}" 10 | 2_0,12.300488244628907,3,fromNAT_toPASTURE_2010_2021,3,"{""type"":""MultiPoint"",""coordinates"":[]}" 11 | 2_1,32.94576971435547,4,fromNAT_toPASTURE_2010_2021,3,"{""type"":""MultiPoint"",""coordinates"":[]}" 12 | 2_2,1.6878754577636719,11,fromNAT_toPASTURE_2010_2021,3,"{""type"":""MultiPoint"",""coordinates"":[]}" 13 | 2_3,3.226752117919922,12,fromNAT_toPASTURE_2010_2021,3,"{""type"":""MultiPoint"",""coordinates"":[]}" 14 | 3_0,260767.15849035035,3,fromNAT_toPASTURE_2010_2021,4,"{""type"":""MultiPoint"",""coordinates"":[]}" 15 | 3_1,2106088.346296464,4,fromNAT_toPASTURE_2010_2021,4,"{""type"":""MultiPoint"",""coordinates"":[]}" 16 | 3_2,147973.5140837102,11,fromNAT_toPASTURE_2010_2021,4,"{""type"":""MultiPoint"",""coordinates"":[]}" 17 | 3_3,313673.12083467434,12,fromNAT_toPASTURE_2010_2021,4,"{""type"":""MultiPoint"",""coordinates"":[]}" 18 | -------------------------------------------------------------------------------- /1-general-map/utils/toNext_eval/02_plotRegionalAccuracy.R: -------------------------------------------------------------------------------- 1 | ## accuracy analisys from collection 6 2 | 3 | library(ggplot2) 4 | library(ggrepel) 5 | library(dplyr) 6 | library(sf) 7 | library(tools) 8 | library(ggpmisc) 9 | 10 | ## avoid sicentific notations 11 | options(scipen=999) 12 | 13 | ## read data 14 | data <- subset( 15 | read.csv('./table/regionalAccuracy/metrics_mapbiomas_collection71_integration_v1.csv'), 16 | variable == 'Accuracy' 17 | ) 18 | 19 | ## rename 20 | colnames(data)[4] <- 'mapb' 21 | 22 | ## read vector 23 | reg_vec <- read_sf(dsn= './vec', layer= 'cerrado_c6_regions') 24 | states_vec <- read_sf(dsn= './vec', layer= 'estados_2010') 25 | 26 | 27 | ## merge 28 | reg_vec <- left_join(reg_vec, data, by='mapb') 29 | 30 | ## boxplot 31 | ggplot(data= data, mapping= aes(x= as.factor(year), y= value, label=mapb)) + 32 | geom_jitter(position = position_jitter(seed = 1), alpha=0.1) + 33 | geom_boxplot(fill='blue', alpha= 0.2) + 34 | #geom_bin2d(bins=6, alpha=1) + 35 | #scale_fill_continuous('Freq.', type = "viridis") + 36 | #geom_text(position = position_jitter(seed = 1), size=2.5, color= 'white') + 37 | theme_minimal() + 38 | theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) + 39 | xlab(NULL) + 40 | ylab('Global acc.') 41 | 42 | ## plot maps of accuracy per year 43 | x11() 44 | ggplot() + 45 | geom_sf(data= reg_vec, mapping= aes(fill= value), color= 'gray40', size= 0.1) + 46 | #geom_text(data = points, aes(X, Y, label = mapb), size = 3, col='black') + 47 | #geom_sf(data= states_vec, color= 'gray20', fill= NA, size= 0.1, alpha=0.5, linetype='dotted') + 48 | scale_fill_fermenter('Global acc.', n.breaks=6, palette= "RdYlGn", direction = 1) + 49 | facet_wrap(~year, ncol=7, nrow=5) + 50 | xlim(60, 42) + 51 | ylim(25, 0) + 52 | theme_minimal() 53 | 54 | 55 | -------------------------------------------------------------------------------- /1-general-map/utils/misc/table/acc_collections/col31_nv1.csv: -------------------------------------------------------------------------------- 1 | "Ano","Acurácia","Discordância de Área","Discordância de Alocação","X", "Y" 2 | 1985,0,793922410103382,-0,0426475195859605,-0,163430070310658 3 | 1986,0,798964530638686,-0,0395705915684039,-0,161464877792912 4 | 1987,0,800524746970353,-0,0431865166707549,-0,156288736358893 5 | 1988,0,801775047881189,-0,044693486180847,-0,153531465937966 6 | 1989,0,801507300574625,-0,0444070233604464,-0,154085676064927 7 | 1990,0,804301625296525,-0,0443703764468393,-0,151327998256632 8 | 1991,0,805003055400038,-0,045163570059226,-0,149833374540731 9 | 1992,0,804540088242257,-0,0468800819358083,-0,148579829821929 10 | 1993,0,80802188580245,-0,0480598949130298,-0,143918219284512 11 | 1994,0,806038975936133,-0,0469095719451319,-0,147051452118724 12 | 1995,0,806830694632716,-0,0479615651246729,-0,1452077402426 13 | 1996,0,807532800341609,-0,0493968990784806,-0,143070300579899 14 | 1997,0,812174527116693,-0,0457708900439853,-0,142054582839312 15 | 1998,0,814704863281989,-0,046670505235204,-0,138624631482798 16 | 1999,0,815996537565711,-0,0443403034426279,-0,139663158991653 17 | 2000,0,817866791406053,-0,0468664930548649,-0,135266715539074 18 | 2001,0,816667745873577,-0,0487290652284517,-0,134603188897965 19 | 2002,0,817621850552087,-0,0499092031236968,-0,13246894632421 20 | 2003,0,818462577337864,-0,052219360883969,-0,129318061778159 21 | 2004,0,82108630167239,-0,051519804174255,-0,127393894153348 22 | 2005,0,821440444017164,-0,0515268016514599,-0,127032754331367 23 | 2006,0,821719312615331,-0,0521814430523561,-0,126099244332304 24 | 2007,0,821576083288592,-0,0551046707779093,-0,123319245933489 25 | 2008,0,825801244326262,-0,054631634985245,-0,119567120688483 26 | 2009,0,822144215334723,-0,0570453613738061,-0,120810423291462 27 | 2010,0,823209207644502,-0,0563673448522046,-0,120423447503283 28 | 2011,0,822461658004364,-0,0600381189814996,-0,117500223014126 29 | 2012,0,824633449335995,-0,0569251680564847,-0,11844138260751 30 | 2013,0,823335116246414,-0,0581266339477462,-0,118538249805827 31 | 2014,0,825278128869973,-0,0560636360997801,-0,118658235030235 32 | 2015,0,821611700270384,-0,0607966876069658,-0,117591612122638 33 | 2016,0,819065087729615,-0,0572558871887557,-0,123679025081617 34 | 2017,0,815233542538171,-0,0592677932493148,-0,125498664212502 -------------------------------------------------------------------------------- /1-general-map/utils/misc/table/acc_classes/mosaic_omission_col6.csv: -------------------------------------------------------------------------------- 1 | year;forest;savanna;grassland;pasture;temp crop;permanent crop;forestry;mosaic;urban;water 2 | 1985,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 3 | 1986,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 4 | 1987,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 5 | 1988,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 6 | 1989,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 7 | 1990,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 8 | 1991,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 9 | 1992,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 10 | 1993,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 11 | 1994,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 12 | 1995,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 13 | 1996,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 14 | 1997,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 15 | 1998,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 16 | 1999,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 17 | 2000,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 18 | 2001,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 19 | 2002,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 20 | 2003,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 21 | 2004,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 22 | 2005,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 23 | 2006,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 24 | 2007,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 25 | 2008,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 26 | 2009,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 27 | 2010,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 28 | 2011,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 29 | 2012,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 30 | 2013,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 31 | 2014,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 32 | 2015,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 33 | 2016,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 34 | 2017,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 35 | 2018,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 36 | -------------------------------------------------------------------------------- /1-general-map/utils/misc/table/acc_collections/col31_nv3.csv: -------------------------------------------------------------------------------- 1 | "Ano","Acurácia","Discordância de Área","Discordância de Alocação","X", "Y" 2 | 1985,0,677985279669364,-0,0972127933586474,-0,224801926971991 3 | 1986,0,684992267308231,-0,0916519930405758,-0,223355739651194 4 | 1987,0,688787678925647,-0,090937350900483,-0,22027497017387 5 | 1988,0,692579934037169,-0,090894855445449,-0,216525210517384 6 | 1989,0,694517216289595,-0,0896693002642317,-0,215813483446174 7 | 1990,0,696835949504272,-0,0868639494584563,-0,216300101037272 8 | 1991,0,69758553724408,-0,0860797769793518,-0,216334685776567 9 | 1992,0,698612398867378,-0,0844279933988063,-0,216959607733813 10 | 1993,0,702549944765375,-0,0824568419398529,-0,214993213294769 11 | 1994,0,702061642447279,-0,0828836269413058,-0,215054730611411 12 | 1995,0,703932073923139,-0,0804370968266682,-0,215630829250188 13 | 1996,0,706720334243903,-0,0819178859574787,-0,211361779798613 14 | 1997,0,711964449592192,-0,0765076133823241,-0,211527937025478 15 | 1998,0,716459649171858,-0,0742057482830246,-0,209334602545112 16 | 1999,0,717650897635888,-0,0725436358424129,-0,209805466521693 17 | 2000,0,720746938248579,-0,0724465017222321,-0,206806560029183 18 | 2001,0,721879108975861,-0,0760959797879436,-0,202024911236189 19 | 2002,0,72316631865114,-0,076134761686639,-0,200698919662214 20 | 2003,0,725727012521831,-0,0762049965845938,-0,198067990893569 21 | 2004,0,728003569292106,-0,0744049106952379,-0,197591520012649 22 | 2005,0,727654558721634,-0,0748536774861156,-0,197491763792243 23 | 2006,0,728774128340727,-0,0738136410671968,-0,19741223059207 24 | 2007,0,727206262140037,-0,0717495957413172,-0,201044142118639 25 | 2008,0,731769489401871,-0,0710267679772445,-0,197203742620877 26 | 2009,0,727224526032966,-0,0753120199826462,-0,197463453984382 27 | 2010,0,72930797368702,-0,0734402179512437,-0,197251808361731 28 | 2011,0,728639479732056,-0,0770016996628427,-0,194358820605096 29 | 2012,0,733775716477827,-0,0734018731814155,-0,192822410340753 30 | 2013,0,733721131657918,-0,0754788985782785,-0,190799969763799 31 | 2014,0,732017414364404,-0,0749471984324893,-0,193035387203102 32 | 2015,0,730096437007004,-0,0790287245159106,-0,190874838477081 33 | 2016,0,727662206362631,-0,0790989407387021,-0,193238852898662 34 | 2017,0,724701476117793,-0,0805392804899763,-0,194759243392226 -------------------------------------------------------------------------------- /1-general-map/utils/toNext_eval/table/acc_collections/col31_nv1.csv: -------------------------------------------------------------------------------- 1 | "Ano","Acurácia","Discordância de Área","Discordância de Alocação","X", "Y" 2 | 1985,0,793922410103382,-0,0426475195859605,-0,163430070310658 3 | 1986,0,798964530638686,-0,0395705915684039,-0,161464877792912 4 | 1987,0,800524746970353,-0,0431865166707549,-0,156288736358893 5 | 1988,0,801775047881189,-0,044693486180847,-0,153531465937966 6 | 1989,0,801507300574625,-0,0444070233604464,-0,154085676064927 7 | 1990,0,804301625296525,-0,0443703764468393,-0,151327998256632 8 | 1991,0,805003055400038,-0,045163570059226,-0,149833374540731 9 | 1992,0,804540088242257,-0,0468800819358083,-0,148579829821929 10 | 1993,0,80802188580245,-0,0480598949130298,-0,143918219284512 11 | 1994,0,806038975936133,-0,0469095719451319,-0,147051452118724 12 | 1995,0,806830694632716,-0,0479615651246729,-0,1452077402426 13 | 1996,0,807532800341609,-0,0493968990784806,-0,143070300579899 14 | 1997,0,812174527116693,-0,0457708900439853,-0,142054582839312 15 | 1998,0,814704863281989,-0,046670505235204,-0,138624631482798 16 | 1999,0,815996537565711,-0,0443403034426279,-0,139663158991653 17 | 2000,0,817866791406053,-0,0468664930548649,-0,135266715539074 18 | 2001,0,816667745873577,-0,0487290652284517,-0,134603188897965 19 | 2002,0,817621850552087,-0,0499092031236968,-0,13246894632421 20 | 2003,0,818462577337864,-0,052219360883969,-0,129318061778159 21 | 2004,0,82108630167239,-0,051519804174255,-0,127393894153348 22 | 2005,0,821440444017164,-0,0515268016514599,-0,127032754331367 23 | 2006,0,821719312615331,-0,0521814430523561,-0,126099244332304 24 | 2007,0,821576083288592,-0,0551046707779093,-0,123319245933489 25 | 2008,0,825801244326262,-0,054631634985245,-0,119567120688483 26 | 2009,0,822144215334723,-0,0570453613738061,-0,120810423291462 27 | 2010,0,823209207644502,-0,0563673448522046,-0,120423447503283 28 | 2011,0,822461658004364,-0,0600381189814996,-0,117500223014126 29 | 2012,0,824633449335995,-0,0569251680564847,-0,11844138260751 30 | 2013,0,823335116246414,-0,0581266339477462,-0,118538249805827 31 | 2014,0,825278128869973,-0,0560636360997801,-0,118658235030235 32 | 2015,0,821611700270384,-0,0607966876069658,-0,117591612122638 33 | 2016,0,819065087729615,-0,0572558871887557,-0,123679025081617 34 | 2017,0,815233542538171,-0,0592677932493148,-0,125498664212502 -------------------------------------------------------------------------------- /1-general-map/utils/toNext_eval/table/acc_collections/col31_nv3.csv: -------------------------------------------------------------------------------- 1 | "Ano","Acurácia","Discordância de Área","Discordância de Alocação","X", "Y" 2 | 1985,0,677985279669364,-0,0972127933586474,-0,224801926971991 3 | 1986,0,684992267308231,-0,0916519930405758,-0,223355739651194 4 | 1987,0,688787678925647,-0,090937350900483,-0,22027497017387 5 | 1988,0,692579934037169,-0,090894855445449,-0,216525210517384 6 | 1989,0,694517216289595,-0,0896693002642317,-0,215813483446174 7 | 1990,0,696835949504272,-0,0868639494584563,-0,216300101037272 8 | 1991,0,69758553724408,-0,0860797769793518,-0,216334685776567 9 | 1992,0,698612398867378,-0,0844279933988063,-0,216959607733813 10 | 1993,0,702549944765375,-0,0824568419398529,-0,214993213294769 11 | 1994,0,702061642447279,-0,0828836269413058,-0,215054730611411 12 | 1995,0,703932073923139,-0,0804370968266682,-0,215630829250188 13 | 1996,0,706720334243903,-0,0819178859574787,-0,211361779798613 14 | 1997,0,711964449592192,-0,0765076133823241,-0,211527937025478 15 | 1998,0,716459649171858,-0,0742057482830246,-0,209334602545112 16 | 1999,0,717650897635888,-0,0725436358424129,-0,209805466521693 17 | 2000,0,720746938248579,-0,0724465017222321,-0,206806560029183 18 | 2001,0,721879108975861,-0,0760959797879436,-0,202024911236189 19 | 2002,0,72316631865114,-0,076134761686639,-0,200698919662214 20 | 2003,0,725727012521831,-0,0762049965845938,-0,198067990893569 21 | 2004,0,728003569292106,-0,0744049106952379,-0,197591520012649 22 | 2005,0,727654558721634,-0,0748536774861156,-0,197491763792243 23 | 2006,0,728774128340727,-0,0738136410671968,-0,19741223059207 24 | 2007,0,727206262140037,-0,0717495957413172,-0,201044142118639 25 | 2008,0,731769489401871,-0,0710267679772445,-0,197203742620877 26 | 2009,0,727224526032966,-0,0753120199826462,-0,197463453984382 27 | 2010,0,72930797368702,-0,0734402179512437,-0,197251808361731 28 | 2011,0,728639479732056,-0,0770016996628427,-0,194358820605096 29 | 2012,0,733775716477827,-0,0734018731814155,-0,192822410340753 30 | 2013,0,733721131657918,-0,0754788985782785,-0,190799969763799 31 | 2014,0,732017414364404,-0,0749471984324893,-0,193035387203102 32 | 2015,0,730096437007004,-0,0790287245159106,-0,190874838477081 33 | 2016,0,727662206362631,-0,0790989407387021,-0,193238852898662 34 | 2017,0,724701476117793,-0,0805392804899763,-0,194759243392226 -------------------------------------------------------------------------------- /1-general-map/utils/toNext_eval/table/acc_classes/6/mosaic_omission_col6.csv: -------------------------------------------------------------------------------- 1 | year;forest;savanna;grassland;pasture;temp crop;permanent crop;forestry;mosaic;urban;water 2 | 1985,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 3 | 1986,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 4 | 1987,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 5 | 1988,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 6 | 1989,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 7 | 1990,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 8 | 1991,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 9 | 1992,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 10 | 1993,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 11 | 1994,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 12 | 1995,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 13 | 1996,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 14 | 1997,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 15 | 1998,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 16 | 1999,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 17 | 2000,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 18 | 2001,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 19 | 2002,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 20 | 2003,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 21 | 2004,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 22 | 2005,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 23 | 2006,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 24 | 2007,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 25 | 2008,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 26 | 2009,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 27 | 2010,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 28 | 2011,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 29 | 2012,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 30 | 2013,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 31 | 2014,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 32 | 2015,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 33 | 2016,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 34 | 2017,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 35 | 2018,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00;1,00;0,00;0,00 36 | -------------------------------------------------------------------------------- /1-general-map/utils/fact-sheet/table/fundiario/stable_native_fundiario_col7.csv: -------------------------------------------------------------------------------- 1 | system:index,area,class_id,file,territory,.geo 2 | 0_0,2.4692360220791426E7,1,stable_native_fundiario_col7,1,"{""type"":""MultiPoint"",""coordinates"":[]}" 3 | 0_1,2628883.032058311,2,stable_native_fundiario_col7,1,"{""type"":""MultiPoint"",""coordinates"":[]}" 4 | 0_2,3187559.6652200595,3,stable_native_fundiario_col7,1,"{""type"":""MultiPoint"",""coordinates"":[]}" 5 | 0_3,1001276.7913430772,4,stable_native_fundiario_col7,1,"{""type"":""MultiPoint"",""coordinates"":[]}" 6 | 0_4,1.0290786131731002E7,5,stable_native_fundiario_col7,1,"{""type"":""MultiPoint"",""coordinates"":[]}" 7 | 0_5,6.5678130644760676E7,6,stable_native_fundiario_col7,1,"{""type"":""MultiPoint"",""coordinates"":[]}" 8 | 0_6,4.419275641629119E7,7,stable_native_fundiario_col7,1,"{""type"":""MultiPoint"",""coordinates"":[]}" 9 | 1_0,117979.97993930757,1,stable_native_fundiario_col7,2,"{""type"":""MultiPoint"",""coordinates"":[]}" 10 | 1_1,34950.65848357547,2,stable_native_fundiario_col7,2,"{""type"":""MultiPoint"",""coordinates"":[]}" 11 | 1_2,25099.432680133083,3,stable_native_fundiario_col7,2,"{""type"":""MultiPoint"",""coordinates"":[]}" 12 | 1_3,14615.192834930405,4,stable_native_fundiario_col7,2,"{""type"":""MultiPoint"",""coordinates"":[]}" 13 | 1_4,114450.44422135648,5,stable_native_fundiario_col7,2,"{""type"":""MultiPoint"",""coordinates"":[]}" 14 | 1_5,2860549.268619151,6,stable_native_fundiario_col7,2,"{""type"":""MultiPoint"",""coordinates"":[]}" 15 | 1_6,367091.28347420983,7,stable_native_fundiario_col7,2,"{""type"":""MultiPoint"",""coordinates"":[]}" 16 | 2_0,3494878.035894019,1,stable_native_fundiario_col7,3,"{""type"":""MultiPoint"",""coordinates"":[]}" 17 | 2_1,814872.7205142633,2,stable_native_fundiario_col7,3,"{""type"":""MultiPoint"",""coordinates"":[]}" 18 | 2_2,764364.2049586428,3,stable_native_fundiario_col7,3,"{""type"":""MultiPoint"",""coordinates"":[]}" 19 | 2_3,349418.4872107851,4,stable_native_fundiario_col7,3,"{""type"":""MultiPoint"",""coordinates"":[]}" 20 | 2_4,2982394.5379244788,5,stable_native_fundiario_col7,3,"{""type"":""MultiPoint"",""coordinates"":[]}" 21 | 2_5,2.222444583831606E7,6,stable_native_fundiario_col7,3,"{""type"":""MultiPoint"",""coordinates"":[]}" 22 | 2_6,8898561.061649807,7,stable_native_fundiario_col7,3,"{""type"":""MultiPoint"",""coordinates"":[]}" 23 | -------------------------------------------------------------------------------- /1-general-map/utils/misc/table/acc_classes_agro/temp.crop_commission.csv: -------------------------------------------------------------------------------- 1 | year;forest;savanna;grassland;pasture;temp crop;permanent crop;forestry;mosaic of;urban;water 2 | 1985,00;0,00;-0,03;-0,06;-0,15;0,76;0,00;0,00;0,00;0,00;0,00 3 | 1986,00;0,00;-0,02;-0,05;-0,15;0,77;0,00;0,00;0,00;0,00;0,00 4 | 1987,00;0,00;-0,02;-0,04;-0,17;0,78;0,00;0,00;0,00;0,00;0,00 5 | 1988,00;0,00;-0,01;-0,03;-0,17;0,78;0,00;0,00;0,00;0,00;0,00 6 | 1989,00;0,00;-0,01;-0,01;-0,16;0,81;0,00;0,00;0,00;0,00;0,00 7 | 1990,00;0,00;-0,01;-0,01;-0,18;0,80;0,00;0,00;0,00;0,00;0,00 8 | 1991,00;0,00;-0,01;-0,01;-0,18;0,80;0,00;0,00;0,00;0,00;0,00 9 | 1992,00;0,00;0,00;-0,01;-0,18;0,81;0,00;0,00;0,00;0,00;0,00 10 | 1993,00;0,00;0,00;-0,01;-0,18;0,81;0,00;0,00;0,00;0,00;0,00 11 | 1994,00;0,00;0,00;-0,01;-0,16;0,83;0,00;0,00;0,00;0,00;0,00 12 | 1995,00;0,00;0,00;-0,01;-0,15;0,84;0,00;0,00;0,00;0,00;0,00 13 | 1996,00;0,00;0,00;-0,01;-0,13;0,86;0,00;0,00;0,00;0,00;0,00 14 | 1997,00;0,00;0,00;0,00;-0,12;0,87;0,00;0,00;0,00;0,00;0,00 15 | 1998,00;0,00;0,00;0,00;-0,12;0,88;0,00;0,00;0,00;0,00;0,00 16 | 1999,00;0,00;0,00;0,00;-0,11;0,88;0,00;0,00;0,00;0,00;0,00 17 | 2000,00;0,00;0,00;0,00;-0,10;0,89;0,00;0,00;0,00;0,00;0,00 18 | 2001,00;0,00;0,00;0,00;-0,08;0,92;0,00;0,00;0,00;0,00;0,00 19 | 2002,00;0,00;0,00;0,00;-0,07;0,93;0,00;0,00;0,00;0,00;0,00 20 | 2003,00;0,00;0,00;0,00;-0,06;0,94;0,00;0,00;0,00;0,00;0,00 21 | 2004,00;0,00;0,00;0,00;-0,07;0,93;0,00;0,00;0,00;0,00;0,00 22 | 2005,00;0,00;0,00;0,00;-0,08;0,92;0,00;0,00;0,00;0,00;0,00 23 | 2006,00;0,00;0,00;0,00;-0,08;0,92;0,00;0,00;0,00;0,00;0,00 24 | 2007,00;0,00;0,00;0,00;-0,08;0,91;0,00;0,00;0,00;0,00;0,00 25 | 2008,00;0,00;0,00;0,00;-0,08;0,91;0,00;0,00;0,00;0,00;0,00 26 | 2009,00;0,00;0,00;0,00;-0,07;0,93;0,00;0,00;0,00;0,00;0,00 27 | 2010,00;0,00;0,00;0,00;-0,06;0,93;0,00;0,00;0,00;0,00;0,00 28 | 2011,00;0,00;0,00;0,00;-0,05;0,94;0,00;0,00;0,00;0,00;0,00 29 | 2012,00;0,00;0,00;0,00;-0,05;0,95;0,00;0,00;0,00;0,00;0,00 30 | 2013,00;0,00;0,00;0,00;-0,05;0,95;0,00;0,00;0,00;0,00;0,00 31 | 2014,00;0,00;0,00;0,00;-0,05;0,95;0,00;0,00;0,00;0,00;0,00 32 | 2015,00;0,00;0,00;0,00;-0,05;0,95;0,00;0,00;0,00;0,00;0,00 33 | 2016,00;0,00;0,00;0,00;-0,06;0,94;0,00;0,00;0,00;0,00;0,00 34 | 2017,00;0,00;0,00;0,00;-0,06;0,94;0,00;0,00;0,00;0,00;0,00 35 | 2018,00;0,00;0,00;0,00;-0,06;0,93;0,00;0,00;0,00;0,00;0,00 36 | -------------------------------------------------------------------------------- /1-general-map/utils/misc/table/acc_collections/col41_nv1.csv: -------------------------------------------------------------------------------- 1 | "Ano","Acurácia","Discordância de Área","Discordância de Alocação","X", "Y" 2 | 1985,0,808073394217855,-0,0240190859841798,-0,167907519797948 3 | 1986,0,812379667021382,-0,0277496848535395,-0,159870648125059 4 | 1987,0,814029140892338,-0,0352876497270145,-0,150683209380626 5 | 1988,0,813856768358349,-0,0408427853927209,-0,145300446248907 6 | 1989,0,815414695758558,-0,0444929161856335,-0,140092388055785 7 | 1990,0,817087785233335,-0,0446087571815171,-0,138303457585123 8 | 1991,0,820552934975886,-0,0441277379312463,-0,135319327092843 9 | 1992,0,820169305834804,-0,0469470683854543,-0,132883625779717 10 | 1993,0,822032397634326,-0,0474326109483066,-0,130534991417343 11 | 1994,0,823292632850546,-0,0486146093889465,-0,128092757760485 12 | 1995,0,821009074217255,-0,0484667759886726,-0,13052414979405 13 | 1996,0,823377080291593,-0,0481574900425664,-0,128465429665818 14 | 1997,0,825175929981173,-0,047285355251344,-0,127538714767462 15 | 1998,0,826430341970194,-0,0481266814630923,-0,125442976566692 16 | 1999,0,826819744582851,-0,0482386280590409,-0,124941627358087 17 | 2000,0,828633749101803,-0,0488820057617694,-0,12248424513641 18 | 2001,0,829002568916778,-0,0499433454564605,-0,121054085626745 19 | 2002,0,832869653906402,-0,0493545414971748,-0,117775804596405 20 | 2003,0,83180309337312,-0,0500783664268852,-0,118118540199979 21 | 2004,0,833237881722839,-0,0505756621411974,-0,116186456135945 22 | 2005,0,833939201701735,-0,0510729590184078,-0,114987839279839 23 | 2006,0,834645610821484,-0,0511172676174239,-0,114237121561072 24 | 2007,0,836672605708767,-0,050607494601475,-0,112719899689737 25 | 2008,0,8374596406485,-0,0530317906140084,-0,109508568737471 26 | 2009,0,836799451649816,-0,0538671330986359,-0,109333415251527 27 | 2010,0,836104511547899,-0,0530022769799486,-0,110893211472132 28 | 2011,0,83634626411097,-0,0562600192265866,-0,107393716662423 29 | 2012,0,838474979462444,-0,0544878353255848,-0,10703718521195 30 | 2013,0,83777564332692,-0,053480120626091,-0,108744236046969 31 | 2014,0,840802161063284,-0,0507291195996022,-0,108468719337092 32 | 2015,0,840187429522256,-0,0494568875925314,-0,110355682885191 33 | 2016,0,83875674357727,-0,046925192198958,-0,114318064223752 34 | 2017,0,836990810424921,-0,0450864265699338,-0,117922763005126 35 | 2018,0,840252039381419,-0,0392400180517573,-0,120507942566805 -------------------------------------------------------------------------------- /1-general-map/utils/misc/table/acc_collections/col41_nv3.csv: -------------------------------------------------------------------------------- 1 | "Ano","Acurácia","Discordância de Área","Discordância de Alocação","X", "Y" 2 | 1985,0,688912615116557,-0,0251629334651035,-0,285924451418341 3 | 1986,0,694256421214572,-0,0391767306653304,-0,2665668481201 4 | 1987,0,698926873555577,-0,0464504980156635,-0,254622628428762 5 | 1988,0,700167773389433,-0,0524902135907749,-0,247342013019794 6 | 1989,0,702777529882299,-0,0557592580263472,-0,241463212091356 7 | 1990,0,704413243026319,-0,0561686202924303,-0,239418136681253 8 | 1991,0,708639290645896,-0,0556473390386196,-0,235713370315486 9 | 1992,0,710268241277772,-0,0574891769559342,-0,232242581766294 10 | 1993,0,713281600998761,-0,0575957362367058,-0,229122662764534 11 | 1994,0,716234824001378,-0,059373410082209,-0,224391765916412 12 | 1995,0,714234998183262,-0,060070214159105,-0,225694787657633 13 | 1996,0,717314477884168,-0,0585519660941384,-0,224133556021693 14 | 1997,0,719769137521796,-0,0585229526863666,-0,221707909791837 15 | 1998,0,72364507325641,-0,0594872928217919,-0,216867633921798 16 | 1999,0,725426307108734,-0,0593947515769279,-0,215178941314337 17 | 2000,0,728706542563408,-0,0597910122503746,-0,211502445186216 18 | 2001,0,729987162547251,-0,0593122277435914,-0,210700609709157 19 | 2002,0,735242609897152,-0,0583413929310444,-0,206415997171803 20 | 2003,0,735008674764551,-0,0599909479335291,-0,20500037730192 21 | 2004,0,736081535247379,-0,0605102766710677,-0,203408188081554 22 | 2005,0,736130024250658,-0,0605384190678051,-0,203331556681538 23 | 2006,0,737782687243872,-0,060129143447142,-0,202088169308988 24 | 2007,0,739559879743841,-0,0590314482170548,-0,201408672039105 25 | 2008,0,742009405247868,-0,0618829695956648,-0,196107625156468 26 | 2009,0,740801872478979,-0,0631929690619295,-0,196005158459093 27 | 2010,0,739508259652237,-0,0640400926412148,-0,19645164770655 28 | 2011,0,738890207162404,-0,0653601849329272,-0,195749607904671 29 | 2012,0,742255667182755,-0,0646999005327333,-0,193044432284514 30 | 2013,0,741514923153301,-0,0634310662070688,-0,195054010639632 31 | 2014,0,74416136491998,-0,0609747744792455,-0,194863860600777 32 | 2015,0,74478434011531,-0,0605527106486278,-0,194662949236064 33 | 2016,0,742871528116888,-0,057620375872986,-0,199508096010128 34 | 2017,0,740917783210266,-0,0545711473679637,-0,204511069421773 35 | 2018,0,743065878848014,-0,0491626857184813,-0,207771435433506 -------------------------------------------------------------------------------- /1-general-map/utils/misc/table/acc_collections/col5_nv3.csv: -------------------------------------------------------------------------------- 1 | "Ano","Acurácia","Discordância de Área","Discordância de Alocação","X", "Y" 2 | 1985,0,705470525569291,-0,0294519447794724,-0,265077529651238 3 | 1986,0,711182074365667,-0,0398418744865977,-0,248976051147737 4 | 1987,0,716059942895456,-0,0484522860345511,-0,235487771069995 5 | 1988,0,718356236365953,-0,0573674221572366,-0,224276341476812 6 | 1989,0,719655630902627,-0,0641924932132124,-0,216151875884163 7 | 1990,0,720482994854674,-0,0662192937547241,-0,213297711390604 8 | 1991,0,724158626693294,-0,0667720958719033,-0,209069277434805 9 | 1992,0,729309126146936,-0,0672171495032109,-0,203473724349855 10 | 1993,0,729405573024052,-0,0672998122293914,-0,203294614746558 11 | 1994,0,734271413338637,-0,0684353302987173,-0,197293256362647 12 | 1995,0,737127777348788,-0,067253180123342,-0,195619042527871 13 | 1996,0,741010055821421,-0,0678641863994166,-0,191125757779164 14 | 1997,0,742969824299768,-0,0666267874474167,-0,190403388252816 15 | 1998,0,746205066171107,-0,0684226795971318,-0,185372254231762 16 | 1999,0,750085381495918,-0,0664931175223972,-0,183421500981686 17 | 2000,0,752807174395501,-0,0685978759556099,-0,17859494964889 18 | 2001,0,754862265466911,-0,0681383100110189,-0,17699942452207 19 | 2002,0,760163690732758,-0,0676719930678271,-0,172164316199414 20 | 2003,0,76070623843945,-0,0673916048020063,-0,171902156758543 21 | 2004,0,76318696911364,-0,0675914575372407,-0,169221573349117 22 | 2005,0,761848027285779,-0,0677223529335102,-0,170429619780709 23 | 2006,0,764083471239177,-0,0688684762756039,-0,167048052485218 24 | 2007,0,763033161296451,-0,069364428934948,-0,1676024097686 25 | 2008,0,762147689827349,-0,070665081531447,-0,167187228641203 26 | 2009,0,761599666360157,-0,0717779839988344,-0,166622349641008 27 | 2010,0,764555727256601,-0,0721444493681854,-0,163299823375212 28 | 2011,0,763927676488454,-0,0725467556114658,-0,163525567900079 29 | 2012,0,766290338529061,-0,070827556613159,-0,16288210485778 30 | 2013,0,766922424207017,-0,0700224492998184,-0,163055126493165 31 | 2014,0,769307697301214,-0,0695191551021024,-0,161173147596685 32 | 2015,0,769594658894796,-0,0687224942348219,-0,161682846870383 33 | 2016,0,767887714349452,-0,0711535043430243,-0,160958781307525 34 | 2017,0,767154101430253,-0,0713989747625359,-0,161446923807212 35 | 2018,0,767428396900544,-0,0719364868006725,-0,160635116298785 -------------------------------------------------------------------------------- /1-general-map/utils/misc/table/acc_collections/col6_nv3.csv: -------------------------------------------------------------------------------- 1 | "Ano","Acurácia","Discordância de Área","Discordância de Alocação","X", "Y" 2 | 1985,0,705077971026514,-0,0650283531013032,-0,229893675872183 3 | 1986,0,710570160722903,-0,0715106407729108,-0,217919198504186 4 | 1987,0,714536751209318,-0,0753008433419085,-0,210162405448774 5 | 1988,0,716903261950806,-0,0807318602714432,-0,202364877777752 6 | 1989,0,720174966513112,-0,0838452908957709,-0,195979742591119 7 | 1990,0,720704486633382,-0,0845855277184409,-0,194709985648179 8 | 1991,0,72548400187775,-0,0858166168081159,-0,188699381314135 9 | 1992,0,729270216065685,-0,0863074816881305,-0,184422302246186 10 | 1993,0,731929107028291,-0,0853858825413081,-0,182685010430402 11 | 1994,0,734813933540096,-0,0864204140745435,-0,178765652385363 12 | 1995,0,737903418839926,-0,0866623860844011,-0,175434195075675 13 | 1996,0,741509547979501,-0,086182152548962,-0,172308299471539 14 | 1997,0,745432092824903,-0,0841958881651205,-0,170372019009978 15 | 1998,0,747846541692994,-0,0848443564675736,-0,167309101839434 16 | 1999,0,751625383196318,-0,0859425837039071,-0,162432033099776 17 | 2000,0,752809858969057,-0,0873263430758293,-0,159863797955115 18 | 2001,0,75647575205953,-0,087122566474752,-0,156401681465719 19 | 2002,0,75935668625273,-0,0863059494447615,-0,154337364302509 20 | 2003,0,760668297694434,-0,0887589421191601,-0,150572760186407 21 | 2004,0,762037051334492,-0,0869607999628543,-0,151002148702655 22 | 2005,0,762358451376017,-0,0862364885906724,-0,151405060033311 23 | 2006,0,762810738863077,-0,0860409547071231,-0,1511483064298 24 | 2007,0,762917251311047,-0,0874976720059878,-0,149585076682966 25 | 2008,0,761400174324578,-0,0893444315836648,-0,149255394091758 26 | 2009,0,762265763628682,-0,0901103861341913,-0,147623850237128 27 | 2010,0,764540288658113,-0,0903073058703688,-0,145152405471519 28 | 2011,0,767015897678477,-0,0901884017757953,-0,142795700545729 29 | 2012,0,768320875521828,-0,0890624392058939,-0,142616685272279 30 | 2013,0,767604316036382,-0,0892989152076141,-0,143096768756005 31 | 2014,0,769779519180609,-0,0879594291374079,-0,142261051681985 32 | 2015,0,770888143421291,-0,0882351573197537,-0,140876699258957 33 | 2016,0,769607344429534,-0,0896148194654273,-0,14077783610504 34 | 2017,0,767656114178319,-0,0910972252827738,-0,141246660538909 35 | 2018,0,767071750648412,-0,0923353542594266,-0,140592895092163 -------------------------------------------------------------------------------- /1-general-map/utils/toNext_eval/table/acc_collections/col41_nv1.csv: -------------------------------------------------------------------------------- 1 | "Ano","Acurácia","Discordância de Área","Discordância de Alocação","X", "Y" 2 | 1985,0,808073394217855,-0,0240190859841798,-0,167907519797948 3 | 1986,0,812379667021382,-0,0277496848535395,-0,159870648125059 4 | 1987,0,814029140892338,-0,0352876497270145,-0,150683209380626 5 | 1988,0,813856768358349,-0,0408427853927209,-0,145300446248907 6 | 1989,0,815414695758558,-0,0444929161856335,-0,140092388055785 7 | 1990,0,817087785233335,-0,0446087571815171,-0,138303457585123 8 | 1991,0,820552934975886,-0,0441277379312463,-0,135319327092843 9 | 1992,0,820169305834804,-0,0469470683854543,-0,132883625779717 10 | 1993,0,822032397634326,-0,0474326109483066,-0,130534991417343 11 | 1994,0,823292632850546,-0,0486146093889465,-0,128092757760485 12 | 1995,0,821009074217255,-0,0484667759886726,-0,13052414979405 13 | 1996,0,823377080291593,-0,0481574900425664,-0,128465429665818 14 | 1997,0,825175929981173,-0,047285355251344,-0,127538714767462 15 | 1998,0,826430341970194,-0,0481266814630923,-0,125442976566692 16 | 1999,0,826819744582851,-0,0482386280590409,-0,124941627358087 17 | 2000,0,828633749101803,-0,0488820057617694,-0,12248424513641 18 | 2001,0,829002568916778,-0,0499433454564605,-0,121054085626745 19 | 2002,0,832869653906402,-0,0493545414971748,-0,117775804596405 20 | 2003,0,83180309337312,-0,0500783664268852,-0,118118540199979 21 | 2004,0,833237881722839,-0,0505756621411974,-0,116186456135945 22 | 2005,0,833939201701735,-0,0510729590184078,-0,114987839279839 23 | 2006,0,834645610821484,-0,0511172676174239,-0,114237121561072 24 | 2007,0,836672605708767,-0,050607494601475,-0,112719899689737 25 | 2008,0,8374596406485,-0,0530317906140084,-0,109508568737471 26 | 2009,0,836799451649816,-0,0538671330986359,-0,109333415251527 27 | 2010,0,836104511547899,-0,0530022769799486,-0,110893211472132 28 | 2011,0,83634626411097,-0,0562600192265866,-0,107393716662423 29 | 2012,0,838474979462444,-0,0544878353255848,-0,10703718521195 30 | 2013,0,83777564332692,-0,053480120626091,-0,108744236046969 31 | 2014,0,840802161063284,-0,0507291195996022,-0,108468719337092 32 | 2015,0,840187429522256,-0,0494568875925314,-0,110355682885191 33 | 2016,0,83875674357727,-0,046925192198958,-0,114318064223752 34 | 2017,0,836990810424921,-0,0450864265699338,-0,117922763005126 35 | 2018,0,840252039381419,-0,0392400180517573,-0,120507942566805 -------------------------------------------------------------------------------- /1-general-map/utils/misc/table/acc_collections/col6_nv1.csv: -------------------------------------------------------------------------------- 1 | "Ano","Acurácia","Discordância de Área","Discordância de Alocação","X", "Y" 2 | 1985,0,801385504614088,-0,0244570920799148,-0,174157403306003 3 | 1986,0,806066090120093,-0,0226217488142187,-0,171312161065694 4 | 1987,0,810064618841076,-0,0282751003003834,-0,161660280858548 5 | 1988,0,810858543751482,-0,036680092563688,-0,152461363684835 6 | 1989,0,811841523256071,-0,0444020720328293,-0,143756404711105 7 | 1990,0,812651396358991,-0,0477779576194978,-0,139570646021517 8 | 1991,0,816997635261568,-0,0484780986170079,-0,134524266121429 9 | 1992,0,81905059655689,-0,0500569060526591,-0,130892497390454 10 | 1993,0,821654210334696,-0,050659540253434,-0,127686249411873 11 | 1994,0,822635538904414,-0,0524470202399319,-0,124917440855657 12 | 1995,0,824744138226046,-0,0531652938680495,-0,122090567905907 13 | 1996,0,826839733514255,-0,0539034477744988,-0,119256818711248 14 | 1997,0,830047570543982,-0,0518998606606082,-0,118052568795411 15 | 1998,0,831320576461056,-0,0537327685828651,-0,114946654956081 16 | 1999,0,832758995137285,-0,054947917675429,-0,112293087187288 17 | 2000,0,833046461027515,-0,0561176388694644,-0,110835900103022 18 | 2001,0,834435974453785,-0,0567708592062103,-0,108793166340006 19 | 2002,0,836345398605718,-0,0553735369443541,-0,108281064449927 20 | 2003,0,835829815909942,-0,0583296355503653,-0,105840548539692 21 | 2004,0,837440407912018,-0,0558131998730031,-0,106746392214978 22 | 2005,0,838798074696326,-0,0568181420840768,-0,104383783219595 23 | 2006,0,838571338188096,-0,0571212497388625,-0,104307412073039 24 | 2007,0,83917470195551,-0,0589379085401261,-0,101887389504362 25 | 2008,0,838701924440448,-0,060174816051422,-0,101123259508128 26 | 2009,0,838429811292734,-0,0606781247215759,-0,100892063985689 27 | 2010,0,839901111131683,-0,0595393646597613,-0,100559524208554 28 | 2011,0,840731250835393,-0,0597536269666708,-0,0995151221979352 29 | 2012,0,841349810735778,-0,0589571927605879,-0,0996929965036336 30 | 2013,0,84125198075779,-0,0609503342651994,-0,0977976849770095 31 | 2014,0,842495130211871,-0,0610648956179369,-0,0964399741701896 32 | 2015,0,841718563143771,-0,0618875801594078,-0,0963938566968201 33 | 2016,0,84139099995174,-0,0619713259686213,-0,0966376740796372 34 | 2017,0,839925771931489,-0,0624945735188298,-0,0975796545496796 35 | 2018,0,838994849170011,-0,0638729792812121,-0,0971321715487746 -------------------------------------------------------------------------------- /1-general-map/utils/toNext_eval/table/acc_collections/col41_nv3.csv: -------------------------------------------------------------------------------- 1 | "Ano","Acurácia","Discordância de Área","Discordância de Alocação","X", "Y" 2 | 1985,0,688912615116557,-0,0251629334651035,-0,285924451418341 3 | 1986,0,694256421214572,-0,0391767306653304,-0,2665668481201 4 | 1987,0,698926873555577,-0,0464504980156635,-0,254622628428762 5 | 1988,0,700167773389433,-0,0524902135907749,-0,247342013019794 6 | 1989,0,702777529882299,-0,0557592580263472,-0,241463212091356 7 | 1990,0,704413243026319,-0,0561686202924303,-0,239418136681253 8 | 1991,0,708639290645896,-0,0556473390386196,-0,235713370315486 9 | 1992,0,710268241277772,-0,0574891769559342,-0,232242581766294 10 | 1993,0,713281600998761,-0,0575957362367058,-0,229122662764534 11 | 1994,0,716234824001378,-0,059373410082209,-0,224391765916412 12 | 1995,0,714234998183262,-0,060070214159105,-0,225694787657633 13 | 1996,0,717314477884168,-0,0585519660941384,-0,224133556021693 14 | 1997,0,719769137521796,-0,0585229526863666,-0,221707909791837 15 | 1998,0,72364507325641,-0,0594872928217919,-0,216867633921798 16 | 1999,0,725426307108734,-0,0593947515769279,-0,215178941314337 17 | 2000,0,728706542563408,-0,0597910122503746,-0,211502445186216 18 | 2001,0,729987162547251,-0,0593122277435914,-0,210700609709157 19 | 2002,0,735242609897152,-0,0583413929310444,-0,206415997171803 20 | 2003,0,735008674764551,-0,0599909479335291,-0,20500037730192 21 | 2004,0,736081535247379,-0,0605102766710677,-0,203408188081554 22 | 2005,0,736130024250658,-0,0605384190678051,-0,203331556681538 23 | 2006,0,737782687243872,-0,060129143447142,-0,202088169308988 24 | 2007,0,739559879743841,-0,0590314482170548,-0,201408672039105 25 | 2008,0,742009405247868,-0,0618829695956648,-0,196107625156468 26 | 2009,0,740801872478979,-0,0631929690619295,-0,196005158459093 27 | 2010,0,739508259652237,-0,0640400926412148,-0,19645164770655 28 | 2011,0,738890207162404,-0,0653601849329272,-0,195749607904671 29 | 2012,0,742255667182755,-0,0646999005327333,-0,193044432284514 30 | 2013,0,741514923153301,-0,0634310662070688,-0,195054010639632 31 | 2014,0,74416136491998,-0,0609747744792455,-0,194863860600777 32 | 2015,0,74478434011531,-0,0605527106486278,-0,194662949236064 33 | 2016,0,742871528116888,-0,057620375872986,-0,199508096010128 34 | 2017,0,740917783210266,-0,0545711473679637,-0,204511069421773 35 | 2018,0,743065878848014,-0,0491626857184813,-0,207771435433506 -------------------------------------------------------------------------------- /1-general-map/utils/toNext_eval/table/acc_collections/col5_nv3.csv: -------------------------------------------------------------------------------- 1 | "Ano","Acurácia","Discordância de Área","Discordância de Alocação","X", "Y" 2 | 1985,0,705470525569291,-0,0294519447794724,-0,265077529651238 3 | 1986,0,711182074365667,-0,0398418744865977,-0,248976051147737 4 | 1987,0,716059942895456,-0,0484522860345511,-0,235487771069995 5 | 1988,0,718356236365953,-0,0573674221572366,-0,224276341476812 6 | 1989,0,719655630902627,-0,0641924932132124,-0,216151875884163 7 | 1990,0,720482994854674,-0,0662192937547241,-0,213297711390604 8 | 1991,0,724158626693294,-0,0667720958719033,-0,209069277434805 9 | 1992,0,729309126146936,-0,0672171495032109,-0,203473724349855 10 | 1993,0,729405573024052,-0,0672998122293914,-0,203294614746558 11 | 1994,0,734271413338637,-0,0684353302987173,-0,197293256362647 12 | 1995,0,737127777348788,-0,067253180123342,-0,195619042527871 13 | 1996,0,741010055821421,-0,0678641863994166,-0,191125757779164 14 | 1997,0,742969824299768,-0,0666267874474167,-0,190403388252816 15 | 1998,0,746205066171107,-0,0684226795971318,-0,185372254231762 16 | 1999,0,750085381495918,-0,0664931175223972,-0,183421500981686 17 | 2000,0,752807174395501,-0,0685978759556099,-0,17859494964889 18 | 2001,0,754862265466911,-0,0681383100110189,-0,17699942452207 19 | 2002,0,760163690732758,-0,0676719930678271,-0,172164316199414 20 | 2003,0,76070623843945,-0,0673916048020063,-0,171902156758543 21 | 2004,0,76318696911364,-0,0675914575372407,-0,169221573349117 22 | 2005,0,761848027285779,-0,0677223529335102,-0,170429619780709 23 | 2006,0,764083471239177,-0,0688684762756039,-0,167048052485218 24 | 2007,0,763033161296451,-0,069364428934948,-0,1676024097686 25 | 2008,0,762147689827349,-0,070665081531447,-0,167187228641203 26 | 2009,0,761599666360157,-0,0717779839988344,-0,166622349641008 27 | 2010,0,764555727256601,-0,0721444493681854,-0,163299823375212 28 | 2011,0,763927676488454,-0,0725467556114658,-0,163525567900079 29 | 2012,0,766290338529061,-0,070827556613159,-0,16288210485778 30 | 2013,0,766922424207017,-0,0700224492998184,-0,163055126493165 31 | 2014,0,769307697301214,-0,0695191551021024,-0,161173147596685 32 | 2015,0,769594658894796,-0,0687224942348219,-0,161682846870383 33 | 2016,0,767887714349452,-0,0711535043430243,-0,160958781307525 34 | 2017,0,767154101430253,-0,0713989747625359,-0,161446923807212 35 | 2018,0,767428396900544,-0,0719364868006725,-0,160635116298785 -------------------------------------------------------------------------------- /1-general-map/utils/toNext_eval/table/acc_collections/col6_nv3.csv: -------------------------------------------------------------------------------- 1 | "Ano","Acurácia","Discordância de Área","Discordância de Alocação","X", "Y" 2 | 1985,0,705077971026514,-0,0650283531013032,-0,229893675872183 3 | 1986,0,710570160722903,-0,0715106407729108,-0,217919198504186 4 | 1987,0,714536751209318,-0,0753008433419085,-0,210162405448774 5 | 1988,0,716903261950806,-0,0807318602714432,-0,202364877777752 6 | 1989,0,720174966513112,-0,0838452908957709,-0,195979742591119 7 | 1990,0,720704486633382,-0,0845855277184409,-0,194709985648179 8 | 1991,0,72548400187775,-0,0858166168081159,-0,188699381314135 9 | 1992,0,729270216065685,-0,0863074816881305,-0,184422302246186 10 | 1993,0,731929107028291,-0,0853858825413081,-0,182685010430402 11 | 1994,0,734813933540096,-0,0864204140745435,-0,178765652385363 12 | 1995,0,737903418839926,-0,0866623860844011,-0,175434195075675 13 | 1996,0,741509547979501,-0,086182152548962,-0,172308299471539 14 | 1997,0,745432092824903,-0,0841958881651205,-0,170372019009978 15 | 1998,0,747846541692994,-0,0848443564675736,-0,167309101839434 16 | 1999,0,751625383196318,-0,0859425837039071,-0,162432033099776 17 | 2000,0,752809858969057,-0,0873263430758293,-0,159863797955115 18 | 2001,0,75647575205953,-0,087122566474752,-0,156401681465719 19 | 2002,0,75935668625273,-0,0863059494447615,-0,154337364302509 20 | 2003,0,760668297694434,-0,0887589421191601,-0,150572760186407 21 | 2004,0,762037051334492,-0,0869607999628543,-0,151002148702655 22 | 2005,0,762358451376017,-0,0862364885906724,-0,151405060033311 23 | 2006,0,762810738863077,-0,0860409547071231,-0,1511483064298 24 | 2007,0,762917251311047,-0,0874976720059878,-0,149585076682966 25 | 2008,0,761400174324578,-0,0893444315836648,-0,149255394091758 26 | 2009,0,762265763628682,-0,0901103861341913,-0,147623850237128 27 | 2010,0,764540288658113,-0,0903073058703688,-0,145152405471519 28 | 2011,0,767015897678477,-0,0901884017757953,-0,142795700545729 29 | 2012,0,768320875521828,-0,0890624392058939,-0,142616685272279 30 | 2013,0,767604316036382,-0,0892989152076141,-0,143096768756005 31 | 2014,0,769779519180609,-0,0879594291374079,-0,142261051681985 32 | 2015,0,770888143421291,-0,0882351573197537,-0,140876699258957 33 | 2016,0,769607344429534,-0,0896148194654273,-0,14077783610504 34 | 2017,0,767656114178319,-0,0910972252827738,-0,141246660538909 35 | 2018,0,767071750648412,-0,0923353542594266,-0,140592895092163 -------------------------------------------------------------------------------- /1-general-map/utils/misc/table/acc_collections/col5_nv1.csv: -------------------------------------------------------------------------------- 1 | "Ano","Acurácia","Discordância de Área","Discordância de Alocação","X", "Y" 2 | 1985,0,812765342718994,-0,0117434856883032,-0,175491171592709 3 | 1986,0,817439075990174,-0,0136661282250212,-0,16889479578481 4 | 1987,0,820414889351812,-0,0271493428476618,-0,152435767800531 5 | 1988,0,821919702353492,-0,0367109865074128,-0,141369311139101 6 | 1989,0,822688098744494,-0,0432827637714875,-0,134029137484024 7 | 1990,0,82273527439042,-0,0483794709922786,-0,128885254617308 8 | 1991,0,825173542357115,-0,0492212189495463,-0,125605238693343 9 | 1992,0,827087452658178,-0,0505893049248345,-0,122323242416991 10 | 1993,0,827216001615073,-0,0519990314178897,-0,12078496696704 11 | 1994,0,830968183145659,-0,0536570033885255,-0,115374813465818 12 | 1995,0,831240247768073,-0,0537808046363623,-0,114978947595567 13 | 1996,0,83370311655836,-0,0534540146854184,-0,112842868756223 14 | 1997,0,835782045639108,-0,05175149627278,-0,112466458088113 15 | 1998,0,837416736393321,-0,0529549675240784,-0,109628296082602 16 | 1999,0,838411898381087,-0,051923940556444,-0,109664161062471 17 | 2000,0,839416270694875,-0,054300448939769,-0,106283280365358 18 | 2001,0,839821631317325,-0,0551841315630418,-0,104994237119634 19 | 2002,0,843754530843483,-0,0534565604291162,-0,102788908727401 20 | 2003,0,843634119616259,-0,0530236097987813,-0,103342270584959 21 | 2004,0,846336591994747,-0,0535615930178311,-0,10010181498742 22 | 2005,0,845543727085031,-0,0543613206727817,-0,100094952242185 23 | 2006,0,847518698202812,-0,0550797132247307,-0,0974015885724548 24 | 2007,0,846652567043263,-0,0547109060981784,-0,0986365268585558 25 | 2008,0,847593065359047,-0,0559045421721568,-0,0965023924687942 26 | 2009,0,845778754097705,-0,0571802664415636,-0,0970409794607289 27 | 2010,0,848080492934655,-0,0565728886842346,-0,095346618381108 28 | 2011,0,847117438743382,-0,0567803417811913,-0,0961022194754248 29 | 2012,0,848113111278355,-0,0556111285121694,-0,0962757602094733 30 | 2013,0,848979520333296,-0,0552859230955676,-0,0957345565711346 31 | 2014,0,851572411826908,-0,0533411322784153,-0,0950864558946754 32 | 2015,0,850393547442114,-0,0527382478309295,-0,0968682047269546 33 | 2016,0,848327334181998,-0,0533772634888584,-0,0982954023291427 34 | 2017,0,847830737937782,-0,0530593939035562,-0,0991098681586605 35 | 2018,0,847637206766909,-0,0515204360882941,-0,100842357144796 -------------------------------------------------------------------------------- /2-rocky-outcrop/06_frequency.js: -------------------------------------------------------------------------------- 1 | // --- --- --- 06_frequency 2 | // frequency filter 3 | // barbara.silva@ipam.org.br 4 | 5 | // define root 6 | var root = 'projects/ee-barbarasilvaipam/assets/collection8-rocky/general-class-post/'; 7 | 8 | // define input file 9 | var file_in = 'CERRADO_col8_rocky_gapfill_v3'; 10 | 11 | // define output version 12 | var version_out = 3; 13 | 14 | // load classification 15 | var classification = ee.Image(root + file_in); 16 | 17 | // import mapbiomas color ramp 18 | var vis = { 19 | min: 0, 20 | max: 62, 21 | palette:require('users/mapbiomas/modules:Palettes.js').get('classification7'), 22 | }; 23 | 24 | // define the function to calc frequencies 25 | var filterFreq = function(image) { 26 | // expression to get frequency 27 | var exp = '100*((b(0)+b(1)+b(2)+b(3)+b(4)+b(5)+b(6)+b(7)+b(8)+b(9)+b(10)' + 28 | '+b(11)+b(12)+b(13)+b(14)+b(15)+b(16)+b(17)+b(18)+b(19)+b(20)' + 29 | '+b(21)+b(22)+b(23)+b(24)+b(25)+b(26)+b(27)+b(28)+b(29)+b(30)' + 30 | '+b(31)+b(32)+b(33)+b(34)+b(35)+b(36)+b(37))/38)'; 31 | 32 | // get per class frequency 33 | var rocky = image.eq(29).expression(exp); 34 | Map.addLayer(rocky, {palette:['purple', 'red', 'orange', 'yellow', 'green', 'darkgreen'], min:20, max:70}, 'freq') 35 | 36 | // stabilize rocky when: 37 | var filtered = ee.Image(0).where(rocky.gte(50), 29) 38 | .where(rocky.lt(50), 99) 39 | 40 | // get only pixels to be filtered 41 | filtered = filtered.updateMask(filtered.neq(0)); 42 | 43 | return image.where(filtered, filtered); 44 | }; 45 | 46 | // apply function 47 | var classification_filtered = filterFreq(classification); 48 | 49 | // plot 50 | Map.addLayer(classification.select(['classification_2021']), vis, 'classification'); 51 | Map.addLayer(classification_filtered.select(['classification_2021']), vis, 'filtered'); 52 | 53 | // export as GEE asset 54 | Export.image.toAsset({ 55 | 'image': classification_filtered, 56 | 'description': 'CERRADO_col8_rocky_gapfill_frequency_v' + version_out, 57 | 'assetId': root + 'CERRADO_col8_rocky_gapfill_frequency_v' + version_out, 58 | 'pyramidingPolicy': { 59 | '.default': 'mode' 60 | }, 61 | 'region': classification.geometry(), 62 | 'scale': 30, 63 | 'maxPixels': 1e13 64 | }); 65 | -------------------------------------------------------------------------------- /1-general-map/utils/toNext_eval/table/acc_collections/col5_nv1.csv: -------------------------------------------------------------------------------- 1 | "Ano","Acurácia","Discordância de Área","Discordância de Alocação","X", "Y" 2 | 1985,0,812765342718994,-0,0117434856883032,-0,175491171592709 3 | 1986,0,817439075990174,-0,0136661282250212,-0,16889479578481 4 | 1987,0,820414889351812,-0,0271493428476618,-0,152435767800531 5 | 1988,0,821919702353492,-0,0367109865074128,-0,141369311139101 6 | 1989,0,822688098744494,-0,0432827637714875,-0,134029137484024 7 | 1990,0,82273527439042,-0,0483794709922786,-0,128885254617308 8 | 1991,0,825173542357115,-0,0492212189495463,-0,125605238693343 9 | 1992,0,827087452658178,-0,0505893049248345,-0,122323242416991 10 | 1993,0,827216001615073,-0,0519990314178897,-0,12078496696704 11 | 1994,0,830968183145659,-0,0536570033885255,-0,115374813465818 12 | 1995,0,831240247768073,-0,0537808046363623,-0,114978947595567 13 | 1996,0,83370311655836,-0,0534540146854184,-0,112842868756223 14 | 1997,0,835782045639108,-0,05175149627278,-0,112466458088113 15 | 1998,0,837416736393321,-0,0529549675240784,-0,109628296082602 16 | 1999,0,838411898381087,-0,051923940556444,-0,109664161062471 17 | 2000,0,839416270694875,-0,054300448939769,-0,106283280365358 18 | 2001,0,839821631317325,-0,0551841315630418,-0,104994237119634 19 | 2002,0,843754530843483,-0,0534565604291162,-0,102788908727401 20 | 2003,0,843634119616259,-0,0530236097987813,-0,103342270584959 21 | 2004,0,846336591994747,-0,0535615930178311,-0,10010181498742 22 | 2005,0,845543727085031,-0,0543613206727817,-0,100094952242185 23 | 2006,0,847518698202812,-0,0550797132247307,-0,0974015885724548 24 | 2007,0,846652567043263,-0,0547109060981784,-0,0986365268585558 25 | 2008,0,847593065359047,-0,0559045421721568,-0,0965023924687942 26 | 2009,0,845778754097705,-0,0571802664415636,-0,0970409794607289 27 | 2010,0,848080492934655,-0,0565728886842346,-0,095346618381108 28 | 2011,0,847117438743382,-0,0567803417811913,-0,0961022194754248 29 | 2012,0,848113111278355,-0,0556111285121694,-0,0962757602094733 30 | 2013,0,848979520333296,-0,0552859230955676,-0,0957345565711346 31 | 2014,0,851572411826908,-0,0533411322784153,-0,0950864558946754 32 | 2015,0,850393547442114,-0,0527382478309295,-0,0968682047269546 33 | 2016,0,848327334181998,-0,0533772634888584,-0,0982954023291427 34 | 2017,0,847830737937782,-0,0530593939035562,-0,0991098681586605 35 | 2018,0,847637206766909,-0,0515204360882941,-0,100842357144796 -------------------------------------------------------------------------------- /1-general-map/utils/toNext_eval/table/acc_collections/col6_nv1.csv: -------------------------------------------------------------------------------- 1 | "Ano","Acurácia","Discordância de Área","Discordância de Alocação","X", "Y" 2 | 1985,0,801385504614088,-0,0244570920799148,-0,174157403306003 3 | 1986,0,806066090120093,-0,0226217488142187,-0,171312161065694 4 | 1987,0,810064618841076,-0,0282751003003834,-0,161660280858548 5 | 1988,0,810858543751482,-0,036680092563688,-0,152461363684835 6 | 1989,0,811841523256071,-0,0444020720328293,-0,143756404711105 7 | 1990,0,812651396358991,-0,0477779576194978,-0,139570646021517 8 | 1991,0,816997635261568,-0,0484780986170079,-0,134524266121429 9 | 1992,0,81905059655689,-0,0500569060526591,-0,130892497390454 10 | 1993,0,821654210334696,-0,050659540253434,-0,127686249411873 11 | 1994,0,822635538904414,-0,0524470202399319,-0,124917440855657 12 | 1995,0,824744138226046,-0,0531652938680495,-0,122090567905907 13 | 1996,0,826839733514255,-0,0539034477744988,-0,119256818711248 14 | 1997,0,830047570543982,-0,0518998606606082,-0,118052568795411 15 | 1998,0,831320576461056,-0,0537327685828651,-0,114946654956081 16 | 1999,0,832758995137285,-0,054947917675429,-0,112293087187288 17 | 2000,0,833046461027515,-0,0561176388694644,-0,110835900103022 18 | 2001,0,834435974453785,-0,0567708592062103,-0,108793166340006 19 | 2002,0,836345398605718,-0,0553735369443541,-0,108281064449927 20 | 2003,0,835829815909942,-0,0583296355503653,-0,105840548539692 21 | 2004,0,837440407912018,-0,0558131998730031,-0,106746392214978 22 | 2005,0,838798074696326,-0,0568181420840768,-0,104383783219595 23 | 2006,0,838571338188096,-0,0571212497388625,-0,104307412073039 24 | 2007,0,83917470195551,-0,0589379085401261,-0,101887389504362 25 | 2008,0,838701924440448,-0,060174816051422,-0,101123259508128 26 | 2009,0,838429811292734,-0,0606781247215759,-0,100892063985689 27 | 2010,0,839901111131683,-0,0595393646597613,-0,100559524208554 28 | 2011,0,840731250835393,-0,0597536269666708,-0,0995151221979352 29 | 2012,0,841349810735778,-0,0589571927605879,-0,0996929965036336 30 | 2013,0,84125198075779,-0,0609503342651994,-0,0977976849770095 31 | 2014,0,842495130211871,-0,0610648956179369,-0,0964399741701896 32 | 2015,0,841718563143771,-0,0618875801594078,-0,0963938566968201 33 | 2016,0,84139099995174,-0,0619713259686213,-0,0966376740796372 34 | 2017,0,839925771931489,-0,0624945735188298,-0,0975796545496796 35 | 2018,0,838994849170011,-0,0638729792812121,-0,0971321715487746 -------------------------------------------------------------------------------- /1-general-map/utils/misc/table/acc_classes/forest_commission_col6.csv: -------------------------------------------------------------------------------- 1 | year;forest;savanna;grassland;pasture;temp crop;permanent crop;forestry;mosaic;urban;water 2 | 1985,00;0,77;-0,17;0,00;-0,03;0,00;0,00;-0,02;0,00;0,00;0,00 3 | 1986,00;0,77;-0,17;0,00;-0,04;0,00;0,00;-0,02;0,00;0,00;0,00 4 | 1987,00;0,76;-0,16;0,00;-0,05;0,00;0,00;-0,02;0,00;0,00;0,00 5 | 1988,00;0,77;-0,16;0,00;-0,05;0,00;0,00;-0,02;0,00;0,00;0,00 6 | 1989,00;0,76;-0,15;0,00;-0,06;0,00;0,00;-0,02;0,00;0,00;0,00 7 | 1990,00;0,76;-0,15;0,00;-0,07;0,00;0,00;-0,02;0,00;0,00;0,00 8 | 1991,00;0,77;-0,15;0,00;-0,07;0,00;0,00;-0,01;0,00;0,00;0,00 9 | 1992,00;0,77;-0,15;0,00;-0,07;0,00;0,00;-0,01;0,00;0,00;0,00 10 | 1993,00;0,77;-0,15;0,00;-0,07;0,00;0,00;-0,01;0,00;0,00;0,00 11 | 1994,00;0,77;-0,15;0,00;-0,07;0,00;0,00;-0,01;0,00;0,00;0,00 12 | 1995,00;0,77;-0,15;0,00;-0,06;0,00;0,00;-0,01;0,00;0,00;0,00 13 | 1996,00;0,77;-0,15;0,00;-0,06;0,00;0,00;-0,01;0,00;0,00;0,00 14 | 1997,00;0,78;-0,15;0,00;-0,05;0,00;0,00;-0,01;0,00;0,00;0,00 15 | 1998,00;0,79;-0,15;0,00;-0,05;0,00;0,00;-0,01;0,00;0,00;0,00 16 | 1999,00;0,79;-0,14;0,00;-0,05;0,00;0,00;-0,01;0,00;0,00;0,00 17 | 2000,00;0,79;-0,14;0,00;-0,06;0,00;0,00;-0,01;0,00;0,00;0,00 18 | 2001,00;0,79;-0,14;0,00;-0,05;0,00;0,00;-0,01;0,00;0,00;0,00 19 | 2002,00;0,79;-0,14;0,00;-0,06;0,00;0,00;-0,01;0,00;0,00;0,00 20 | 2003,00;0,79;-0,14;0,00;-0,05;0,00;0,00;-0,01;0,00;0,00;0,00 21 | 2004,00;0,79;-0,14;0,00;-0,05;0,00;0,00;-0,01;0,00;0,00;0,00 22 | 2005,00;0,79;-0,14;0,00;-0,06;0,00;0,00;-0,01;0,00;0,00;0,00 23 | 2006,00;0,79;-0,14;0,00;-0,06;0,00;0,00;-0,01;0,00;0,00;0,00 24 | 2007,00;0,79;-0,14;0,00;-0,05;0,00;0,00;-0,01;0,00;0,00;0,00 25 | 2008,00;0,79;-0,14;0,00;-0,05;0,00;0,00;-0,01;0,00;0,00;0,00 26 | 2009,00;0,79;-0,14;0,00;-0,05;0,00;0,00;-0,01;0,00;0,00;0,00 27 | 2010,00;0,79;-0,14;0,00;-0,05;0,00;0,00;-0,01;0,00;0,00;0,00 28 | 2011,00;0,80;-0,14;0,00;-0,05;0,00;0,00;-0,01;0,00;0,00;0,00 29 | 2012,00;0,79;-0,14;0,00;-0,05;0,00;0,00;-0,01;0,00;0,00;0,00 30 | 2013,00;0,79;-0,13;0,00;-0,05;0,00;0,00;-0,02;0,00;0,00;0,00 31 | 2014,00;0,79;-0,13;0,00;-0,05;0,00;0,00;-0,01;0,00;0,00;0,00 32 | 2015,00;0,79;-0,13;0,00;-0,06;0,00;0,00;-0,01;0,00;0,00;0,00 33 | 2016,00;0,79;-0,13;0,00;-0,06;0,00;0,00;-0,01;0,00;0,00;0,00 34 | 2017,00;0,79;-0,13;0,00;-0,06;0,00;0,00;-0,01;0,00;0,00;0,00 35 | 2018,00;0,78;-0,13;0,00;-0,07;0,00;0,00;-0,01;0,00;0,00;0,00 36 | -------------------------------------------------------------------------------- /1-general-map/utils/misc/table/acc_classes/savanna_commission_col6.csv: -------------------------------------------------------------------------------- 1 | year;forest;savanna;grassland;pasture;temp crop;permanent crop;forestry;mosaic;urban;water 2 | 1985,00;-0,15;0,69;-0,07;-0,08;0,00;0,00;0,00;0,00;0,00;0,00 3 | 1986,00;-0,15;0,68;-0,07;-0,09;0,00;0,00;0,00;0,00;0,00;0,00 4 | 1987,00;-0,14;0,67;-0,07;-0,10;0,00;0,00;0,00;0,00;0,00;0,00 5 | 1988,00;-0,14;0,66;-0,07;-0,11;0,00;0,00;0,00;0,00;0,00;0,00 6 | 1989,00;-0,14;0,65;-0,07;-0,12;0,00;0,00;-0,01;0,00;0,00;0,00 7 | 1990,00;-0,14;0,65;-0,07;-0,13;0,00;0,00;-0,01;0,00;0,00;0,00 8 | 1991,00;-0,14;0,65;-0,07;-0,13;0,00;0,00;0,00;0,00;0,00;0,00 9 | 1992,00;-0,14;0,65;-0,07;-0,13;0,00;0,00;0,00;0,00;0,00;0,00 10 | 1993,00;-0,14;0,65;-0,07;-0,13;0,00;0,00;0,00;0,00;0,00;0,00 11 | 1994,00;-0,14;0,64;-0,07;-0,14;0,00;0,00;0,00;0,00;0,00;0,00 12 | 1995,00;-0,14;0,64;-0,07;-0,14;0,00;0,00;0,00;0,00;0,00;0,00 13 | 1996,00;-0,14;0,64;-0,07;-0,14;0,00;0,00;0,00;0,00;0,00;0,00 14 | 1997,00;-0,14;0,64;-0,07;-0,14;0,00;0,00;0,00;0,00;0,00;0,00 15 | 1998,00;-0,14;0,64;-0,07;-0,14;0,00;0,00;0,00;0,00;0,00;0,00 16 | 1999,00;-0,14;0,64;-0,07;-0,14;0,00;0,00;0,00;0,00;0,00;0,00 17 | 2000,00;-0,14;0,64;-0,07;-0,15;0,00;0,00;0,00;0,00;0,00;0,00 18 | 2001,00;-0,14;0,64;-0,07;-0,15;0,00;0,00;0,00;0,00;0,00;0,00 19 | 2002,00;-0,14;0,64;-0,07;-0,15;0,00;0,00;0,00;0,00;0,00;0,00 20 | 2003,00;-0,14;0,63;-0,07;-0,15;0,00;0,00;0,00;0,00;0,00;0,00 21 | 2004,00;-0,14;0,63;-0,07;-0,15;0,00;0,00;0,00;0,00;0,00;0,00 22 | 2005,00;-0,14;0,63;-0,07;-0,16;0,00;0,00;0,00;0,00;0,00;0,00 23 | 2006,00;-0,13;0,63;-0,07;-0,16;0,00;0,00;0,00;0,00;0,00;0,00 24 | 2007,00;-0,14;0,62;-0,07;-0,16;0,00;0,00;0,00;0,00;0,00;0,00 25 | 2008,00;-0,14;0,62;-0,07;-0,16;0,00;0,00;0,00;0,00;0,00;0,00 26 | 2009,00;-0,14;0,62;-0,07;-0,16;0,00;0,00;0,00;0,00;0,00;0,00 27 | 2010,00;-0,14;0,62;-0,07;-0,16;0,00;0,00;0,00;0,00;0,00;0,00 28 | 2011,00;-0,14;0,61;-0,07;-0,17;0,00;0,00;0,00;0,00;0,00;0,00 29 | 2012,00;-0,14;0,61;-0,07;-0,17;0,00;0,00;0,00;0,00;0,00;0,00 30 | 2013,00;-0,14;0,61;-0,07;-0,17;0,00;0,00;0,00;0,00;0,00;0,00 31 | 2014,00;-0,14;0,61;-0,07;-0,18;-0,01;0,00;0,00;0,00;0,00;0,00 32 | 2015,00;-0,13;0,61;-0,07;-0,18;0,00;0,00;-0,01;0,00;0,00;0,00 33 | 2016,00;-0,14;0,60;-0,07;-0,18;0,00;0,00;0,00;0,00;0,00;0,00 34 | 2017,00;-0,14;0,60;-0,07;-0,18;0,00;0,00;-0,01;0,00;0,00;0,00 35 | 2018,00;-0,13;0,60;-0,07;-0,19;0,00;0,00;0,00;0,00;0,00;0,00 36 | -------------------------------------------------------------------------------- /1-general-map/utils/misc/table/acc_classes_agro/forestry_commission.csv: -------------------------------------------------------------------------------- 1 | year;forest;savanna;grassland;pasture;temp crop;permanent crop;forestry;mosaic of;urban;water 2 | 1985,00;-0,04;-0,04;0,00;0,00;0,00;0,00;0,92;0,00;0,00;0,00 3 | 1986,00;-0,04;-0,04;0,00;0,00;0,00;0,00;0,92;0,00;0,00;0,00 4 | 1987,00;-0,04;-0,03;0,00;-0,01;0,00;0,00;0,91;0,00;0,00;0,00 5 | 1988,00;-0,08;-0,03;0,00;-0,02;0,00;0,00;0,88;0,00;0,00;0,00 6 | 1989,00;-0,08;-0,01;0,00;0,00;0,00;0,00;0,91;0,00;0,00;0,00 7 | 1990,00;-0,06;-0,01;0,00;-0,01;0,00;0,00;0,92;0,00;0,00;0,00 8 | 1991,00;-0,06;-0,02;0,00;-0,02;0,00;0,00;0,90;0,00;0,00;0,00 9 | 1992,00;-0,06;-0,01;0,00;-0,01;0,00;0,00;0,92;0,00;0,00;0,00 10 | 1993,00;-0,05;-0,01;0,00;0,00;0,00;-0,01;0,93;0,00;0,00;0,00 11 | 1994,00;-0,04;-0,01;0,00;-0,02;0,00;-0,01;0,92;0,00;0,00;0,00 12 | 1995,00;-0,03;-0,01;0,00;-0,02;0,00;-0,01;0,93;0,00;0,00;0,00 13 | 1996,00;-0,03;-0,01;0,00;-0,01;0,00;-0,01;0,95;0,00;0,00;0,00 14 | 1997,00;-0,02;-0,02;0,00;-0,03;0,00;-0,01;0,92;0,00;0,00;0,00 15 | 1998,00;-0,03;-0,02;0,00;-0,02;0,00;-0,01;0,93;0,00;0,00;0,00 16 | 1999,00;-0,03;-0,02;0,00;-0,03;0,00;-0,01;0,92;0,00;0,00;0,00 17 | 2000,00;-0,03;-0,02;0,00;-0,03;0,00;-0,01;0,91;0,00;0,00;0,00 18 | 2001,00;-0,03;-0,02;0,00;-0,04;0,00;-0,01;0,91;0,00;0,00;0,00 19 | 2002,00;-0,02;-0,02;0,00;-0,05;0,00;-0,01;0,90;0,00;0,00;0,00 20 | 2003,00;-0,02;-0,02;0,00;-0,07;0,00;-0,01;0,89;0,00;0,00;0,00 21 | 2004,00;-0,02;-0,01;0,00;-0,07;0,00;-0,01;0,90;0,00;0,00;0,00 22 | 2005,00;-0,02;-0,01;0,00;-0,06;0,00;-0,01;0,90;0,00;0,00;0,00 23 | 2006,00;-0,02;-0,01;0,00;-0,05;0,00;-0,01;0,92;0,00;0,00;0,00 24 | 2007,00;-0,01;-0,01;0,00;-0,05;0,00;-0,01;0,93;0,00;0,00;0,00 25 | 2008,00;-0,01;0,00;0,00;-0,04;0,00;-0,01;0,94;0,00;0,00;0,00 26 | 2009,00;-0,01;0,00;0,00;-0,03;0,00;0,00;0,96;0,00;0,00;0,00 27 | 2010,00;0,00;0,00;0,00;-0,02;0,00;-0,01;0,97;0,00;0,00;0,00 28 | 2011,00;0,00;0,00;0,00;-0,03;0,00;-0,01;0,96;0,00;0,00;0,00 29 | 2012,00;0,00;0,00;0,00;-0,03;0,00;-0,01;0,96;0,00;0,00;0,00 30 | 2013,00;0,00;0,00;0,00;-0,01;0,00;-0,01;0,98;0,00;0,00;0,00 31 | 2014,00;0,00;0,00;0,00;-0,01;0,00;-0,01;0,98;0,00;0,00;0,00 32 | 2015,00;0,00;0,00;0,00;0,00;0,00;-0,01;0,98;0,00;0,00;0,00 33 | 2016,00;-0,01;0,00;0,00;-0,01;0,00;-0,01;0,97;0,00;0,00;0,00 34 | 2017,00;0,00;0,00;0,00;-0,01;0,00;-0,01;0,98;0,00;0,00;0,00 35 | 2018,00;0,00;0,00;0,00;-0,01;0,00;-0,01;0,97;0,00;0,00;0,00 36 | -------------------------------------------------------------------------------- /1-general-map/utils/misc/table/acc_classes_agro/temp.crop_omission.csv: -------------------------------------------------------------------------------- 1 | year;forest;savanna;grassland;pasture;temp crop;permanent crop;forestry;mosaic of;urban;water 2 | 1985,00;-0,01;-0,02;-0,01;-0,26;0,70;0,00;0,00;0,00;0,00;0,00 3 | 1986,00;-0,01;-0,02;-0,02;-0,26;0,68;0,00;0,00;0,00;0,00;0,00 4 | 1987,00;-0,01;-0,02;-0,02;-0,25;0,71;0,00;0,00;0,00;0,00;0,00 5 | 1988,00;-0,01;-0,02;-0,02;-0,23;0,72;0,00;0,00;0,00;0,00;0,00 6 | 1989,00;0,00;-0,02;-0,02;-0,20;0,75;0,00;0,00;0,00;0,00;0,00 7 | 1990,00;0,00;-0,02;-0,02;-0,20;0,76;0,00;0,00;0,00;0,00;0,00 8 | 1991,00;0,00;-0,02;-0,02;-0,17;0,78;0,00;0,00;0,00;0,00;0,00 9 | 1992,00;0,00;-0,02;-0,02;-0,17;0,78;0,00;0,00;0,00;0,00;0,00 10 | 1993,00;0,00;-0,01;-0,02;-0,17;0,78;0,00;0,00;0,00;0,00;0,00 11 | 1994,00;-0,01;-0,01;-0,02;-0,17;0,79;0,00;0,00;0,00;0,00;0,00 12 | 1995,00;-0,01;-0,01;-0,02;-0,17;0,80;0,00;0,00;0,00;0,00;0,00 13 | 1996,00;-0,01;-0,01;-0,02;-0,16;0,81;0,00;0,00;0,00;0,00;0,00 14 | 1997,00;-0,01;-0,01;-0,02;-0,15;0,81;0,00;0,00;0,00;0,00;0,00 15 | 1998,00;0,00;-0,01;-0,02;-0,14;0,82;0,00;0,00;0,00;0,00;0,00 16 | 1999,00;0,00;-0,01;-0,01;-0,12;0,85;0,00;0,00;0,00;0,00;0,00 17 | 2000,00;0,00;-0,02;-0,01;-0,11;0,86;0,00;0,00;0,00;0,00;0,00 18 | 2001,00;0,00;-0,02;-0,01;-0,10;0,87;0,00;0,00;0,00;0,00;0,00 19 | 2002,00;0,00;-0,01;-0,01;-0,10;0,87;0,00;0,00;0,00;0,00;0,00 20 | 2003,00;0,00;-0,02;-0,01;-0,08;0,88;0,00;0,00;0,00;0,00;0,00 21 | 2004,00;0,00;-0,02;-0,01;-0,08;0,89;0,00;0,00;0,00;0,00;0,00 22 | 2005,00;0,00;-0,01;-0,01;-0,09;0,89;0,00;0,00;0,00;0,00;0,00 23 | 2006,00;0,00;-0,01;-0,01;-0,08;0,90;0,00;0,00;0,00;0,00;0,00 24 | 2007,00;0,00;-0,01;-0,01;-0,07;0,91;0,00;0,00;0,00;0,00;0,00 25 | 2008,00;0,00;-0,01;-0,01;-0,07;0,91;0,00;0,00;0,00;0,00;0,00 26 | 2009,00;0,00;-0,01;-0,01;-0,06;0,91;0,00;0,00;0,00;0,00;0,00 27 | 2010,00;0,00;-0,01;-0,01;-0,06;0,91;0,00;0,00;0,00;0,00;0,00 28 | 2011,00;0,00;-0,01;-0,01;-0,06;0,91;0,00;0,00;0,00;0,00;0,00 29 | 2012,00;0,00;-0,01;-0,01;-0,06;0,91;0,00;0,00;0,00;0,00;0,00 30 | 2013,00;0,00;-0,01;0,00;-0,07;0,91;0,00;0,00;0,00;0,00;0,00 31 | 2014,00;0,00;-0,01;0,00;-0,06;0,92;0,00;0,00;0,00;0,00;0,00 32 | 2015,00;0,00;-0,01;-0,01;-0,05;0,93;0,00;0,00;0,00;0,00;0,00 33 | 2016,00;0,00;-0,01;0,00;-0,04;0,94;0,00;0,00;0,00;0,00;0,00 34 | 2017,00;0,00;-0,01;0,00;-0,04;0,94;0,00;0,00;0,00;0,00;0,00 35 | 2018,00;0,00;-0,01;0,00;-0,04;0,94;0,00;0,00;0,00;0,00;0,00 36 | -------------------------------------------------------------------------------- /1-general-map/utils/toNext_eval/table/acc_classes/6/forest_commission_col6.csv: -------------------------------------------------------------------------------- 1 | year;forest;savanna;grassland;pasture;temp crop;permanent crop;forestry;mosaic;urban;water 2 | 1985,00;0,77;-0,17;0,00;-0,03;0,00;0,00;-0,02;0,00;0,00;0,00 3 | 1986,00;0,77;-0,17;0,00;-0,04;0,00;0,00;-0,02;0,00;0,00;0,00 4 | 1987,00;0,76;-0,16;0,00;-0,05;0,00;0,00;-0,02;0,00;0,00;0,00 5 | 1988,00;0,77;-0,16;0,00;-0,05;0,00;0,00;-0,02;0,00;0,00;0,00 6 | 1989,00;0,76;-0,15;0,00;-0,06;0,00;0,00;-0,02;0,00;0,00;0,00 7 | 1990,00;0,76;-0,15;0,00;-0,07;0,00;0,00;-0,02;0,00;0,00;0,00 8 | 1991,00;0,77;-0,15;0,00;-0,07;0,00;0,00;-0,01;0,00;0,00;0,00 9 | 1992,00;0,77;-0,15;0,00;-0,07;0,00;0,00;-0,01;0,00;0,00;0,00 10 | 1993,00;0,77;-0,15;0,00;-0,07;0,00;0,00;-0,01;0,00;0,00;0,00 11 | 1994,00;0,77;-0,15;0,00;-0,07;0,00;0,00;-0,01;0,00;0,00;0,00 12 | 1995,00;0,77;-0,15;0,00;-0,06;0,00;0,00;-0,01;0,00;0,00;0,00 13 | 1996,00;0,77;-0,15;0,00;-0,06;0,00;0,00;-0,01;0,00;0,00;0,00 14 | 1997,00;0,78;-0,15;0,00;-0,05;0,00;0,00;-0,01;0,00;0,00;0,00 15 | 1998,00;0,79;-0,15;0,00;-0,05;0,00;0,00;-0,01;0,00;0,00;0,00 16 | 1999,00;0,79;-0,14;0,00;-0,05;0,00;0,00;-0,01;0,00;0,00;0,00 17 | 2000,00;0,79;-0,14;0,00;-0,06;0,00;0,00;-0,01;0,00;0,00;0,00 18 | 2001,00;0,79;-0,14;0,00;-0,05;0,00;0,00;-0,01;0,00;0,00;0,00 19 | 2002,00;0,79;-0,14;0,00;-0,06;0,00;0,00;-0,01;0,00;0,00;0,00 20 | 2003,00;0,79;-0,14;0,00;-0,05;0,00;0,00;-0,01;0,00;0,00;0,00 21 | 2004,00;0,79;-0,14;0,00;-0,05;0,00;0,00;-0,01;0,00;0,00;0,00 22 | 2005,00;0,79;-0,14;0,00;-0,06;0,00;0,00;-0,01;0,00;0,00;0,00 23 | 2006,00;0,79;-0,14;0,00;-0,06;0,00;0,00;-0,01;0,00;0,00;0,00 24 | 2007,00;0,79;-0,14;0,00;-0,05;0,00;0,00;-0,01;0,00;0,00;0,00 25 | 2008,00;0,79;-0,14;0,00;-0,05;0,00;0,00;-0,01;0,00;0,00;0,00 26 | 2009,00;0,79;-0,14;0,00;-0,05;0,00;0,00;-0,01;0,00;0,00;0,00 27 | 2010,00;0,79;-0,14;0,00;-0,05;0,00;0,00;-0,01;0,00;0,00;0,00 28 | 2011,00;0,80;-0,14;0,00;-0,05;0,00;0,00;-0,01;0,00;0,00;0,00 29 | 2012,00;0,79;-0,14;0,00;-0,05;0,00;0,00;-0,01;0,00;0,00;0,00 30 | 2013,00;0,79;-0,13;0,00;-0,05;0,00;0,00;-0,02;0,00;0,00;0,00 31 | 2014,00;0,79;-0,13;0,00;-0,05;0,00;0,00;-0,01;0,00;0,00;0,00 32 | 2015,00;0,79;-0,13;0,00;-0,06;0,00;0,00;-0,01;0,00;0,00;0,00 33 | 2016,00;0,79;-0,13;0,00;-0,06;0,00;0,00;-0,01;0,00;0,00;0,00 34 | 2017,00;0,79;-0,13;0,00;-0,06;0,00;0,00;-0,01;0,00;0,00;0,00 35 | 2018,00;0,78;-0,13;0,00;-0,07;0,00;0,00;-0,01;0,00;0,00;0,00 36 | -------------------------------------------------------------------------------- /1-general-map/utils/misc/table/acc_classes/grassland_omission_col6.csv: -------------------------------------------------------------------------------- 1 | year;forest;savanna;grassland;pasture;temp crop;permanent crop;forestry;mosaic;urban;water 2 | 1985,00;0,00;-0,28;0,57;-0,06;-0,01;0,00;0,00;-0,07;0,00;0,00 3 | 1986,00;0,00;-0,28;0,57;-0,06;-0,01;0,00;0,00;-0,07;0,00;0,00 4 | 1987,00;0,00;-0,29;0,58;-0,06;-0,01;0,00;0,00;-0,06;0,00;0,00 5 | 1988,00;0,00;-0,29;0,58;-0,06;-0,01;0,00;0,00;-0,06;0,00;0,00 6 | 1989,00;0,00;-0,29;0,58;-0,06;0,00;0,00;0,00;-0,06;0,00;0,00 7 | 1990,00;0,00;-0,29;0,58;-0,07;-0,01;0,00;0,00;-0,05;0,00;0,00 8 | 1991,00;0,00;-0,29;0,58;-0,07;-0,01;0,00;0,00;-0,05;0,00;0,00 9 | 1992,00;0,00;-0,29;0,58;-0,07;0,00;0,00;0,00;-0,05;0,00;0,00 10 | 1993,00;0,00;-0,29;0,58;-0,07;0,00;0,00;0,00;-0,05;0,00;0,00 11 | 1994,00;0,00;-0,29;0,59;-0,07;0,00;0,00;0,00;-0,05;0,00;0,00 12 | 1995,00;0,00;-0,29;0,59;-0,07;0,00;0,00;0,00;-0,04;0,00;0,00 13 | 1996,00;-0,01;-0,28;0,60;-0,07;0,00;0,00;0,00;-0,04;0,00;0,00 14 | 1997,00;0,00;-0,28;0,59;-0,08;0,00;0,00;0,00;-0,04;0,00;0,00 15 | 1998,00;0,00;-0,28;0,60;-0,08;0,00;0,00;0,00;-0,03;0,00;0,00 16 | 1999,00;0,00;-0,28;0,60;-0,07;0,00;0,00;0,00;-0,03;0,00;0,00 17 | 2000,00;0,00;-0,28;0,60;-0,07;0,00;0,00;0,00;-0,03;0,00;0,00 18 | 2001,00;0,00;-0,28;0,61;-0,07;0,00;0,00;0,00;-0,04;0,00;0,00 19 | 2002,00;0,00;-0,28;0,61;-0,06;0,00;0,00;0,00;-0,04;0,00;0,00 20 | 2003,00;0,00;-0,28;0,61;-0,07;0,00;0,00;0,00;-0,04;0,00;0,00 21 | 2004,00;0,00;-0,28;0,61;-0,07;0,00;0,00;0,00;-0,04;0,00;0,00 22 | 2005,00;-0,01;-0,28;0,61;-0,07;0,00;0,00;0,00;-0,03;0,00;0,00 23 | 2006,00;-0,01;-0,28;0,61;-0,07;0,00;0,00;0,00;-0,03;0,00;0,00 24 | 2007,00;-0,01;-0,28;0,61;-0,07;0,00;0,00;0,00;-0,03;0,00;0,00 25 | 2008,00;-0,01;-0,28;0,61;-0,07;0,00;0,00;0,00;-0,03;0,00;0,00 26 | 2009,00;-0,01;-0,28;0,61;-0,07;0,00;0,00;0,00;-0,03;0,00;0,00 27 | 2010,00;-0,01;-0,28;0,62;-0,07;0,00;0,00;0,00;-0,03;0,00;0,00 28 | 2011,00;-0,01;-0,28;0,62;-0,07;0,00;0,00;0,00;-0,03;0,00;0,00 29 | 2012,00;-0,01;-0,28;0,62;-0,06;0,00;0,00;0,00;-0,04;0,00;0,00 30 | 2013,00;0,00;-0,28;0,62;-0,06;0,00;0,00;0,00;-0,04;0,00;0,00 31 | 2014,00;0,00;-0,27;0,62;-0,06;0,00;0,00;0,00;-0,04;0,00;0,00 32 | 2015,00;0,00;-0,27;0,62;-0,07;0,00;0,00;0,00;-0,04;0,00;0,00 33 | 2016,00;0,00;-0,27;0,62;-0,07;0,00;0,00;0,00;-0,03;0,00;0,00 34 | 2017,00;0,00;-0,27;0,62;-0,06;0,00;0,00;0,00;-0,04;0,00;0,00 35 | 2018,00;0,00;-0,28;0,62;-0,06;0,00;0,00;0,00;-0,04;0,00;0,00 36 | -------------------------------------------------------------------------------- /1-general-map/utils/toNext_eval/table/acc_classes/6/savanna_commission_col6.csv: -------------------------------------------------------------------------------- 1 | year;forest;savanna;grassland;pasture;temp crop;permanent crop;forestry;mosaic;urban;water 2 | 1985,00;-0,15;0,69;-0,07;-0,08;0,00;0,00;0,00;0,00;0,00;0,00 3 | 1986,00;-0,15;0,68;-0,07;-0,09;0,00;0,00;0,00;0,00;0,00;0,00 4 | 1987,00;-0,14;0,67;-0,07;-0,10;0,00;0,00;0,00;0,00;0,00;0,00 5 | 1988,00;-0,14;0,66;-0,07;-0,11;0,00;0,00;0,00;0,00;0,00;0,00 6 | 1989,00;-0,14;0,65;-0,07;-0,12;0,00;0,00;-0,01;0,00;0,00;0,00 7 | 1990,00;-0,14;0,65;-0,07;-0,13;0,00;0,00;-0,01;0,00;0,00;0,00 8 | 1991,00;-0,14;0,65;-0,07;-0,13;0,00;0,00;0,00;0,00;0,00;0,00 9 | 1992,00;-0,14;0,65;-0,07;-0,13;0,00;0,00;0,00;0,00;0,00;0,00 10 | 1993,00;-0,14;0,65;-0,07;-0,13;0,00;0,00;0,00;0,00;0,00;0,00 11 | 1994,00;-0,14;0,64;-0,07;-0,14;0,00;0,00;0,00;0,00;0,00;0,00 12 | 1995,00;-0,14;0,64;-0,07;-0,14;0,00;0,00;0,00;0,00;0,00;0,00 13 | 1996,00;-0,14;0,64;-0,07;-0,14;0,00;0,00;0,00;0,00;0,00;0,00 14 | 1997,00;-0,14;0,64;-0,07;-0,14;0,00;0,00;0,00;0,00;0,00;0,00 15 | 1998,00;-0,14;0,64;-0,07;-0,14;0,00;0,00;0,00;0,00;0,00;0,00 16 | 1999,00;-0,14;0,64;-0,07;-0,14;0,00;0,00;0,00;0,00;0,00;0,00 17 | 2000,00;-0,14;0,64;-0,07;-0,15;0,00;0,00;0,00;0,00;0,00;0,00 18 | 2001,00;-0,14;0,64;-0,07;-0,15;0,00;0,00;0,00;0,00;0,00;0,00 19 | 2002,00;-0,14;0,64;-0,07;-0,15;0,00;0,00;0,00;0,00;0,00;0,00 20 | 2003,00;-0,14;0,63;-0,07;-0,15;0,00;0,00;0,00;0,00;0,00;0,00 21 | 2004,00;-0,14;0,63;-0,07;-0,15;0,00;0,00;0,00;0,00;0,00;0,00 22 | 2005,00;-0,14;0,63;-0,07;-0,16;0,00;0,00;0,00;0,00;0,00;0,00 23 | 2006,00;-0,13;0,63;-0,07;-0,16;0,00;0,00;0,00;0,00;0,00;0,00 24 | 2007,00;-0,14;0,62;-0,07;-0,16;0,00;0,00;0,00;0,00;0,00;0,00 25 | 2008,00;-0,14;0,62;-0,07;-0,16;0,00;0,00;0,00;0,00;0,00;0,00 26 | 2009,00;-0,14;0,62;-0,07;-0,16;0,00;0,00;0,00;0,00;0,00;0,00 27 | 2010,00;-0,14;0,62;-0,07;-0,16;0,00;0,00;0,00;0,00;0,00;0,00 28 | 2011,00;-0,14;0,61;-0,07;-0,17;0,00;0,00;0,00;0,00;0,00;0,00 29 | 2012,00;-0,14;0,61;-0,07;-0,17;0,00;0,00;0,00;0,00;0,00;0,00 30 | 2013,00;-0,14;0,61;-0,07;-0,17;0,00;0,00;0,00;0,00;0,00;0,00 31 | 2014,00;-0,14;0,61;-0,07;-0,18;-0,01;0,00;0,00;0,00;0,00;0,00 32 | 2015,00;-0,13;0,61;-0,07;-0,18;0,00;0,00;-0,01;0,00;0,00;0,00 33 | 2016,00;-0,14;0,60;-0,07;-0,18;0,00;0,00;0,00;0,00;0,00;0,00 34 | 2017,00;-0,14;0,60;-0,07;-0,18;0,00;0,00;-0,01;0,00;0,00;0,00 35 | 2018,00;-0,13;0,60;-0,07;-0,19;0,00;0,00;0,00;0,00;0,00;0,00 36 | -------------------------------------------------------------------------------- /1-general-map/utils/misc/table/acc_classes/forest_omission_col6.csv: -------------------------------------------------------------------------------- 1 | year;forest;savanna;grassland;pasture;temp crop;permanent crop;forestry;mosaic;urban;water 2 | 1985,00;0,67;-0,26;-0,01;-0,01;0,00;0,00;0,00;-0,04;0,00;0,00 3 | 1986,00;0,68;-0,26;-0,01;-0,01;0,00;0,00;0,00;-0,03;0,00;0,00 4 | 1987,00;0,69;-0,27;-0,01;-0,01;0,00;0,00;0,00;-0,02;0,00;0,00 5 | 1988,00;0,69;-0,27;-0,01;-0,01;0,00;0,00;0,00;-0,02;0,00;0,00 6 | 1989,00;0,69;-0,27;-0,01;-0,01;0,00;0,00;0,00;-0,02;0,00;0,00 7 | 1990,00;0,69;-0,28;-0,01;-0,01;0,00;0,00;0,00;-0,01;0,00;0,00 8 | 1991,00;0,69;-0,28;-0,01;-0,01;0,00;0,00;0,00;-0,01;0,00;0,00 9 | 1992,00;0,69;-0,28;-0,01;-0,01;0,00;0,00;0,00;-0,01;0,00;0,00 10 | 1993,00;0,69;-0,28;-0,01;-0,01;0,00;0,00;0,00;-0,01;0,00;0,00 11 | 1994,00;0,69;-0,27;-0,01;-0,01;0,00;0,00;0,00;-0,01;0,00;0,00 12 | 1995,00;0,69;-0,27;-0,01;-0,01;0,00;0,00;0,00;-0,01;0,00;0,00 13 | 1996,00;0,69;-0,27;-0,01;-0,01;0,00;0,00;0,00;-0,01;0,00;0,00 14 | 1997,00;0,70;-0,27;-0,01;-0,01;0,00;0,00;0,00;-0,01;0,00;0,00 15 | 1998,00;0,70;-0,27;-0,01;-0,01;0,00;0,00;0,00;-0,01;0,00;0,00 16 | 1999,00;0,70;-0,27;-0,01;0,00;0,00;0,00;0,00;-0,01;0,00;0,00 17 | 2000,00;0,70;-0,27;-0,01;0,00;0,00;0,00;0,00;-0,01;0,00;0,00 18 | 2001,00;0,71;-0,26;-0,01;0,00;0,00;0,00;0,00;-0,01;0,00;0,00 19 | 2002,00;0,71;-0,26;-0,01;0,00;0,00;0,00;0,00;-0,01;0,00;0,00 20 | 2003,00;0,71;-0,26;-0,01;-0,01;0,00;0,00;0,00;-0,01;0,00;0,00 21 | 2004,00;0,71;-0,26;-0,01;-0,01;0,00;0,00;0,00;-0,01;0,00;0,00 22 | 2005,00;0,71;-0,26;-0,01;-0,01;0,00;0,00;0,00;-0,01;0,00;0,00 23 | 2006,00;0,71;-0,26;-0,01;-0,01;0,00;0,00;0,00;-0,01;0,00;0,00 24 | 2007,00;0,71;-0,26;-0,01;-0,01;0,00;0,00;0,00;-0,01;0,00;0,00 25 | 2008,00;0,71;-0,26;-0,01;-0,01;0,00;0,00;0,00;-0,01;0,00;0,00 26 | 2009,00;0,71;-0,26;-0,01;-0,01;0,00;0,00;0,00;-0,01;0,00;0,00 27 | 2010,00;0,71;-0,26;-0,01;-0,01;0,00;0,00;0,00;-0,01;0,00;0,00 28 | 2011,00;0,71;-0,26;-0,01;0,00;0,00;0,00;0,00;-0,01;0,00;0,00 29 | 2012,00;0,71;-0,26;-0,01;-0,01;0,00;0,00;0,00;-0,01;0,00;0,00 30 | 2013,00;0,71;-0,26;-0,01;0,00;0,00;0,00;0,00;-0,01;0,00;0,00 31 | 2014,00;0,72;-0,26;-0,01;0,00;0,00;0,00;0,00;-0,01;0,00;0,00 32 | 2015,00;0,72;-0,25;-0,01;0,00;0,00;0,00;0,00;-0,01;0,00;0,00 33 | 2016,00;0,71;-0,26;-0,01;0,00;0,00;0,00;0,00;-0,01;0,00;0,00 34 | 2017,00;0,71;-0,26;-0,01;0,00;0,00;0,00;0,00;-0,02;0,00;0,00 35 | 2018,00;0,71;-0,25;-0,01;0,00;0,00;0,00;0,00;-0,02;0,00;0,00 36 | -------------------------------------------------------------------------------- /1-general-map/utils/toNext_eval/table/acc_classes/6/grassland_omission_col6.csv: -------------------------------------------------------------------------------- 1 | year;forest;savanna;grassland;pasture;temp crop;permanent crop;forestry;mosaic;urban;water 2 | 1985,00;0,00;-0,28;0,57;-0,06;-0,01;0,00;0,00;-0,07;0,00;0,00 3 | 1986,00;0,00;-0,28;0,57;-0,06;-0,01;0,00;0,00;-0,07;0,00;0,00 4 | 1987,00;0,00;-0,29;0,58;-0,06;-0,01;0,00;0,00;-0,06;0,00;0,00 5 | 1988,00;0,00;-0,29;0,58;-0,06;-0,01;0,00;0,00;-0,06;0,00;0,00 6 | 1989,00;0,00;-0,29;0,58;-0,06;0,00;0,00;0,00;-0,06;0,00;0,00 7 | 1990,00;0,00;-0,29;0,58;-0,07;-0,01;0,00;0,00;-0,05;0,00;0,00 8 | 1991,00;0,00;-0,29;0,58;-0,07;-0,01;0,00;0,00;-0,05;0,00;0,00 9 | 1992,00;0,00;-0,29;0,58;-0,07;0,00;0,00;0,00;-0,05;0,00;0,00 10 | 1993,00;0,00;-0,29;0,58;-0,07;0,00;0,00;0,00;-0,05;0,00;0,00 11 | 1994,00;0,00;-0,29;0,59;-0,07;0,00;0,00;0,00;-0,05;0,00;0,00 12 | 1995,00;0,00;-0,29;0,59;-0,07;0,00;0,00;0,00;-0,04;0,00;0,00 13 | 1996,00;-0,01;-0,28;0,60;-0,07;0,00;0,00;0,00;-0,04;0,00;0,00 14 | 1997,00;0,00;-0,28;0,59;-0,08;0,00;0,00;0,00;-0,04;0,00;0,00 15 | 1998,00;0,00;-0,28;0,60;-0,08;0,00;0,00;0,00;-0,03;0,00;0,00 16 | 1999,00;0,00;-0,28;0,60;-0,07;0,00;0,00;0,00;-0,03;0,00;0,00 17 | 2000,00;0,00;-0,28;0,60;-0,07;0,00;0,00;0,00;-0,03;0,00;0,00 18 | 2001,00;0,00;-0,28;0,61;-0,07;0,00;0,00;0,00;-0,04;0,00;0,00 19 | 2002,00;0,00;-0,28;0,61;-0,06;0,00;0,00;0,00;-0,04;0,00;0,00 20 | 2003,00;0,00;-0,28;0,61;-0,07;0,00;0,00;0,00;-0,04;0,00;0,00 21 | 2004,00;0,00;-0,28;0,61;-0,07;0,00;0,00;0,00;-0,04;0,00;0,00 22 | 2005,00;-0,01;-0,28;0,61;-0,07;0,00;0,00;0,00;-0,03;0,00;0,00 23 | 2006,00;-0,01;-0,28;0,61;-0,07;0,00;0,00;0,00;-0,03;0,00;0,00 24 | 2007,00;-0,01;-0,28;0,61;-0,07;0,00;0,00;0,00;-0,03;0,00;0,00 25 | 2008,00;-0,01;-0,28;0,61;-0,07;0,00;0,00;0,00;-0,03;0,00;0,00 26 | 2009,00;-0,01;-0,28;0,61;-0,07;0,00;0,00;0,00;-0,03;0,00;0,00 27 | 2010,00;-0,01;-0,28;0,62;-0,07;0,00;0,00;0,00;-0,03;0,00;0,00 28 | 2011,00;-0,01;-0,28;0,62;-0,07;0,00;0,00;0,00;-0,03;0,00;0,00 29 | 2012,00;-0,01;-0,28;0,62;-0,06;0,00;0,00;0,00;-0,04;0,00;0,00 30 | 2013,00;0,00;-0,28;0,62;-0,06;0,00;0,00;0,00;-0,04;0,00;0,00 31 | 2014,00;0,00;-0,27;0,62;-0,06;0,00;0,00;0,00;-0,04;0,00;0,00 32 | 2015,00;0,00;-0,27;0,62;-0,07;0,00;0,00;0,00;-0,04;0,00;0,00 33 | 2016,00;0,00;-0,27;0,62;-0,07;0,00;0,00;0,00;-0,03;0,00;0,00 34 | 2017,00;0,00;-0,27;0,62;-0,06;0,00;0,00;0,00;-0,04;0,00;0,00 35 | 2018,00;0,00;-0,28;0,62;-0,06;0,00;0,00;0,00;-0,04;0,00;0,00 36 | -------------------------------------------------------------------------------- /1-general-map/utils/misc/table/acc_classes/grassland_commission_col6.csv: -------------------------------------------------------------------------------- 1 | year;forest;savanna;grassland;pasture;temp crop;permanent crop;forestry;mosaic;urban;water 2 | 1985,00;-0,02;-0,37;0,47;-0,13;0,00;0,00;0,00;0,00;0,00;0,00 3 | 1986,00;-0,02;-0,37;0,46;-0,14;0,00;0,00;0,00;0,00;0,00;0,00 4 | 1987,00;-0,02;-0,36;0,47;-0,14;0,00;0,00;0,00;0,00;0,00;0,00 5 | 1988,00;-0,02;-0,36;0,47;-0,14;-0,01;0,00;0,00;0,00;0,00;0,00 6 | 1989,00;-0,02;-0,35;0,47;-0,15;-0,01;0,00;0,00;0,00;0,00;0,00 7 | 1990,00;-0,02;-0,35;0,47;-0,15;-0,01;0,00;0,00;0,00;0,00;0,00 8 | 1991,00;-0,02;-0,35;0,47;-0,15;-0,01;0,00;0,00;0,00;0,00;0,00 9 | 1992,00;-0,02;-0,35;0,47;-0,15;-0,01;0,00;0,00;0,00;0,00;0,00 10 | 1993,00;-0,02;-0,35;0,47;-0,15;-0,01;0,00;0,00;0,00;0,00;0,00 11 | 1994,00;-0,02;-0,34;0,47;-0,16;-0,01;0,00;0,00;0,00;0,00;0,00 12 | 1995,00;-0,02;-0,34;0,47;-0,16;-0,01;0,00;0,00;0,00;0,00;0,00 13 | 1996,00;-0,02;-0,34;0,47;-0,16;-0,01;0,00;0,00;0,00;0,00;0,00 14 | 1997,00;-0,02;-0,34;0,46;-0,17;-0,01;0,00;0,00;0,00;0,00;0,00 15 | 1998,00;-0,02;-0,33;0,46;-0,17;-0,01;0,00;0,00;0,00;0,00;0,00 16 | 1999,00;-0,02;-0,33;0,46;-0,18;-0,01;0,00;0,00;0,00;0,00;0,00 17 | 2000,00;-0,02;-0,33;0,46;-0,18;-0,01;0,00;0,00;0,00;0,00;0,00 18 | 2001,00;-0,02;-0,33;0,47;-0,18;0,00;0,00;0,00;0,00;0,00;0,00 19 | 2002,00;-0,01;-0,33;0,47;-0,18;-0,01;0,00;0,00;0,00;0,00;0,00 20 | 2003,00;-0,01;-0,33;0,46;-0,18;-0,01;0,00;0,00;0,00;0,00;0,00 21 | 2004,00;-0,02;-0,33;0,46;-0,18;-0,01;0,00;0,00;0,00;0,00;0,00 22 | 2005,00;-0,01;-0,33;0,47;-0,18;-0,01;0,00;0,00;0,00;0,00;0,00 23 | 2006,00;-0,02;-0,33;0,46;-0,18;0,00;0,00;0,00;0,00;0,00;0,00 24 | 2007,00;-0,02;-0,33;0,46;-0,18;-0,01;0,00;0,00;0,00;0,00;0,00 25 | 2008,00;-0,02;-0,33;0,46;-0,18;-0,01;0,00;0,00;0,00;0,00;0,00 26 | 2009,00;-0,02;-0,33;0,46;-0,18;-0,01;0,00;0,00;0,00;0,00;0,00 27 | 2010,00;-0,02;-0,33;0,46;-0,18;-0,01;0,00;0,00;0,00;0,00;0,00 28 | 2011,00;-0,02;-0,33;0,47;-0,17;-0,01;0,00;0,00;0,00;0,00;0,00 29 | 2012,00;-0,02;-0,34;0,47;-0,16;-0,01;0,00;0,00;0,00;0,00;0,00 30 | 2013,00;-0,02;-0,34;0,47;-0,16;0,00;0,00;0,00;0,00;0,00;0,00 31 | 2014,00;-0,02;-0,33;0,48;-0,16;0,00;0,00;0,00;0,00;0,00;0,00 32 | 2015,00;-0,02;-0,33;0,47;-0,16;-0,01;0,00;0,00;0,00;0,00;0,00 33 | 2016,00;-0,02;-0,33;0,47;-0,16;-0,01;0,00;0,00;0,00;0,00;0,00 34 | 2017,00;-0,02;-0,33;0,47;-0,16;-0,01;0,00;0,00;0,00;0,00;0,00 35 | 2018,00;-0,02;-0,33;0,47;-0,17;-0,01;0,00;0,00;0,00;0,00;0,00 36 | -------------------------------------------------------------------------------- /1-general-map/utils/misc/table/acc_classes/savanna_omission_col6.csv: -------------------------------------------------------------------------------- 1 | year;forest;savanna;grassland;pasture;temp crop;permanent crop;forestry;mosaic;urban;water 2 | 1985,00;-0,08;0,70;-0,13;-0,03;0,00;0,00;0,00;-0,06;0,00;0,00 3 | 1986,00;-0,08;0,71;-0,13;-0,03;0,00;0,00;0,00;-0,05;0,00;0,00 4 | 1987,00;-0,08;0,72;-0,12;-0,02;0,00;0,00;0,00;-0,04;0,00;0,00 5 | 1988,00;-0,08;0,73;-0,13;-0,02;0,00;0,00;0,00;-0,04;0,00;0,00 6 | 1989,00;-0,08;0,74;-0,13;-0,02;0,00;0,00;0,00;-0,04;0,00;0,00 7 | 1990,00;-0,08;0,74;-0,13;-0,02;0,00;0,00;0,00;-0,03;0,00;0,00 8 | 1991,00;-0,08;0,74;-0,13;-0,02;0,00;0,00;0,00;-0,03;0,00;0,00 9 | 1992,00;-0,08;0,75;-0,13;-0,02;0,00;0,00;0,00;-0,03;0,00;0,00 10 | 1993,00;-0,08;0,75;-0,13;-0,02;0,00;0,00;0,00;-0,03;0,00;0,00 11 | 1994,00;-0,08;0,75;-0,13;-0,02;0,00;0,00;0,00;-0,03;0,00;0,00 12 | 1995,00;-0,08;0,75;-0,13;-0,02;0,00;0,00;0,00;-0,03;0,00;0,00 13 | 1996,00;-0,08;0,75;-0,13;-0,02;0,00;0,00;0,00;-0,03;0,00;0,00 14 | 1997,00;-0,08;0,75;-0,13;-0,02;0,00;0,00;0,00;-0,03;0,00;0,00 15 | 1998,00;-0,08;0,75;-0,13;-0,02;0,00;0,00;0,00;-0,02;0,00;0,00 16 | 1999,00;-0,08;0,75;-0,13;-0,02;0,00;0,00;0,00;-0,02;0,00;0,00 17 | 2000,00;-0,08;0,75;-0,13;-0,02;0,00;0,00;0,00;-0,03;0,00;0,00 18 | 2001,00;-0,08;0,75;-0,13;-0,01;0,00;0,00;0,00;-0,03;0,00;0,00 19 | 2002,00;-0,08;0,75;-0,13;-0,01;0,00;0,00;0,00;-0,03;0,00;0,00 20 | 2003,00;-0,08;0,75;-0,13;-0,01;0,00;0,00;0,00;-0,03;0,00;0,00 21 | 2004,00;-0,08;0,75;-0,13;-0,01;0,00;0,00;0,00;-0,03;0,00;0,00 22 | 2005,00;-0,08;0,75;-0,13;-0,01;0,00;0,00;0,00;-0,03;0,00;0,00 23 | 2006,00;-0,08;0,75;-0,13;-0,01;0,00;0,00;0,00;-0,03;0,00;0,00 24 | 2007,00;-0,08;0,75;-0,13;-0,01;0,00;0,00;0,00;-0,03;0,00;0,00 25 | 2008,00;-0,08;0,75;-0,13;-0,01;0,00;0,00;0,00;-0,03;0,00;0,00 26 | 2009,00;-0,08;0,74;-0,13;-0,01;0,00;0,00;0,00;-0,03;0,00;0,00 27 | 2010,00;-0,08;0,75;-0,13;-0,01;0,00;0,00;0,00;-0,03;0,00;0,00 28 | 2011,00;-0,08;0,75;-0,14;-0,01;0,00;0,00;0,00;-0,03;0,00;0,00 29 | 2012,00;-0,08;0,74;-0,14;-0,01;0,00;0,00;0,00;-0,03;0,00;0,00 30 | 2013,00;-0,08;0,74;-0,14;-0,01;0,00;0,00;0,00;-0,03;0,00;0,00 31 | 2014,00;-0,08;0,74;-0,14;-0,02;0,00;0,00;0,00;-0,03;0,00;0,00 32 | 2015,00;-0,08;0,74;-0,14;-0,01;0,00;0,00;0,00;-0,03;0,00;0,00 33 | 2016,00;-0,08;0,74;-0,14;-0,01;0,00;0,00;0,00;-0,03;0,00;0,00 34 | 2017,00;-0,08;0,74;-0,14;-0,01;0,00;0,00;0,00;-0,03;0,00;0,00 35 | 2018,00;-0,08;0,74;-0,14;-0,01;0,00;0,00;0,00;-0,03;0,00;0,00 36 | -------------------------------------------------------------------------------- /1-general-map/utils/toNext_eval/table/acc_classes/6/forest_omission_col6.csv: -------------------------------------------------------------------------------- 1 | year;forest;savanna;grassland;pasture;temp crop;permanent crop;forestry;mosaic;urban;water 2 | 1985,00;0,67;-0,26;-0,01;-0,01;0,00;0,00;0,00;-0,04;0,00;0,00 3 | 1986,00;0,68;-0,26;-0,01;-0,01;0,00;0,00;0,00;-0,03;0,00;0,00 4 | 1987,00;0,69;-0,27;-0,01;-0,01;0,00;0,00;0,00;-0,02;0,00;0,00 5 | 1988,00;0,69;-0,27;-0,01;-0,01;0,00;0,00;0,00;-0,02;0,00;0,00 6 | 1989,00;0,69;-0,27;-0,01;-0,01;0,00;0,00;0,00;-0,02;0,00;0,00 7 | 1990,00;0,69;-0,28;-0,01;-0,01;0,00;0,00;0,00;-0,01;0,00;0,00 8 | 1991,00;0,69;-0,28;-0,01;-0,01;0,00;0,00;0,00;-0,01;0,00;0,00 9 | 1992,00;0,69;-0,28;-0,01;-0,01;0,00;0,00;0,00;-0,01;0,00;0,00 10 | 1993,00;0,69;-0,28;-0,01;-0,01;0,00;0,00;0,00;-0,01;0,00;0,00 11 | 1994,00;0,69;-0,27;-0,01;-0,01;0,00;0,00;0,00;-0,01;0,00;0,00 12 | 1995,00;0,69;-0,27;-0,01;-0,01;0,00;0,00;0,00;-0,01;0,00;0,00 13 | 1996,00;0,69;-0,27;-0,01;-0,01;0,00;0,00;0,00;-0,01;0,00;0,00 14 | 1997,00;0,70;-0,27;-0,01;-0,01;0,00;0,00;0,00;-0,01;0,00;0,00 15 | 1998,00;0,70;-0,27;-0,01;-0,01;0,00;0,00;0,00;-0,01;0,00;0,00 16 | 1999,00;0,70;-0,27;-0,01;0,00;0,00;0,00;0,00;-0,01;0,00;0,00 17 | 2000,00;0,70;-0,27;-0,01;0,00;0,00;0,00;0,00;-0,01;0,00;0,00 18 | 2001,00;0,71;-0,26;-0,01;0,00;0,00;0,00;0,00;-0,01;0,00;0,00 19 | 2002,00;0,71;-0,26;-0,01;0,00;0,00;0,00;0,00;-0,01;0,00;0,00 20 | 2003,00;0,71;-0,26;-0,01;-0,01;0,00;0,00;0,00;-0,01;0,00;0,00 21 | 2004,00;0,71;-0,26;-0,01;-0,01;0,00;0,00;0,00;-0,01;0,00;0,00 22 | 2005,00;0,71;-0,26;-0,01;-0,01;0,00;0,00;0,00;-0,01;0,00;0,00 23 | 2006,00;0,71;-0,26;-0,01;-0,01;0,00;0,00;0,00;-0,01;0,00;0,00 24 | 2007,00;0,71;-0,26;-0,01;-0,01;0,00;0,00;0,00;-0,01;0,00;0,00 25 | 2008,00;0,71;-0,26;-0,01;-0,01;0,00;0,00;0,00;-0,01;0,00;0,00 26 | 2009,00;0,71;-0,26;-0,01;-0,01;0,00;0,00;0,00;-0,01;0,00;0,00 27 | 2010,00;0,71;-0,26;-0,01;-0,01;0,00;0,00;0,00;-0,01;0,00;0,00 28 | 2011,00;0,71;-0,26;-0,01;0,00;0,00;0,00;0,00;-0,01;0,00;0,00 29 | 2012,00;0,71;-0,26;-0,01;-0,01;0,00;0,00;0,00;-0,01;0,00;0,00 30 | 2013,00;0,71;-0,26;-0,01;0,00;0,00;0,00;0,00;-0,01;0,00;0,00 31 | 2014,00;0,72;-0,26;-0,01;0,00;0,00;0,00;0,00;-0,01;0,00;0,00 32 | 2015,00;0,72;-0,25;-0,01;0,00;0,00;0,00;0,00;-0,01;0,00;0,00 33 | 2016,00;0,71;-0,26;-0,01;0,00;0,00;0,00;0,00;-0,01;0,00;0,00 34 | 2017,00;0,71;-0,26;-0,01;0,00;0,00;0,00;0,00;-0,02;0,00;0,00 35 | 2018,00;0,71;-0,25;-0,01;0,00;0,00;0,00;0,00;-0,02;0,00;0,00 36 | -------------------------------------------------------------------------------- /1-general-map/utils/toNext_eval/table/acc_classes/6/grassland_commission_col6.csv: -------------------------------------------------------------------------------- 1 | year;forest;savanna;grassland;pasture;temp crop;permanent crop;forestry;mosaic;urban;water 2 | 1985,00;-0,02;-0,37;0,47;-0,13;0,00;0,00;0,00;0,00;0,00;0,00 3 | 1986,00;-0,02;-0,37;0,46;-0,14;0,00;0,00;0,00;0,00;0,00;0,00 4 | 1987,00;-0,02;-0,36;0,47;-0,14;0,00;0,00;0,00;0,00;0,00;0,00 5 | 1988,00;-0,02;-0,36;0,47;-0,14;-0,01;0,00;0,00;0,00;0,00;0,00 6 | 1989,00;-0,02;-0,35;0,47;-0,15;-0,01;0,00;0,00;0,00;0,00;0,00 7 | 1990,00;-0,02;-0,35;0,47;-0,15;-0,01;0,00;0,00;0,00;0,00;0,00 8 | 1991,00;-0,02;-0,35;0,47;-0,15;-0,01;0,00;0,00;0,00;0,00;0,00 9 | 1992,00;-0,02;-0,35;0,47;-0,15;-0,01;0,00;0,00;0,00;0,00;0,00 10 | 1993,00;-0,02;-0,35;0,47;-0,15;-0,01;0,00;0,00;0,00;0,00;0,00 11 | 1994,00;-0,02;-0,34;0,47;-0,16;-0,01;0,00;0,00;0,00;0,00;0,00 12 | 1995,00;-0,02;-0,34;0,47;-0,16;-0,01;0,00;0,00;0,00;0,00;0,00 13 | 1996,00;-0,02;-0,34;0,47;-0,16;-0,01;0,00;0,00;0,00;0,00;0,00 14 | 1997,00;-0,02;-0,34;0,46;-0,17;-0,01;0,00;0,00;0,00;0,00;0,00 15 | 1998,00;-0,02;-0,33;0,46;-0,17;-0,01;0,00;0,00;0,00;0,00;0,00 16 | 1999,00;-0,02;-0,33;0,46;-0,18;-0,01;0,00;0,00;0,00;0,00;0,00 17 | 2000,00;-0,02;-0,33;0,46;-0,18;-0,01;0,00;0,00;0,00;0,00;0,00 18 | 2001,00;-0,02;-0,33;0,47;-0,18;0,00;0,00;0,00;0,00;0,00;0,00 19 | 2002,00;-0,01;-0,33;0,47;-0,18;-0,01;0,00;0,00;0,00;0,00;0,00 20 | 2003,00;-0,01;-0,33;0,46;-0,18;-0,01;0,00;0,00;0,00;0,00;0,00 21 | 2004,00;-0,02;-0,33;0,46;-0,18;-0,01;0,00;0,00;0,00;0,00;0,00 22 | 2005,00;-0,01;-0,33;0,47;-0,18;-0,01;0,00;0,00;0,00;0,00;0,00 23 | 2006,00;-0,02;-0,33;0,46;-0,18;0,00;0,00;0,00;0,00;0,00;0,00 24 | 2007,00;-0,02;-0,33;0,46;-0,18;-0,01;0,00;0,00;0,00;0,00;0,00 25 | 2008,00;-0,02;-0,33;0,46;-0,18;-0,01;0,00;0,00;0,00;0,00;0,00 26 | 2009,00;-0,02;-0,33;0,46;-0,18;-0,01;0,00;0,00;0,00;0,00;0,00 27 | 2010,00;-0,02;-0,33;0,46;-0,18;-0,01;0,00;0,00;0,00;0,00;0,00 28 | 2011,00;-0,02;-0,33;0,47;-0,17;-0,01;0,00;0,00;0,00;0,00;0,00 29 | 2012,00;-0,02;-0,34;0,47;-0,16;-0,01;0,00;0,00;0,00;0,00;0,00 30 | 2013,00;-0,02;-0,34;0,47;-0,16;0,00;0,00;0,00;0,00;0,00;0,00 31 | 2014,00;-0,02;-0,33;0,48;-0,16;0,00;0,00;0,00;0,00;0,00;0,00 32 | 2015,00;-0,02;-0,33;0,47;-0,16;-0,01;0,00;0,00;0,00;0,00;0,00 33 | 2016,00;-0,02;-0,33;0,47;-0,16;-0,01;0,00;0,00;0,00;0,00;0,00 34 | 2017,00;-0,02;-0,33;0,47;-0,16;-0,01;0,00;0,00;0,00;0,00;0,00 35 | 2018,00;-0,02;-0,33;0,47;-0,17;-0,01;0,00;0,00;0,00;0,00;0,00 36 | -------------------------------------------------------------------------------- /1-general-map/utils/toNext_eval/table/acc_classes/6/savanna_omission_col6.csv: -------------------------------------------------------------------------------- 1 | year;forest;savanna;grassland;pasture;temp crop;permanent crop;forestry;mosaic;urban;water 2 | 1985,00;-0,08;0,70;-0,13;-0,03;0,00;0,00;0,00;-0,06;0,00;0,00 3 | 1986,00;-0,08;0,71;-0,13;-0,03;0,00;0,00;0,00;-0,05;0,00;0,00 4 | 1987,00;-0,08;0,72;-0,12;-0,02;0,00;0,00;0,00;-0,04;0,00;0,00 5 | 1988,00;-0,08;0,73;-0,13;-0,02;0,00;0,00;0,00;-0,04;0,00;0,00 6 | 1989,00;-0,08;0,74;-0,13;-0,02;0,00;0,00;0,00;-0,04;0,00;0,00 7 | 1990,00;-0,08;0,74;-0,13;-0,02;0,00;0,00;0,00;-0,03;0,00;0,00 8 | 1991,00;-0,08;0,74;-0,13;-0,02;0,00;0,00;0,00;-0,03;0,00;0,00 9 | 1992,00;-0,08;0,75;-0,13;-0,02;0,00;0,00;0,00;-0,03;0,00;0,00 10 | 1993,00;-0,08;0,75;-0,13;-0,02;0,00;0,00;0,00;-0,03;0,00;0,00 11 | 1994,00;-0,08;0,75;-0,13;-0,02;0,00;0,00;0,00;-0,03;0,00;0,00 12 | 1995,00;-0,08;0,75;-0,13;-0,02;0,00;0,00;0,00;-0,03;0,00;0,00 13 | 1996,00;-0,08;0,75;-0,13;-0,02;0,00;0,00;0,00;-0,03;0,00;0,00 14 | 1997,00;-0,08;0,75;-0,13;-0,02;0,00;0,00;0,00;-0,03;0,00;0,00 15 | 1998,00;-0,08;0,75;-0,13;-0,02;0,00;0,00;0,00;-0,02;0,00;0,00 16 | 1999,00;-0,08;0,75;-0,13;-0,02;0,00;0,00;0,00;-0,02;0,00;0,00 17 | 2000,00;-0,08;0,75;-0,13;-0,02;0,00;0,00;0,00;-0,03;0,00;0,00 18 | 2001,00;-0,08;0,75;-0,13;-0,01;0,00;0,00;0,00;-0,03;0,00;0,00 19 | 2002,00;-0,08;0,75;-0,13;-0,01;0,00;0,00;0,00;-0,03;0,00;0,00 20 | 2003,00;-0,08;0,75;-0,13;-0,01;0,00;0,00;0,00;-0,03;0,00;0,00 21 | 2004,00;-0,08;0,75;-0,13;-0,01;0,00;0,00;0,00;-0,03;0,00;0,00 22 | 2005,00;-0,08;0,75;-0,13;-0,01;0,00;0,00;0,00;-0,03;0,00;0,00 23 | 2006,00;-0,08;0,75;-0,13;-0,01;0,00;0,00;0,00;-0,03;0,00;0,00 24 | 2007,00;-0,08;0,75;-0,13;-0,01;0,00;0,00;0,00;-0,03;0,00;0,00 25 | 2008,00;-0,08;0,75;-0,13;-0,01;0,00;0,00;0,00;-0,03;0,00;0,00 26 | 2009,00;-0,08;0,74;-0,13;-0,01;0,00;0,00;0,00;-0,03;0,00;0,00 27 | 2010,00;-0,08;0,75;-0,13;-0,01;0,00;0,00;0,00;-0,03;0,00;0,00 28 | 2011,00;-0,08;0,75;-0,14;-0,01;0,00;0,00;0,00;-0,03;0,00;0,00 29 | 2012,00;-0,08;0,74;-0,14;-0,01;0,00;0,00;0,00;-0,03;0,00;0,00 30 | 2013,00;-0,08;0,74;-0,14;-0,01;0,00;0,00;0,00;-0,03;0,00;0,00 31 | 2014,00;-0,08;0,74;-0,14;-0,02;0,00;0,00;0,00;-0,03;0,00;0,00 32 | 2015,00;-0,08;0,74;-0,14;-0,01;0,00;0,00;0,00;-0,03;0,00;0,00 33 | 2016,00;-0,08;0,74;-0,14;-0,01;0,00;0,00;0,00;-0,03;0,00;0,00 34 | 2017,00;-0,08;0,74;-0,14;-0,01;0,00;0,00;0,00;-0,03;0,00;0,00 35 | 2018,00;-0,08;0,74;-0,14;-0,01;0,00;0,00;0,00;-0,03;0,00;0,00 36 | -------------------------------------------------------------------------------- /1-general-map/utils/misc/table/acc_classes/mosaic_commission_col6.csv: -------------------------------------------------------------------------------- 1 | year;forest;savanna;grassland;pasture;temp crop;permanent crop;forestry;mosaic;urban;water 2 | 1985,00;-0,09;-0,25;-0,08;0,00;0,00;0,00;-0,01;0,56;0,00;0,00 3 | 1986,00;-0,07;-0,22;-0,08;0,00;0,00;0,00;-0,01;0,62;-0,01;0,00 4 | 1987,00;-0,05;-0,20;-0,08;0,00;0,00;0,00;-0,01;0,64;-0,01;0,00 5 | 1988,00;-0,05;-0,19;-0,08;0,00;0,00;0,00;-0,01;0,66;0,00;0,00 6 | 1989,00;-0,05;-0,18;-0,08;0,00;0,00;0,00;-0,01;0,69;0,00;0,00 7 | 1990,00;-0,04;-0,18;-0,08;0,00;0,00;0,00;-0,01;0,69;0,00;0,00 8 | 1991,00;-0,04;-0,18;-0,07;0,00;0,00;0,00;-0,01;0,69;0,00;0,00 9 | 1992,00;-0,05;-0,17;-0,07;0,00;0,00;0,00;-0,01;0,70;0,00;0,00 10 | 1993,00;-0,04;-0,15;-0,07;0,00;0,00;0,00;-0,01;0,72;0,00;0,00 11 | 1994,00;-0,04;-0,14;-0,07;0,00;0,00;0,00;-0,01;0,73;-0,01;0,00 12 | 1995,00;-0,04;-0,15;-0,06;0,00;0,00;0,00;-0,01;0,73;0,00;0,00 13 | 1996,00;-0,04;-0,14;-0,06;0,00;0,00;0,00;0,00;0,75;0,00;0,00 14 | 1997,00;-0,04;-0,14;-0,06;0,00;0,00;0,00;-0,01;0,74;0,00;0,00 15 | 1998,00;-0,04;-0,14;-0,05;0,00;0,00;0,00;-0,01;0,76;0,00;0,00 16 | 1999,00;-0,04;-0,14;-0,06;0,00;0,00;0,00;0,00;0,75;0,00;0,00 17 | 2000,00;-0,04;-0,15;-0,06;0,00;0,00;0,00;-0,01;0,74;0,00;0,00 18 | 2001,00;-0,03;-0,16;-0,06;0,00;0,00;0,00;0,00;0,74;0,00;0,00 19 | 2002,00;-0,04;-0,16;-0,06;0,00;0,00;0,00;-0,01;0,73;0,00;0,00 20 | 2003,00;-0,03;-0,15;-0,05;0,00;0,00;0,00;-0,01;0,75;-0,01;0,00 21 | 2004,00;-0,03;-0,14;-0,05;0,00;0,00;0,00;-0,01;0,75;-0,01;0,00 22 | 2005,00;-0,04;-0,14;-0,05;0,00;0,00;0,00;-0,01;0,76;-0,01;0,00 23 | 2006,00;-0,04;-0,14;-0,05;0,00;0,00;0,00;-0,01;0,75;-0,01;0,00 24 | 2007,00;-0,04;-0,15;-0,05;0,00;0,00;0,00;-0,01;0,75;-0,01;0,00 25 | 2008,00;-0,04;-0,14;-0,05;0,00;0,00;0,00;-0,02;0,75;-0,01;0,00 26 | 2009,00;-0,04;-0,14;-0,05;0,00;0,00;0,00;-0,02;0,75;-0,01;0,00 27 | 2010,00;-0,04;-0,14;-0,05;0,00;0,00;0,00;-0,02;0,74;-0,01;0,00 28 | 2011,00;-0,04;-0,13;-0,05;0,00;0,00;0,00;-0,03;0,75;-0,01;0,00 29 | 2012,00;-0,04;-0,12;-0,05;0,00;0,00;0,00;-0,03;0,76;-0,01;0,00 30 | 2013,00;-0,03;-0,11;-0,05;0,00;0,00;0,00;-0,02;0,77;-0,01;0,00 31 | 2014,00;-0,03;-0,11;-0,05;0,00;0,00;0,00;-0,02;0,79;-0,01;0,00 32 | 2015,00;-0,04;-0,11;-0,05;0,00;0,00;0,00;-0,03;0,78;0,00;0,00 33 | 2016,00;-0,04;-0,11;-0,05;0,00;0,00;0,00;-0,03;0,77;-0,01;0,00 34 | 2017,00;-0,04;-0,12;-0,05;0,00;0,00;0,00;-0,03;0,75;0,00;0,00 35 | 2018,00;-0,04;-0,12;-0,05;0,00;0,00;0,00;-0,04;0,76;0,00;0,00 36 | -------------------------------------------------------------------------------- /1-general-map/utils/misc/table/acc_classes_agro/permanent.crop_commission.csv: -------------------------------------------------------------------------------- 1 | year;forest;savanna;grassland;pasture;temp crop;permanent crop;forestry;mosaic of;urban;water 2 | 1985,00;-0,46;-0,36;0,00;-0,05;0,00;0,00;-0,13;0,00;0,00;0,00 3 | 1986,00;-0,46;-0,36;0,00;-0,05;0,00;0,00;-0,13;0,00;0,00;0,00 4 | 1987,00;-0,53;-0,40;0,00;-0,07;0,00;0,00;0,00;0,00;0,00;0,00 5 | 1988,00;-0,50;-0,23;0,00;-0,09;0,00;0,06;-0,12;0,00;0,00;0,00 6 | 1989,00;-0,46;-0,22;0,00;-0,09;0,00;0,11;-0,12;0,00;0,00;0,00 7 | 1990,00;-0,42;-0,26;0,00;0,00;-0,10;0,10;-0,11;0,00;0,00;0,00 8 | 1991,00;-0,40;-0,15;0,00;0,00;-0,26;0,10;-0,10;0,00;0,00;0,00 9 | 1992,00;-0,32;-0,18;0,00;0,00;-0,25;0,12;-0,12;0,00;0,00;0,00 10 | 1993,00;-0,40;-0,14;0,00;0,00;-0,31;0,15;0,00;0,00;0,00;0,00 11 | 1994,00;-0,42;-0,10;0,00;0,00;-0,22;0,26;0,00;0,00;0,00;0,00 12 | 1995,00;-0,36;-0,13;0,00;0,00;-0,15;0,36;0,00;0,00;0,00;0,00 13 | 1996,00;-0,36;-0,13;0,00;0,00;-0,15;0,36;0,00;0,00;0,00;0,00 14 | 1997,00;0,00;-0,19;0,00;0,00;0,00;0,81;0,00;0,00;0,00;0,00 15 | 1998,00;-0,21;-0,13;0,00;0,00;0,00;0,67;0,00;0,00;0,00;0,00 16 | 1999,00;-0,14;-0,08;0,00;0,00;-0,09;0,69;0,00;0,00;0,00;0,00 17 | 2000,00;-0,16;-0,06;0,00;-0,06;-0,16;0,57;0,00;0,00;0,00;0,00 18 | 2001,00;-0,16;-0,06;0,00;-0,06;-0,16;0,52;-0,04;0,00;0,00;0,00 19 | 2002,00;-0,18;-0,09;0,00;-0,07;-0,07;0,54;-0,04;0,00;0,00;0,00 20 | 2003,00;-0,18;-0,09;0,00;-0,07;-0,11;0,51;-0,04;0,00;0,00;0,00 21 | 2004,00;-0,15;-0,13;0,00;-0,15;-0,09;0,45;-0,04;0,00;0,00;0,00 22 | 2005,00;-0,20;-0,19;0,00;-0,12;-0,09;0,37;-0,04;0,00;0,00;0,00 23 | 2006,00;-0,19;-0,19;0,00;-0,06;-0,09;0,44;-0,04;0,00;0,00;0,00 24 | 2007,00;-0,07;-0,21;0,00;-0,06;-0,10;0,52;-0,04;0,00;0,00;0,00 25 | 2008,00;-0,05;-0,16;0,00;-0,11;-0,16;0,43;-0,08;0,00;0,00;0,00 26 | 2009,00;-0,05;-0,16;0,00;-0,07;-0,16;0,48;-0,08;0,00;0,00;0,00 27 | 2010,00;-0,05;-0,13;0,00;-0,06;-0,14;0,56;-0,07;0,00;0,00;0,00 28 | 2011,00;-0,04;-0,12;0,00;-0,02;-0,06;0,64;-0,10;0,00;0,00;0,00 29 | 2012,00;-0,10;-0,08;0,00;-0,02;-0,06;0,64;-0,10;0,00;0,00;0,00 30 | 2013,00;-0,05;-0,03;0,00;-0,07;-0,05;0,68;-0,12;0,00;0,00;0,00 31 | 2014,00;-0,05;-0,03;0,00;-0,05;-0,06;0,69;-0,12;0,00;0,00;0,00 32 | 2015,00;-0,07;-0,05;0,00;-0,03;-0,05;0,75;-0,05;0,00;0,00;0,00 33 | 2016,00;-0,08;-0,07;0,00;-0,03;-0,07;0,67;-0,08;0,00;0,00;0,00 34 | 2017,00;-0,09;-0,05;0,00;-0,07;-0,10;0,65;-0,04;0,00;0,00;0,00 35 | 2018,00;-0,10;-0,06;0,00;-0,07;-0,10;0,65;-0,03;0,00;0,00;0,00 36 | -------------------------------------------------------------------------------- /2-rocky-outcrop/13_frequency_step2.js: -------------------------------------------------------------------------------- 1 | // --- --- --- 13_frequency_step2 2 | // frequency filter 3 | // barbara.silva@ipam.org.br 4 | 5 | // define root 6 | var root = 'projects/ee-barbaracsilva/assets/Collection_8/rocky-outcrop_step2/general-class-post/'; 7 | 8 | // define input file 9 | var file_in = 'CERRADO_col8_rocky_gapfill_v4'; 10 | 11 | // define output version 12 | var version_out = 4; 13 | 14 | // load classification 15 | var classification = ee.Image(root + file_in); 16 | 17 | // import mapbiomas color ramp 18 | var vis = { 19 | min: 0, 20 | max: 62, 21 | palette:require('users/mapbiomas/modules:Palettes.js').get('classification7'), 22 | }; 23 | 24 | // define the function to calc frequencies 25 | var filterFreq = function(image) { 26 | // expression to get frequency 27 | var exp = '100*((b(0)+b(1)+b(2)+b(3)+b(4)+b(5)+b(6)+b(7)+b(8)+b(9)+b(10)' + 28 | '+b(11)+b(12)+b(13)+b(14)+b(15)+b(16)+b(17)+b(18)+b(19)+b(20)' + 29 | '+b(21)+b(22)+b(23)+b(24)+b(25)+b(26)+b(27)+b(28)+b(29)+b(30)' + 30 | '+b(31)+b(32)+b(33)+b(34)+b(35)+b(36)+b(37))/38)'; 31 | 32 | // get per class frequency 33 | var rocky = image.eq(29).expression(exp); 34 | Map.addLayer(rocky, {palette:['purple', 'red', 'orange', 'yellow', 'green', 'darkgreen'], min:20, max:70}, 'freq'); 35 | 36 | // stabilize rocky when: 37 | var filtered = ee.Image(0).where(rocky.gte(90), 29) 38 | .where(rocky.lt(90), 99); 39 | 40 | // get only pixels to be filtered 41 | filtered = filtered.updateMask(filtered.neq(0)); 42 | 43 | return image.where(filtered, filtered); 44 | }; 45 | 46 | // apply function 47 | var classification_filtered = filterFreq(classification); 48 | 49 | // plot 50 | Map.addLayer(classification.select(['classification_2022']), vis, 'classification'); 51 | Map.addLayer(classification_filtered.select(['classification_2021']), vis, 'filtered'); 52 | print ('output image', classification_filtered); 53 | 54 | // export as GEE asset 55 | Export.image.toAsset({ 56 | 'image': classification_filtered, 57 | 'description': 'CERRADO_col8_rocky_gapfill_frequency_v' + version_out, 58 | 'assetId': root + 'CERRADO_col8_rocky_gapfill_frequency_v' + version_out, 59 | 'pyramidingPolicy': { 60 | '.default': 'mode' 61 | }, 62 | 'region': classification.geometry(), 63 | 'scale': 30, 64 | 'maxPixels': 1e13 65 | }); 66 | -------------------------------------------------------------------------------- /1-general-map/utils/toNext_eval/table/acc_classes/6/mosaic_commission_col6.csv: -------------------------------------------------------------------------------- 1 | year;forest;savanna;grassland;pasture;temp crop;permanent crop;forestry;mosaic;urban;water 2 | 1985,00;-0,09;-0,25;-0,08;0,00;0,00;0,00;-0,01;0,56;0,00;0,00 3 | 1986,00;-0,07;-0,22;-0,08;0,00;0,00;0,00;-0,01;0,62;-0,01;0,00 4 | 1987,00;-0,05;-0,20;-0,08;0,00;0,00;0,00;-0,01;0,64;-0,01;0,00 5 | 1988,00;-0,05;-0,19;-0,08;0,00;0,00;0,00;-0,01;0,66;0,00;0,00 6 | 1989,00;-0,05;-0,18;-0,08;0,00;0,00;0,00;-0,01;0,69;0,00;0,00 7 | 1990,00;-0,04;-0,18;-0,08;0,00;0,00;0,00;-0,01;0,69;0,00;0,00 8 | 1991,00;-0,04;-0,18;-0,07;0,00;0,00;0,00;-0,01;0,69;0,00;0,00 9 | 1992,00;-0,05;-0,17;-0,07;0,00;0,00;0,00;-0,01;0,70;0,00;0,00 10 | 1993,00;-0,04;-0,15;-0,07;0,00;0,00;0,00;-0,01;0,72;0,00;0,00 11 | 1994,00;-0,04;-0,14;-0,07;0,00;0,00;0,00;-0,01;0,73;-0,01;0,00 12 | 1995,00;-0,04;-0,15;-0,06;0,00;0,00;0,00;-0,01;0,73;0,00;0,00 13 | 1996,00;-0,04;-0,14;-0,06;0,00;0,00;0,00;0,00;0,75;0,00;0,00 14 | 1997,00;-0,04;-0,14;-0,06;0,00;0,00;0,00;-0,01;0,74;0,00;0,00 15 | 1998,00;-0,04;-0,14;-0,05;0,00;0,00;0,00;-0,01;0,76;0,00;0,00 16 | 1999,00;-0,04;-0,14;-0,06;0,00;0,00;0,00;0,00;0,75;0,00;0,00 17 | 2000,00;-0,04;-0,15;-0,06;0,00;0,00;0,00;-0,01;0,74;0,00;0,00 18 | 2001,00;-0,03;-0,16;-0,06;0,00;0,00;0,00;0,00;0,74;0,00;0,00 19 | 2002,00;-0,04;-0,16;-0,06;0,00;0,00;0,00;-0,01;0,73;0,00;0,00 20 | 2003,00;-0,03;-0,15;-0,05;0,00;0,00;0,00;-0,01;0,75;-0,01;0,00 21 | 2004,00;-0,03;-0,14;-0,05;0,00;0,00;0,00;-0,01;0,75;-0,01;0,00 22 | 2005,00;-0,04;-0,14;-0,05;0,00;0,00;0,00;-0,01;0,76;-0,01;0,00 23 | 2006,00;-0,04;-0,14;-0,05;0,00;0,00;0,00;-0,01;0,75;-0,01;0,00 24 | 2007,00;-0,04;-0,15;-0,05;0,00;0,00;0,00;-0,01;0,75;-0,01;0,00 25 | 2008,00;-0,04;-0,14;-0,05;0,00;0,00;0,00;-0,02;0,75;-0,01;0,00 26 | 2009,00;-0,04;-0,14;-0,05;0,00;0,00;0,00;-0,02;0,75;-0,01;0,00 27 | 2010,00;-0,04;-0,14;-0,05;0,00;0,00;0,00;-0,02;0,74;-0,01;0,00 28 | 2011,00;-0,04;-0,13;-0,05;0,00;0,00;0,00;-0,03;0,75;-0,01;0,00 29 | 2012,00;-0,04;-0,12;-0,05;0,00;0,00;0,00;-0,03;0,76;-0,01;0,00 30 | 2013,00;-0,03;-0,11;-0,05;0,00;0,00;0,00;-0,02;0,77;-0,01;0,00 31 | 2014,00;-0,03;-0,11;-0,05;0,00;0,00;0,00;-0,02;0,79;-0,01;0,00 32 | 2015,00;-0,04;-0,11;-0,05;0,00;0,00;0,00;-0,03;0,78;0,00;0,00 33 | 2016,00;-0,04;-0,11;-0,05;0,00;0,00;0,00;-0,03;0,77;-0,01;0,00 34 | 2017,00;-0,04;-0,12;-0,05;0,00;0,00;0,00;-0,03;0,75;0,00;0,00 35 | 2018,00;-0,04;-0,12;-0,05;0,00;0,00;0,00;-0,04;0,76;0,00;0,00 36 | -------------------------------------------------------------------------------- /1-general-map/utils/misc/table/acc_classes_agro/permanent.crop_omission.csv: -------------------------------------------------------------------------------- 1 | year;forest;savanna;grassland;pasture;temp crop;permanent crop;forestry;mosaic of;urban;water 2 | 1985,00;-0,26;-0,24;-0,07;-0,16;-0,26;0,00;0,00;0,00;0,00;0,00 3 | 1986,00;-0,28;-0,26;0,00;-0,18;-0,28;0,00;0,00;0,00;0,00;0,00 4 | 1987,00;-0,32;-0,29;0,00;-0,15;-0,24;0,00;0,00;0,00;0,00;0,00 5 | 1988,00;-0,24;-0,36;0,00;-0,15;-0,17;0,07;0,00;0,00;0,00;0,00 6 | 1989,00;-0,24;-0,29;0,00;-0,08;-0,24;0,15;0,00;0,00;0,00;0,00 7 | 1990,00;-0,11;-0,25;0,00;-0,37;-0,16;0,10;0,00;0,00;0,00;0,00 8 | 1991,00;-0,25;-0,22;0,00;-0,40;-0,04;0,09;0,00;0,00;0,00;0,00 9 | 1992,00;-0,26;-0,18;0,00;-0,47;0,00;0,09;0,00;0,00;0,00;0,00 10 | 1993,00;-0,15;-0,21;0,00;-0,47;0,00;0,08;-0,10;0,00;0,00;0,00 11 | 1994,00;-0,18;-0,25;0,00;-0,35;0,00;0,16;-0,07;0,00;0,00;0,00 12 | 1995,00;-0,24;-0,22;0,00;-0,25;-0,03;0,18;-0,08;0,00;0,00;0,00 13 | 1996,00;-0,32;-0,20;0,00;-0,23;0,00;0,17;-0,08;0,00;0,00;0,00 14 | 1997,00;-0,27;-0,23;0,00;-0,14;-0,03;0,23;-0,10;0,00;0,00;0,00 15 | 1998,00;-0,29;-0,13;0,00;-0,21;-0,03;0,26;-0,09;0,00;0,00;0,00 16 | 1999,00;-0,15;-0,22;0,00;-0,11;-0,03;0,41;-0,09;0,00;0,00;0,00 17 | 2000,00;-0,13;-0,21;0,00;-0,09;-0,05;0,44;-0,08;0,00;0,00;0,00 18 | 2001,00;-0,08;-0,26;0,00;-0,20;-0,02;0,37;-0,07;0,00;0,00;0,00 19 | 2002,00;-0,10;-0,24;-0,02;-0,24;0,00;0,35;-0,05;0,00;0,00;0,00 20 | 2003,00;-0,12;-0,28;-0,02;-0,21;0,00;0,32;-0,05;0,00;0,00;0,00 21 | 2004,00;-0,16;-0,32;0,00;-0,11;0,00;0,36;-0,05;0,00;0,00;0,00 22 | 2005,00;-0,20;-0,30;-0,02;-0,10;0,00;0,32;-0,06;0,00;0,00;0,00 23 | 2006,00;-0,17;-0,28;0,00;-0,15;0,00;0,34;-0,05;0,00;0,00;0,00 24 | 2007,00;-0,16;-0,25;-0,02;-0,11;-0,02;0,39;-0,05;0,00;0,00;0,00 25 | 2008,00;-0,08;-0,25;-0,02;-0,21;-0,02;0,38;-0,05;0,00;0,00;0,00 26 | 2009,00;-0,07;-0,21;-0,02;-0,22;-0,07;0,36;-0,04;0,00;0,00;0,00 27 | 2010,00;-0,07;-0,20;-0,01;-0,18;-0,06;0,40;-0,08;0,00;0,00;0,00 28 | 2011,00;-0,10;-0,14;-0,01;-0,18;-0,04;0,46;-0,07;0,00;0,00;0,00 29 | 2012,00;-0,11;-0,14;-0,01;-0,20;-0,01;0,45;-0,07;0,00;0,00;0,00 30 | 2013,00;-0,08;-0,15;-0,01;-0,17;-0,01;0,52;-0,06;0,00;0,00;0,00 31 | 2014,00;-0,08;-0,13;-0,02;-0,14;-0,01;0,54;-0,07;0,00;0,00;0,00 32 | 2015,00;-0,08;-0,08;-0,02;-0,14;-0,02;0,55;-0,11;0,00;0,00;0,00 33 | 2016,00;-0,05;-0,08;-0,01;-0,13;-0,03;0,59;-0,10;0,00;0,00;0,00 34 | 2017,00;-0,05;-0,09;-0,02;-0,09;-0,03;0,61;-0,10;0,00;0,00;0,00 35 | 2018,00;-0,06;-0,09;-0,01;-0,09;-0,04;0,60;-0,11;0,00;0,00;0,00 36 | -------------------------------------------------------------------------------- /1-general-map/utils/misc/table/acc_classes_agro/forestry_omission.csv: -------------------------------------------------------------------------------- 1 | year;forest;savanna;grassland;pasture;temp crop;permanent crop;forestry;mosaic of;urban;water 2 | 1985,00;-0,39;-0,11;-0,04;-0,02;0,00;-0,01;0,33;-0,11;0,00;0,00 3 | 1986,00;-0,40;-0,13;-0,04;-0,02;0,00;-0,01;0,32;-0,09;0,00;0,00 4 | 1987,00;-0,35;-0,16;-0,04;-0,03;0,00;0,00;0,32;-0,09;0,00;0,00 5 | 1988,00;-0,29;-0,15;-0,03;-0,03;-0,01;0,00;0,40;-0,08;0,00;0,00 6 | 1989,00;-0,30;-0,19;-0,03;-0,02;0,00;0,00;0,40;-0,06;0,00;0,00 7 | 1990,00;-0,26;-0,18;-0,03;0,00;0,00;0,00;0,46;-0,07;0,00;0,00 8 | 1991,00;-0,22;-0,14;-0,02;0,00;0,00;0,00;0,56;-0,05;0,00;0,00 9 | 1992,00;-0,21;-0,12;-0,02;-0,01;0,00;0,00;0,60;-0,05;0,00;0,00 10 | 1993,00;-0,19;-0,10;-0,02;-0,01;0,00;0,00;0,64;-0,04;0,00;0,00 11 | 1994,00;-0,13;-0,10;-0,02;-0,01;0,00;0,00;0,70;-0,03;0,00;0,00 12 | 1995,00;-0,11;-0,11;-0,02;-0,01;0,00;0,00;0,70;-0,04;0,00;0,00 13 | 1996,00;-0,13;-0,10;-0,02;-0,01;0,00;0,00;0,72;-0,02;0,00;0,00 14 | 1997,00;-0,10;-0,09;-0,02;-0,01;0,00;0,00;0,75;-0,03;0,00;0,00 15 | 1998,00;-0,11;-0,09;-0,02;-0,01;0,00;0,00;0,74;-0,04;0,00;0,00 16 | 1999,00;-0,13;-0,09;-0,02;-0,01;-0,01;0,00;0,71;-0,02;0,00;0,00 17 | 2000,00;-0,13;-0,08;-0,02;-0,01;-0,01;0,00;0,73;-0,03;0,00;0,00 18 | 2001,00;-0,10;-0,08;-0,02;-0,02;-0,01;0,00;0,74;-0,02;0,00;0,00 19 | 2002,00;-0,09;-0,08;-0,02;-0,02;0,00;0,00;0,76;-0,03;0,00;0,00 20 | 2003,00;-0,08;-0,07;-0,02;-0,02;0,00;0,00;0,74;-0,06;0,00;0,00 21 | 2004,00;-0,07;-0,08;-0,02;-0,01;0,00;0,00;0,74;-0,07;0,00;0,00 22 | 2005,00;-0,09;-0,06;-0,02;-0,01;-0,01;0,00;0,75;-0,05;0,00;0,00 23 | 2006,00;-0,10;-0,05;-0,01;-0,03;-0,01;0,00;0,73;-0,05;0,00;0,00 24 | 2007,00;-0,12;-0,06;-0,01;-0,02;-0,02;0,00;0,71;-0,05;0,00;0,00 25 | 2008,00;-0,11;-0,07;-0,01;-0,02;-0,02;-0,01;0,70;-0,06;0,00;0,00 26 | 2009,00;-0,10;-0,06;-0,02;-0,02;-0,01;-0,01;0,72;-0,06;0,00;0,00 27 | 2010,00;-0,10;-0,06;-0,02;-0,02;0,00;0,00;0,73;-0,07;0,00;0,00 28 | 2011,00;-0,10;-0,07;-0,02;-0,03;-0,01;-0,01;0,69;-0,08;0,00;0,00 29 | 2012,00;-0,10;-0,07;-0,02;-0,03;0,00;-0,01;0,69;-0,08;0,00;0,00 30 | 2013,00;-0,11;-0,06;-0,02;-0,02;-0,01;-0,01;0,72;-0,06;0,00;0,00 31 | 2014,00;-0,10;-0,07;-0,02;-0,02;0,00;-0,01;0,73;-0,06;0,00;0,00 32 | 2015,00;-0,09;-0,07;-0,02;-0,02;0,00;0,00;0,72;-0,07;0,00;0,00 33 | 2016,00;-0,09;-0,06;-0,01;-0,02;-0,01;-0,01;0,73;-0,08;0,00;0,00 34 | 2017,00;-0,08;-0,07;-0,02;-0,01;0,00;0,00;0,72;-0,09;0,00;0,00 35 | 2018,00;-0,07;-0,06;-0,02;-0,01;0,00;0,00;0,74;-0,10;0,00;0,00 36 | -------------------------------------------------------------------------------- /1-general-map/utils/toNext_eval/table/acc_collections/col71_nv3.csv: -------------------------------------------------------------------------------- 1 | "Ano","Acurácia","Discordância de Área","Discordância de Alocação", "X", "Y" 2 | 1985,0,720009413512057,-0,0738915799022312,-0,206099006585713 3 | 1986,0,720389911558211,-0,0804925269818703,-0,199117561459921 4 | 1987,0,726799531062143,-0,0809708306964719,-0,192229638241386 5 | 1988,0,7289170592299,-0,0833867362063905,-0,187696204563711 6 | 1989,0,73425303247357,-0,0844631962182793,-0,181283771308153 7 | 1990,0,737325941261868,-0,0848854569961467,-0,177788601741986 8 | 1991,0,739112102934233,-0,0867230281383279,-0,17416486892744 9 | 1992,0,742666046767196,-0,0855793246875458,-0,171754628545259 10 | 1993,0,746389612056701,-0,084300189787042,-0,169310198156258 11 | 1994,0,750730875377487,-0,084720742197265,-0,164548382425249 12 | 1995,0,753859406744211,-0,085208200000592,-0,160932393255199 13 | 1996,0,756507339586349,-0,0827909854449183,-0,160701674968736 14 | 1997,0,75962519183542,-0,0797122711310838,-0,160662537033499 15 | 1998,0,762356837439308,-0,0796028457848319,-0,158040316775863 16 | 1999,0,765333374884469,-0,0806640554551222,-0,154002569660412 17 | 2000,0,766501051956181,-0,0837809124260023,-0,149718035617819 18 | 2001,0,769082666270667,-0,0838493702525419,-0,147067963476793 19 | 2002,0,771210439019232,-0,0832003695574293,-0,145589191423341 20 | 2003,0,775476643304725,-0,0801287165091548,-0,144394640186122 21 | 2004,0,775297819840861,-0,0815679155639385,-0,143134264595202 22 | 2005,0,773079801673988,-0,0823743344931663,-0,144545863832847 23 | 2006,0,774051873374228,-0,0832059536138303,-0,142742173011943 24 | 2007,0,775144259584048,-0,0847611394709122,-0,140094600945042 25 | 2008,0,772953423689423,-0,0872681737439285,-0,13977840256665 26 | 2009,0,772729045436434,-0,0871437919856327,-0,140127162577935 27 | 2010,0,776121547852619,-0,0872536208902763,-0,136624831257107 28 | 2011,0,77677925514583,-0,087016826723588,-0,136203918130584 29 | 2012,0,777529960096447,-0,085776476682307,-0,136693563221248 30 | 2013,0,777719254406635,-0,0843699675588761,-0,137910778034491 31 | 2014,0,778656642138765,-0,0834441047144836,-0,137899253146754 32 | 2015,0,781030366689448,-0,0834274769030458,-0,135542156407508 33 | 2016,0,779184947802494,-0,0872825296190756,-0,133532522578432 34 | 2017,0,777531678905358,-0,0894788911724325,-0,132989429922211 35 | 2018,0,776662329141224,-0,0913806426778187,-0,13195702818096 36 | 2019,0,788874161480423,-0,0680765608073993,-0,143049277712179 37 | 2020,0,78762354088021,-0,0673804271315169,-0,144996031988274 38 | 2021,0,785643895845518,-0,0663040184385119,-0,14805208571597 39 | -------------------------------------------------------------------------------- /1-general-map/utils/toNext_eval/table/acc_collections/col7_nv3.csv: -------------------------------------------------------------------------------- 1 | "Ano","Acurácia","Discordância de Área","Discordância de Alocação", "X", "Y" 2 | 1985,0,720009413512057,-0,0738915799022312,-0,206099006585713 3 | 1986,0,720433795409683,-0,0804925269818703,-0,199073677608448 4 | 1987,0,726843229090016,-0,0809708306964719,-0,192185940213513 5 | 1988,0,7289170592299,-0,0833867362063905,-0,187696204563711 6 | 1989,0,734253032473569,-0,0844631962182793,-0,181283771308153 7 | 1990,0,737325941261868,-0,0848854569961467,-0,177788601741986 8 | 1991,0,739112102934233,-0,0867230281383279,-0,17416486892744 9 | 1992,0,742666046767196,-0,0855793246875458,-0,171754628545259 10 | 1993,0,746389612056701,-0,084300189787042,-0,169310198156258 11 | 1994,0,750769534735029,-0,0846820828397234,-0,164548382425249 12 | 1995,0,753848616941148,-0,0851364398353383,-0,161014943223516 13 | 1996,0,756496559615122,-0,0827192906686437,-0,160784149716237 14 | 1997,0,75962519183542,-0,0797122711310838,-0,160662537033499 15 | 1998,0,762356837439308,-0,0796028457848319,-0,158040316775863 16 | 1999,0,765333374884468,-0,0806640554551222,-0,154002569660412 17 | 2000,0,766501051956181,-0,0837809124260022,-0,149718035617819 18 | 2001,0,769137365579179,-0,08379467094403,-0,147067963476793 19 | 2002,0,771108004389299,-0,0830979349274969,-0,145794060683206 20 | 2003,0,775354026971836,-0,0800658603176892,-0,144580112710477 21 | 2004,0,77525521605923,-0,0815253117823072,-0,143219472158464 22 | 2005,0,773079801673988,-0,0823743344931663,-0,144545863832847 23 | 2006,0,774051873374228,-0,0832059536138303,-0,142742173011943 24 | 2007,0,775211844536705,-0,0846935545182545,-0,140094600945042 25 | 2008,0,772995820959027,-0,0871519729842976,-0,139852206056677 26 | 2009,0,772570286311546,-0,0870549706966816,-0,140374742991774 27 | 2010,0,77607898050959,-0,0872536208902763,-0,136667398600135 28 | 2011,0,77673658396209,-0,087016826723588,-0,136246589314324 29 | 2012,0,777529960096447,-0,085776476682307,-0,136693563221248 30 | 2013,0,777774066180112,-0,0844247793323537,-0,137801154487536 31 | 2014,0,778711497669898,-0,0834989602456167,-0,137789542084488 32 | 2015,0,781085206942682,-0,0834823171562794,-0,13543247590104 33 | 2016,0,779304075834682,-0,0872732104676085,-0,133422713697711 34 | 2017,0,777537529460116,-0,0895775161189469,-0,132884954420939 35 | 2018,0,776814718686387,-0,0914858416578512,-0,131699439655764 36 | 2019,0,789093096461922,-0,0679815307167857,-0,142925372821293 37 | 2020,0,787850117742819,-0,0672493503101058,-0,144900531947075 38 | 2021,0,78639963598489,-0,0657860086055267,-0,147814355409584 39 | -------------------------------------------------------------------------------- /1-general-map/utils/toNext_eval/table/acc_collections/col71_nv1.csv: -------------------------------------------------------------------------------- 1 | "Ano","Acurácia","Discordância de Área","Discordância de Alocação", "X", "Y" 2 | 1985,0,807824652455314,-0,00805626760271355,-0,184119079941979 3 | 1986,0,807156095525204,-0,0109053191617005,-0,181938585313103 4 | 1987,0,814184007432019,-0,0209859252121955,-0,164830067355793 5 | 1988,0,817054697729361,-0,0279599681177695,-0,154985334152874 6 | 1989,0,820378047264292,-0,0344748137918975,-0,145147138943815 7 | 1990,0,823663638651964,-0,0372276119849266,-0,139108749363114 8 | 1991,0,826332322324982,-0,0381884845883435,-0,135479193086679 9 | 1992,0,829596024524387,-0,0396456213183834,-0,130758354157234 10 | 1993,0,832929297262456,-0,0413704534064496,-0,125700249331099 11 | 1994,0,836329521107529,-0,0422350417496731,-0,121435437142803 12 | 1995,0,83845792575986,-0,0428405911778318,-0,118701483062312 13 | 1996,0,840311507870074,-0,0410681628972129,-0,118620329232718 14 | 1997,0,844229460717513,-0,0393593685792382,-0,116411170703254 15 | 1998,0,846661087139992,-0,0393029014329282,-0,114036011427084 16 | 1999,0,847354314888728,-0,0402279119524463,-0,112417773158829 17 | 2000,0,847639848642138,-0,0421743634979061,-0,110185787859959 18 | 2001,0,848501650412166,-0,044887626297639,-0,106610723290197 19 | 2002,0,849335398361394,-0,0453061195723684,-0,105358482066237 20 | 2003,0,851853956195954,-0,0455444169127816,-0,102601626891264 21 | 2004,0,851862006129737,-0,0447476190281393,-0,103390374842122 22 | 2005,0,850565551808528,-0,046477350536175,-0,102957097655298 23 | 2006,0,851663570929795,-0,0463064430723214,-0,102029985997884 24 | 2007,0,852391255821389,-0,0464617286353201,-0,101147015543292 25 | 2008,0,851453149665022,-0,0471098967032694,-0,10143695363171 26 | 2009,0,850930074152444,-0,047656741003903,-0,101413184843653 27 | 2010,0,852718389856311,-0,0483708565453555,-0,0989107535983343 28 | 2011,0,851912409115464,-0,0498277466254227,-0,0982598442591136 29 | 2012,0,852437155470044,-0,0487280081236818,-0,0988348364062749 30 | 2013,0,852051554389315,-0,0490112974853661,-0,0989371481253204 31 | 2014,0,852769105226011,-0,0489833500274937,-0,0982475447464976 32 | 2015,0,85370703843915,-0,0490872257351204,-0,0972057358257333 33 | 2016,0,852274728628947,-0,0499073350101299,-0,0978179363609261 34 | 2017,0,851652316669758,-0,0513054921501222,-0,0970421911801241 35 | 2018,0,850415165275824,-0,053675622578838,-0,0959092121453418 36 | 2019,0,860813778599944,-0,0281738109889195,-0,111012410411139 37 | 2020,0,86054521615796,-0,0299610733797539,-0,109493710462288 38 | 2021,0,857515649426843,-0,0305120846496201,-0,111972265923538 39 | -------------------------------------------------------------------------------- /1-general-map/utils/toNext_eval/table/acc_collections/col7_nv1.csv: -------------------------------------------------------------------------------- 1 | "Ano","Acurácia","Discordância de Área","Discordância de Alocação", "X", "Y" 2 | 1985,0,807824652455314,-0,00805626760271356,-0,184119079941979 3 | 1986,0,807156095525204,-0,0109053191617005,-0,181938585313103 4 | 1987,0,814184007432019,-0,0209859252121955,-0,164830067355793 5 | 1988,0,817054697729361,-0,0279599681177695,-0,154985334152874 6 | 1989,0,820378047264292,-0,0344748137918975,-0,145147138943815 7 | 1990,0,823663638651964,-0,0372276119849266,-0,139108749363114 8 | 1991,0,826332322324982,-0,0381884845883435,-0,135479193086679 9 | 1992,0,829596024524387,-0,0396456213183834,-0,130758354157234 10 | 1993,0,832929297262456,-0,0413704534064496,-0,125700249331099 11 | 1994,0,836329521107529,-0,0422350417496731,-0,121435437142803 12 | 1995,0,838375375791542,-0,042923141146149,-0,118701483062312 13 | 1996,0,840229033122572,-0,0411506376447146,-0,118620329232718 14 | 1997,0,844229460717513,-0,0393593685792382,-0,116411170703254 15 | 1998,0,846661087139992,-0,0393029014329282,-0,114036011427084 16 | 1999,0,847354314888728,-0,0402279119524463,-0,112417773158829 17 | 2000,0,847639848642138,-0,0421743634979061,-0,110185787859959 18 | 2001,0,848501650412166,-0,044887626297639,-0,106610723290197 19 | 2002,0,849335398361394,-0,0453061195723684,-0,105358482066237 20 | 2003,0,85179419605453,-0,0456041770542053,-0,102601626891264 21 | 2004,0,851862006129737,-0,0447476190281393,-0,103390374842122 22 | 2005,0,850565551808528,-0,046477350536175,-0,102957097655298 23 | 2006,0,851598172602259,-0,0463718413998581,-0,102029985997884 24 | 2007,0,852325855210221,-0,046527129246488,-0,101147015543292 25 | 2008,0,851453149665022,-0,0471098967032694,-0,10143695363171 26 | 2009,0,850860136316508,-0,0477266788398395,-0,101413184843653 27 | 2010,0,852675822513282,-0,0483282892023267,-0,0989958882843918 28 | 2011,0,851869737931724,-0,0497850754416823,-0,0983451866265944 29 | 2012,0,852437155470044,-0,0487280081236818,-0,0988348364062749 30 | 2013,0,852106366162793,-0,0489564857118886,-0,0989371481253204 31 | 2014,0,852823960757144,-0,0489284944963606,-0,0982475447464976 32 | 2015,0,853761878692383,-0,0490323854818868,-0,0972057358257333 33 | 2016,0,852329633069308,-0,0498524305697691,-0,0978179363609261 34 | 2017,0,851701218817667,-0,0512526354211642,-0,0970461457611726 35 | 2018,0,850524022815557,-0,0535628572550845,-0,0959131199293625 36 | 2019,0,860930108491973,-0,0280574810968904,-0,111012410411139 37 | 2020,0,860705273364478,-0,029801016173235,-0,109493710462288 38 | 2021,0,858156848118215,-0,0297245711829296,-0,112118580698858 39 | -------------------------------------------------------------------------------- /2-rocky-outcrop/01_computeProportion.js: -------------------------------------------------------------------------------- 1 | // -- -- -- -- 01_trainingMask 2 | // get samples of rocky outcrop 3 | // barbara.silva@ipam.org.br 4 | 5 | 6 | // // input metadata 7 | var version = '3'; 8 | 9 | // define classes to be assessed 10 | var classes = [3, 4, 11, 12, 15, 19, 21, 33]; 11 | 12 | // output directory 13 | var dirout = 'users/barbarasilvaIPAM/rocky_outcrop/collection8/sample/area/'; 14 | 15 | // area of interest for rocky outcrop 16 | 17 | // stable pixels collection 6 18 | var stable = ee.Image('projects/ee-barbarasilvaipam/assets/collection8/masks/cerrado_stablePixels_1985_2021_v2') 19 | .updateMask(aoi.eq(1)); 20 | 21 | // import the color ramp module from mapbiomas 22 | var palettes = require('users/mapbiomas/modules:Palettes.js'); 23 | var vis = { 24 | 'min': 0, 25 | 'max': 62, 26 | 'palette': palettes.get('classification7') 27 | }; 28 | 29 | // get cerrado biome 30 | var cerrado = ee.FeatureCollection('projects/mapbiomas-workspace/AUXILIAR/biomas-2019') 31 | .filterMetadata('Bioma', 'equals', 'Cerrado'); 32 | 33 | // define function to compute area (skm) 34 | var pixelArea = ee.Image.pixelArea().divide(1000000); 35 | 36 | // define function to get class area 37 | // for each region 38 | var getArea = function(feature) { 39 | // get classification for the region [i] 40 | var mapbiomas_i = stable.clip(feature); 41 | // for each class [j] 42 | classes.forEach(function(class_j) { 43 | // create the reference area 44 | var reference_ij = pixelArea.mask(mapbiomas_i.eq(class_j)); 45 | // compute area and insert as metadata into the feature 46 | feature = feature.set(String(class_j), 47 | ee.Number(reference_ij.reduceRegion({ 48 | reducer: ee.Reducer.sum(), 49 | geometry: feature.geometry(), 50 | scale: 30, 51 | maxPixels: 1e13 } 52 | ).get('area') 53 | ) 54 | ); // end of set 55 | }); // end of class_j function 56 | // return feature 57 | return feature; 58 | }; 59 | 60 | var computed_obj = cerrado.map(getArea); 61 | print (computed_obj); 62 | 63 | Map.addLayer(aoi, {palette: ['red']}, 'aoi'); 64 | Map.addLayer(stable, vis, 'stable'); 65 | 66 | // export computation as GEE asset 67 | Export.table.toAsset({'collection': computed_obj, 68 | 'description': 'stable_v' + version, 69 | 'assetId': dirout + 'stable_v' + version}); 70 | 71 | -------------------------------------------------------------------------------- /1-general-map/utils/misc/00_collections_global_accuracy.R: -------------------------------------------------------------------------------- 1 | ## accuracy analisys from collection 6 2 | 3 | library(ggplot2) 4 | library(ggrepel) 5 | library(dplyr) 6 | library(sf) 7 | library(stringr) 8 | library(tools) 9 | library(ggpmisc) 10 | 11 | ## avoid sicentific notations 12 | options(scipen=999) 13 | 14 | ## define function to read data 15 | readData <- function (path) { 16 | ## list files 17 | files <- list.files(path, full.names= TRUE) 18 | ## create an empty recipe 19 | recipe <- as.data.frame(NULL) 20 | ## start file reading 21 | for (k in 1:length(files)) { 22 | ## read raw file 23 | x <- read.csv(files[k], dec=',', sep=',', encoding="UTF-8") 24 | 25 | ## build data frame 26 | y <- as.data.frame(cbind( 27 | year = rownames(x), 28 | accuracy = paste0(x$X.U.FEFF.Ano, '.', x$Acurácia), 29 | area_discordance = paste0(x$Discordância.de.Área, '.', x$Discordância.de.Alocação), 30 | allocation_discordance = paste0(x$X, '.', x$Y), 31 | ## parse collection string 32 | collection = rep(sapply(strsplit( 33 | file_path_sans_ext( 34 | list.files(path)), 35 | split='_', fixed=TRUE), 36 | function(x) (x[1]))[k], nrow(x)), 37 | ## parse level string 38 | level = rep(sapply(strsplit( 39 | file_path_sans_ext( 40 | list.files(path)), 41 | split='_', fixed=TRUE), 42 | function(x) (x[2]))[k], nrow(x) 43 | ) 44 | ) 45 | ) 46 | ## merge with recipe 47 | recipe <- rbind(recipe, y) 48 | } 49 | return (recipe) 50 | } 51 | 52 | ## import file 53 | data <- readData(path= './table/acc_collections') 54 | 55 | ## rename collections 56 | data$collection <- gsub('col31', '3.1', 57 | gsub('col41', '4.1', 58 | gsub('col5', '5', 59 | gsub('col6', '6', 60 | data$collection)))) 61 | 62 | ## rename levels 63 | data$level <- gsub('nv1', 'Level-1', 64 | gsub('nv3', 'Level-3', 65 | data$level)) 66 | 67 | ## plot accuracy 68 | ggplot(data, mapping= aes(x=as.numeric(year), y= as.numeric(accuracy), 69 | colour= collection, group=collection)) + 70 | geom_line(size=1, alpha=0.7) + 71 | geom_point(size=2) + 72 | scale_colour_manual('Collection', values=c('red', 'orange', 'purple', 'darkgreen')) + 73 | facet_wrap(~level, ncol=1, nrow=2, scales='free_y') + 74 | xlab(NULL) + 75 | ylab('Global acc.') + 76 | theme_bw() 77 | 78 | ## compute means 79 | aggregate(x=list(value=as.numeric(data$accuracy)), by=list(collection=data$collection, level= data$level), FUN='mean') 80 | 81 | ## collection 6 82 | col6 <- subset(data, collection == '6' & level == 'Level-3') 83 | -------------------------------------------------------------------------------- /1-general-map/utils/misc/04_specific_accuracy_agro.R: -------------------------------------------------------------------------------- 1 | ## accuracy analisys from collection 6 2 | library(ggplot2) 3 | library(ggrepel) 4 | library(dplyr) 5 | library(sf) 6 | library(stringr) 7 | library(tools) 8 | library(ggpmisc) 9 | 10 | ## avoid sicentific notations 11 | options(scipen=999) 12 | 13 | ## list files 14 | files <- list.files('./table/acc_classes_agro', full.names= TRUE) 15 | filenames <- file_path_sans_ext(list.files('./table/acc_classes_agro', full.names= FALSE)) 16 | 17 | ## create an empty recipe 18 | recipe <- as.data.frame(NULL) 19 | ## build files for analysis 20 | for (i in 1:length(files)) { 21 | ## read file 22 | y <- read.csv(files[i], sep=';', dec=',') 23 | ## parse reference class 24 | y$class <- sapply(strsplit(filenames[i], split='_', fixed=TRUE), function(x) (x[1])) 25 | y$metric <- sapply(strsplit(filenames[i], split='_', fixed=TRUE), function(x) (x[2])) 26 | ## compute value of the metric 27 | y$value <- 1 - y[, unique(y$class)] 28 | ## merge 29 | recipe <- rbind(y, recipe) 30 | rm(y) 31 | } 32 | 33 | ## rename metric 34 | recipe$metric <- gsub('omission', 'Omission', 35 | gsub('commission', 'Commission', 36 | recipe$metric)) 37 | 38 | ## plot 39 | ggplot(data= recipe, mapping= aes(x= year, y= value, colour= class)) + 40 | geom_line(size=1) + 41 | geom_point() + 42 | scale_colour_manual('Class', values=c('#ad4413', '#f3b4f1', '#982c9e'), 43 | labels=c('Forestry', 'Perennial crop', 'Temporary crop')) + 44 | facet_wrap(~metric, nrow=2, ncol=1) + 45 | theme_bw() + 46 | xlab(NULL) + 47 | ylab('Error') 48 | 49 | ## bind errors per type 50 | recipe2 <- as.data.frame(NULL) 51 | for (j in 1:length(unique(recipe$class))) { 52 | ## melt data 53 | y <- subset(recipe, class == unique(recipe$class)[j]) 54 | ## remove matches 55 | y <- y[!names(y) %in% c(unique(y$class), 'value', 'urban', 'water')] 56 | ## melt 57 | y <- reshape2::melt(y, id.vars= c('year', 'class', 'metric')) 58 | ## adjust 59 | y$value <- y$value * -1 60 | ## bind 61 | recipe2 <- rbind(y, recipe2) 62 | } 63 | 64 | ## rename 65 | recipe2$class <- gsub('forestry', 'Forestry', 66 | gsub('permanent.crop', 'Perennial crop', 67 | gsub('temp.crop', 'Temporary crop', 68 | recipe2$class))) 69 | 70 | ## plot detailed errors 71 | ggplot(data= recipe2, mapping= aes(x= year, y= value, fill= variable)) + 72 | geom_area(stat='identity', alpha=0.9) + 73 | scale_fill_manual('Class', values=c('#006400', '#00ff00', '#B8AF4F', '#FFD966', '#982c9e', '#f3b4f1', '#fff3bf', '#ad4413'), 74 | labels=c('Forest', 'Savanna', 'Grassland', 'Pasture', 'Temporary crop', 'Perennial crop', 'Mosaic of A/P', 'Forestry')) + 75 | facet_grid(class~metric) + 76 | theme_bw() 77 | 78 | -------------------------------------------------------------------------------- /3-integration/getAccuracy/01_collectionAccuracy.R: -------------------------------------------------------------------------------- 1 | ## accuracy analisys from collection 6 2 | 3 | library(ggplot2) 4 | library(ggrepel) 5 | library(dplyr) 6 | library(sf) 7 | library(stringr) 8 | library(tools) 9 | library(ggpmisc) 10 | 11 | ## avoid sicentific notations 12 | options(scipen=999) 13 | 14 | ## define function to read data 15 | readData <- function (path) { 16 | ## list files 17 | files <- list.files(path, full.names= TRUE) 18 | ## create an empty recipe 19 | recipe <- as.data.frame(NULL) 20 | ## start file reading 21 | for (k in 1:length(files)) { 22 | ## read raw file 23 | x <- read.csv(files[k], dec='.', sep=',', encoding="UTF-8") 24 | 25 | ## build data frame 26 | y <- as.data.frame(cbind( 27 | year = as.numeric(x$Ano), 28 | accuracy = as.numeric(x$Acurácia), 29 | area_discordance = as.numeric(x$Discordância.de.Área), 30 | allocation_discordance = as.numeric(x$Discordância.de.Alocação), 31 | 32 | ## parse collection string 33 | collection = rep(sapply(strsplit( 34 | file_path_sans_ext( 35 | list.files(path)), 36 | split='_', fixed=TRUE), 37 | function(x) (x[1]))[k], nrow(x)), 38 | 39 | ## parse level string 40 | level = rep(sapply(strsplit( 41 | file_path_sans_ext( 42 | list.files(path)), 43 | split='_', fixed=TRUE), 44 | function(x) (x[2]))[k], nrow(x) 45 | ) 46 | ) 47 | ) 48 | ## merge with recipe 49 | recipe <- rbind(recipe, y) 50 | } 51 | return (recipe) 52 | } 53 | 54 | ## import file 55 | data <- readData(path= './table/') 56 | 57 | ## rename collections 58 | data$collection <- gsub('col3.1', '3.1', 59 | gsub('col4.1', '4.1', 60 | gsub('col5', '5', 61 | gsub('col6', '6', 62 | gsub('col7.1', '7.1', 63 | gsub('col8', '8', 64 | data$collection)))))) 65 | 66 | ## rename levels 67 | data$level <- gsub('nv1', 'Level-1', 68 | gsub('nv3', 'Level-3', 69 | data$level)) 70 | 71 | library(scales) 72 | 73 | ## plot accuracy 74 | ggplot(data, mapping= aes(x=as.numeric(year), y= as.numeric(accuracy), 75 | colour= collection, group=collection)) + 76 | geom_line(size=1, alpha=0.7) + 77 | geom_line(size=4, alpha=0.1) + 78 | 79 | #geom_point(size=2) + 80 | scale_colour_manual('Collection', values=c('blue', 'cyan', 'violet', 'gray80', 'orange','red3')) + 81 | facet_wrap(~level, ncol=2, nrow=1, scales='free_y') + 82 | ylab('Global accuracy') + 83 | xlab('year') + 84 | theme_bw() + 85 | scale_x_continuous(limits = c(1985, NA)) 86 | 87 | ## compute means 88 | aggregate(x=list(value=as.numeric(data$accuracy)), by=list(collection=data$collection, level= data$level), FUN='mean') 89 | -------------------------------------------------------------------------------- /1-general-map/utils/misc/03_specific_accuracy.R: -------------------------------------------------------------------------------- 1 | ## accuracy analisys from collection 6 2 | library(ggplot2) 3 | library(ggrepel) 4 | library(dplyr) 5 | library(sf) 6 | library(stringr) 7 | library(tools) 8 | library(ggpmisc) 9 | 10 | ## avoid sicentific notations 11 | options(scipen=999) 12 | 13 | ## list files 14 | files <- list.files('./table/acc_classes', full.names= TRUE) 15 | filenames <- file_path_sans_ext(list.files('./table/acc_classes', full.names= FALSE)) 16 | 17 | ## create an empty recipe 18 | recipe <- as.data.frame(NULL) 19 | ## build files for analysis 20 | for (i in 1:length(files)) { 21 | ## read file 22 | y <- read.csv(files[i], sep=';', dec=',') 23 | ## parse reference class 24 | y$class <- sapply(strsplit(filenames[i], split='_', fixed=TRUE), function(x) (x[1])) 25 | y$metric <- sapply(strsplit(filenames[i], split='_', fixed=TRUE), function(x) (x[2])) 26 | ## compute value of the metric 27 | y$value <- 1 - y[, unique(y$class)] 28 | ## merge 29 | recipe <- rbind(y, recipe) 30 | rm(y) 31 | } 32 | 33 | ## rename metric 34 | recipe$metric <- gsub('omission', 'Omission', 35 | gsub('commission', 'Commission', 36 | recipe$metric)) 37 | 38 | ## plot 39 | ggplot(data= recipe, mapping= aes(x= year, y= value, colour= class)) + 40 | geom_line(size=1) + 41 | geom_point() + 42 | scale_colour_manual('Class', values=c('#006400', '#B8AF4F', '#f1c232', '#00ff00'), 43 | labels=c('Forest Formation', 'Grassland', 'Mosaic of A/P', 'Savanna Formation')) + 44 | facet_wrap(~metric, nrow=2, ncol=1) + 45 | theme_bw() + 46 | xlab(NULL) + 47 | ylab('Error') 48 | 49 | ## bind errors per type 50 | recipe2 <- as.data.frame(NULL) 51 | for (j in 1:length(unique(recipe$class))) { 52 | ## melt data 53 | y <- subset(recipe, class == unique(recipe$class)[j]) 54 | ## remove matches 55 | y <- y[!names(y) %in% c(unique(y$class), 'value', 'temp.crop', 'permanent.crop', 'urban', 'water')] 56 | ## melt 57 | y <- reshape2::melt(y, id.vars= c('year', 'class', 'metric')) 58 | ## adjust 59 | y$value <- y$value * -1 60 | ## bind 61 | recipe2 <- rbind(y, recipe2) 62 | } 63 | 64 | ## rename 65 | recipe2$class <- gsub('forest', 'Forest', 66 | gsub('savanna', 'Savanna', 67 | gsub('mosaic', 'Mosaic of A/P', 68 | gsub('grassland', 'Grassland', 69 | recipe2$class)))) 70 | 71 | ## plot detailed errors 72 | ggplot(data= recipe2, mapping= aes(x= year, y= value, fill= variable)) + 73 | geom_area(stat='identity', alpha=0.9) + 74 | scale_fill_manual('Class', values=c('#00ff00', '#B8AF4F', '#FFD966', '#ad4413', '#fff3bf', '#006400'), 75 | labels=c('Savanna', 'Grassland', 'Pasture', 'Forestry', 'Mosaic of A/P', 'Forest')) + 76 | facet_grid(class~metric) + 77 | theme_bw() 78 | 79 | -------------------------------------------------------------------------------- /1-general-map/utils/masks/deforestation_sad_alerta.js: -------------------------------------------------------------------------------- 1 | // get deforestation reference data from mapbiomas alertas and sad cerrado 2 | // dhemerson.costa@ipam.org.br 3 | 4 | var geometry = 5 | ee.Geometry.Polygon( 6 | [[[-66.83608510740797, 1.4526246939509826], 7 | [-66.83608510740797, -31.38895083817552], 8 | [-36.77749135740797, -31.38895083817552], 9 | [-36.77749135740797, 1.4526246939509826]]], null, false); 10 | 11 | 12 | // sad 13 | // 2022-2023 14 | var sad = ee.FeatureCollection('projects/ee-sad-cerrado/assets/PUBLIC/SAD_CERRADO_ALERTAS') 15 | // bind 2021 data 16 | .merge(ee.FeatureCollection('projects/ee-sad-cerrado/assets/WARNINGS/SAD_CERRADO_ALERTAS_2021')) 17 | // extract year from 'change_dt' and retain only last two digits (e. g. 2022 -> 22) 18 | //.map(function(feature) { 19 | // var year = ee.String(feature.get('change_dt')).slice(0, 4); 20 | // var lastTwoDigits = year.slice(2); 21 | // return feature.set('year', ee.Number(lastTwoDigits)); 22 | //}) 23 | // remove 2023 data 24 | .filterMetadata('detect_mon', 'less_than', 2301); 25 | 26 | 27 | // alertas 28 | var alertas = ee.FeatureCollection('projects/ee-robertarocha/assets/MapBiomasAlerta_total') 29 | // get only deeforestation year (last two digits) 30 | .map(function(feature) { 31 | return feature.set('year', ee.Number(ee.String(ee.Number.parse( 32 | feature.get('AnoDetec')).int()).slice(2))); 33 | }); 34 | 35 | // build images 36 | var sad_image = ee.Image(1).clip(sad); 37 | var alertas_image = ee.Image(1).clip(alertas); 38 | 39 | Map.addLayer(sad_image, {palette: ['orange'], min:0, max:1}, 'SAD'); 40 | Map.addLayer(alertas_image, {palette: ['yellow'], min:0, max: 1}, 'ALERTA'); 41 | 42 | var dirout = 'projects/ee-ipam-cerrado/assets/Collection_8/masks/'; 43 | 44 | // export 45 | Export.image.toAsset({ 46 | image: sad_image, 47 | description: 'sad-image-21_22', 48 | assetId: dirout+'sad-image-21_22', 49 | assetId: 'export/sad-image-21_22', 50 | region: geometry, 51 | scale: 30, 52 | maxPixels: 1e13, 53 | }); 54 | 55 | // export 56 | Export.image.toAsset({ 57 | image: alertas_image, 58 | description: 'alerta-image-16-22', 59 | assetId: dirout+'alerta-image-16-22', 60 | assetId: 'export/alerta-image-16-22', 61 | region: geometry, 62 | scale: 30, 63 | maxPixels: 1e13, 64 | }); 65 | 66 | // get samples 67 | var samples = ee.FeatureCollection('users/barbarasilvaIPAM/collection8/sample/points/samplePoints_v1'); 68 | 69 | // apply pallete 70 | // set mapbiomas pallete 71 | var palettes = require('users/mapbiomas/modules:Palettes.js'); 72 | var paletteMapBiomas = palettes.get('classification6'); 73 | 74 | // make samples colored 75 | samples = samples.map( 76 | function (feature) { 77 | return feature.set('style', { 78 | 'color': ee.List(paletteMapBiomas) 79 | .get(feature.get('reference')), 80 | 'width': 1, 81 | }); 82 | } 83 | ).style( 84 | { 85 | 'styleProperty': 'style' 86 | } 87 | ); 88 | 89 | Map.addLayer(samples, {}, 'MapBiomas Samples') 90 | -------------------------------------------------------------------------------- /1-general-map/09_frequency.js: -------------------------------------------------------------------------------- 1 | // -- -- -- -- 09_frequency 2 | // frequency filter 3 | // barbara.silva@ipam.org.br 4 | 5 | // set root directory 6 | var root = 'projects/mapbiomas-workspace/COLECAO_DEV/COLECAO8_DEV/'; 7 | 8 | // set metadata 9 | var version_input = '14' 10 | var version_out = '14'; 11 | 12 | // define input file 13 | var file_in = 'CERRADO_col8_gapfill_incidence_temporal_step-b_v'+version_input; 14 | 15 | // load classification 16 | var classification = ee.Image(root + file_in); 17 | print ('input', classification); 18 | 19 | // import mapbiomas color ramp 20 | var vis = { 21 | min: 0, 22 | max: 62, 23 | palette:require('users/mapbiomas/modules:Palettes.js').get('classification7'), 24 | }; 25 | 26 | // define the function to calc frequencies 27 | var filterFreq = function(image) { 28 | // expression to get frequency 29 | var exp = '100*((b(0)+b(1)+b(2)+b(3)+b(4)+b(5)+b(6)+b(7)+b(8)+b(9)+b(10)' + 30 | '+b(11)+b(12)+b(13)+b(14)+b(15)+b(16)+b(17)+b(18)+b(19)+b(20)' + 31 | '+b(21)+b(22)+b(23)+b(24)+b(25)+b(26)+b(27)+b(28)+b(29)+b(30)' + 32 | '+b(31)+b(32)+b(33)+b(34)+b(35)+b(36)+b(37))/38)'; 33 | 34 | // get per class frequency 35 | var forest = image.eq(3).expression(exp); 36 | var savanna = image.eq(4).expression(exp); 37 | var wetland = image.eq(11).expression(exp); 38 | var grassland = image.eq(12).expression(exp); 39 | 40 | // select pixels that were native vegetation at least 95% of the time series 41 | var stable_native = ee.Image(0).where(forest 42 | .add(savanna) 43 | .add(wetland) 44 | .add(grassland) 45 | .gte(90), 1); 46 | 47 | // stabilize native class when: 48 | var filtered = ee.Image(0).where(stable_native.eq(1).and(forest.gte(75).and(classification.select(['classification_2022']).neq(3))), 3) 49 | .where(stable_native.eq(1).and(wetland.gte(50)), 11) 50 | .where(stable_native.eq(1).and(savanna.gt(50)), 4) 51 | .where(stable_native.eq(1).and(grassland.gt(50)), 12); 52 | 53 | // get only pixels to be filtered 54 | filtered = filtered.updateMask(filtered.neq(0)); 55 | 56 | return image.where(filtered, filtered); 57 | }; 58 | 59 | // apply function 60 | var classification_filtered = filterFreq(classification); 61 | 62 | // plot 63 | Map.addLayer(classification.select(['classification_1990']), vis, 'classification'); 64 | Map.addLayer(classification_filtered.select(['classification_1990']), vis, 'filtered'); 65 | 66 | print ('output', classification_filtered); 67 | 68 | // export as GEE asset 69 | Export.image.toAsset({ 70 | 'image': classification_filtered, 71 | 'description': 'CERRADO_col8_gapfill_incidence_temporal_frequency_v' + version_out, 72 | 'assetId': root + 'CERRADO_col8_gapfill_incidence_temporal_frequency_v' + version_out, 73 | 'pyramidingPolicy': { 74 | '.default': 'mode' 75 | }, 76 | 'region': classification.geometry(), 77 | 'scale': 30, 78 | 'maxPixels': 1e13 79 | }); 80 | -------------------------------------------------------------------------------- /2-rocky-outcrop/08_computeProportion_step2.js: -------------------------------------------------------------------------------- 1 | // -- -- -- -- 08_computeProportion_step2 2 | // compute area to sort samples - second phase 3 | // barbara.silva@ipam.org.br 4 | 5 | // // input metadata 6 | var version = '4'; 7 | 8 | // define classes to be assessed 9 | var classes = [3, 4, 11, 12, 15, 19, 21, 29, 33]; 10 | 11 | // output directory 12 | var dirout = 'projects/ee-barbaracsilva/assets/Collection_8/rocky-outcrop_step2/sample/area/'; 13 | 14 | // area of interest for rocky outcrop 15 | var aoi = ee.Image(1).clip(ee.FeatureCollection('projects/ee-barbarasilvaipam/assets/collection8-rocky/masks/aoi_v5')); 16 | 17 | // rocky ouytcrop 18 | var rocky = ee.Image('projects/ee-barbarasilvaipam/assets/collection8-rocky/general-class-post/CERRADO_col8_rocky_gapfill_frequency_spatial_v4') 19 | .select(['classification_2021']); 20 | 21 | // stable pixels collection 7.1 22 | var stable = ee.Image('projects/ee-barbarasilvaipam/assets/collection8/masks/cerrado_stablePixels_1985_2021_v2') 23 | // insert rocky outcrop 24 | .blend(rocky.updateMask(rocky.eq(29))) 25 | .updateMask(aoi.eq(1)); 26 | 27 | // import the color ramp module from mapbiomas 28 | var palettes = require('users/mapbiomas/modules:Palettes.js'); 29 | var vis = { 30 | 'min': 0, 31 | 'max': 62, 32 | 'palette': palettes.get('classification7') 33 | }; 34 | 35 | // get cerrado biome 36 | var cerrado = ee.FeatureCollection('projects/mapbiomas-workspace/AUXILIAR/biomas-2019') 37 | .filterMetadata('Bioma', 'equals', 'Cerrado'); 38 | 39 | // define function to compute area (skm) 40 | var pixelArea = ee.Image.pixelArea().divide(1000000); 41 | 42 | // define function to get class area 43 | // for each region 44 | var getArea = function(feature) { 45 | // get classification for the region [i] 46 | var mapbiomas_i = stable.clip(feature); 47 | // for each class [j] 48 | classes.forEach(function(class_j) { 49 | // create the reference area 50 | var reference_ij = pixelArea.mask(mapbiomas_i.eq(class_j)); 51 | // compute area and insert as metadata into the feature 52 | feature = feature.set(String(class_j), 53 | ee.Number(reference_ij.reduceRegion({ 54 | reducer: ee.Reducer.sum(), 55 | geometry: feature.geometry(), 56 | scale: 30, 57 | maxPixels: 1e13 58 | }).get('area') 59 | ) 60 | ); // end of set 61 | }); // end of class_j function 62 | // return feature 63 | return feature; 64 | }; 65 | 66 | var computed_obj = cerrado.map(getArea); 67 | print (computed_obj); 68 | 69 | Map.addLayer(aoi, {palette: ['red', 'blue'], min:1, max:2}, 'aoi'); 70 | Map.addLayer(stable, vis, 'stable'); 71 | 72 | // export computation as GEE asset 73 | Export.table.toAsset({'collection': computed_obj, 74 | 'description': 'stable_v' + version, 75 | 'assetId': dirout + 'stable_v' + version}); 76 | -------------------------------------------------------------------------------- /1-general-map/utils/segments/inspectBalancing.R: -------------------------------------------------------------------------------- 1 | ## get balancing parameters and perform adjustment 2 | ## dhemerson.costa@ipam.org.br 3 | 4 | ## load packages 5 | library(rgee) 6 | library(sf) 7 | library(caret) 8 | library(randomForest) 9 | library(AppliedPredictiveModeling) 10 | 11 | ## initialize earth engine 12 | ee_Initialize() 13 | 14 | ## load unfiltered samples 15 | samples <- ee_as_sf(ee$FeatureCollection('users/dh-conciani/collection7/sample/points/samplePoints_v2'), 16 | maxFeatures= 1e6, 17 | via= 'drive') 18 | 19 | ## load samples filtered by segments 20 | filtered <- ee_as_sf(ee$FeatureCollection('users/dh-conciani/collection7/sample/filtered_points/consolidated/samplePoints_filtered_v2'), 21 | maxFeatures= 1e6, 22 | via= 'drive') 23 | 24 | ## load classification regions 25 | regions <- ee_as_sf(ee$FeatureCollection('users/dh-conciani/collection7/classification_regions/vector'), 26 | via= 'getInfo') 27 | 28 | ## load validation points 29 | validation <- ee_as_sf(ee$FeatureCollection('projects/mapbiomas-workspace/VALIDACAO/MAPBIOMAS_100K_POINTS_utf8') 30 | ## filter to the extent of classification regions 31 | $filterBounds(ee$FeatureCollection('users/dh-conciani/collection7/classification_regions/vector')), 32 | maxFeatures= 1e6, 33 | via= 'drive') 34 | 35 | ## remove validation points that have been edited 36 | validation <- subset(validation, POINTEDITE != 'true') 37 | 38 | ## paste metadata 39 | filtered$version <- 'filtered_by_segments' 40 | samples$version <- 'unfiltered'; samples <- samples[-2] 41 | data <- rbind(filtered, samples) 42 | 43 | ## plot 44 | ggplot(data= data, mapping= aes(x= as.factor(reference), fill= as.factor(reference))) + 45 | facet_wrap(~version) + 46 | stat_count(alpha=0.9) + 47 | scale_fill_manual('Class', values=c('#006400', '#00ff00', '#B8AF4F', '#FFD966', '#E974ED', '#fff3bf', '#ff3d3d', '0000FF')) + 48 | theme_bw() + 49 | xlab('Mapbiomas class') + 50 | ylab('n. of samples') 51 | 52 | 53 | ## compute regionalized distributions 54 | ## set recipe 55 | recipe <- as.data.frame(NULL) 56 | for (i in 1:length(unique(regions$mapb))) { 57 | ## print region name 58 | print(unique(regions$mapb)[i]) 59 | ## subset region 60 | region_i <- subset(regions, mapb == regions$mapb[i]) 61 | ## clip samples for the region [i] 62 | print('computing intersection') 63 | data_i <- st_intersection(data, region_i) 64 | data_i$value <- 1 ## insert value to identify points 65 | 66 | ## count the number of samples in each class and version 67 | prop_i <- aggregate(x=list(count= data_i$value), 68 | by= list(class= data_i$reference, version= data_i$version), 69 | FUN = 'sum') 70 | 71 | ## set recipe_j and compute proportions 72 | recipe_j <- as.data.frame(NULL) 73 | ## for each version 74 | for (j in 1:length(unique(prop_i$version))) { 75 | temp <- subset(prop_i, version == unique(prop_i$version)[j]) 76 | temp$ratio <- temp$count/sum(temp$count) * 100 77 | recipe_j <- rbind(recipe_j, temp); rm(temp) 78 | } 79 | ## remove temporary files 80 | rm(region_i, data_i, prop_i, recipe_j, temp); gc() 81 | } 82 | 83 | 84 | -------------------------------------------------------------------------------- /1-general-map/02_computeProportion.js: -------------------------------------------------------------------------------- 1 | // -- -- -- -- 02_computeProportion 2 | // compute area by ecoregion to be used as reference to estimate samples distribution 3 | // barbara.silva@ipam.org.br and dhemerson.costa@ipam.org.br 4 | 5 | // input metadata 6 | var version = '2'; 7 | 8 | // define classes to be assessed 9 | var classes = [3, 4, 11, 12, 15, 19, 21, 25, 33]; 10 | 11 | // output directory 12 | var dirout = 'projects/ee-barbarasilvaipam/assets/collection8/sample/area'; 13 | 14 | // cerrado classification regions 15 | var regionsCollection = ee.FeatureCollection('users/dh-conciani/collection7/classification_regions/vector_v2'); 16 | 17 | // set option (avaliable are 'year' or 'stable') 18 | var option = 'year' ; 19 | 20 | // if option equal to year 21 | if (option == 'year') { 22 | 23 | // define year to be used as reference 24 | var year = '2000'; 25 | 26 | // load collection 7.1 27 | var mapbiomas = ee.Image('projects/mapbiomas-workspace/public/collection7_1/mapbiomas_collection71_integration_v1'); 28 | } 29 | 30 | if (option == 'stable') { 31 | var mapbiomas = ee.Image('projects/ee-barbarasilvaipam/assets/collection8/masks/cerrado_stablePixels_1985_2021_v2'); 32 | } 33 | 34 | // define function to compute area (skm) 35 | var pixelArea = ee.Image.pixelArea().divide(1000000); //km² 36 | 37 | // reclassify following cerrado strategy 38 | mapbiomas = mapbiomas.remap([3, 4, 5, 11, 12, 29, 15, 19, 39, 20, 40, 41, 46, 47, 48, 21, 23, 24, 30, 25, 33, 31], 39 | [3, 4, 3, 11, 12, 25, 15, 19, 19, 19, 19, 19, 19, 19, 19, 21, 25, 25, 25, 25, 33, 33]); 40 | 41 | // mapbiomas color pallete 42 | var palettes = require('users/mapbiomas/modules:Palettes.js'); 43 | var vis = { 44 | 'min': 0, 45 | 'max': 62, 46 | 'palette': palettes.get('classification7') 47 | }; 48 | 49 | // plot 50 | Map.addLayer(mapbiomas, vis, 'MapBiomas ' + year, true); 51 | 52 | // define function to get class area 53 | // for each region 54 | var getArea = function(feature) { 55 | // get classification for the region [i] 56 | var mapbiomas_i = mapbiomas.clip(feature); 57 | // for each class [j] 58 | classes.forEach(function(class_j) { 59 | // create the reference area 60 | var reference_ij = pixelArea.mask(mapbiomas_i.eq(class_j)); 61 | // compute area and insert as metadata into the feature 62 | feature = feature.set(String(class_j), 63 | ee.Number(reference_ij.reduceRegion({ 64 | reducer: ee.Reducer.sum(), 65 | geometry: feature.geometry(), 66 | scale: 30, 67 | maxPixels: 1e13 } 68 | ).get('area') 69 | ) 70 | ); // end of set 71 | }); // end of class_j function 72 | // return feature 73 | return feature; 74 | }; 75 | 76 | var computed_obj = regionsCollection.map(getArea); 77 | print (computed_obj); 78 | Map.addLayer(computed_obj, {}, 'Result'); 79 | 80 | // export computation as GEE asset 81 | Export.table.toAsset({'collection': computed_obj, 82 | 'description': year + '_v' + version, 83 | 'assetId': dirout + '/' + year + '_v' + version}); 84 | -------------------------------------------------------------------------------- /2-rocky-outcrop/README.md: -------------------------------------------------------------------------------- 1 | ## 01_computeProportion.js 2 | Calculates the area of each class in each classification region. These calculations will estimate the number of training samples in each class. 3 | 4 | ## 02_samplePoints.js 5 | Sort 13,000 training samples. 6 | 7 | ## 03_getSignatures.R 8 | Use the points generated in the previous step to extract the spectral signatures from the Landsat mosaic for each year. 9 | 10 | ## 04_rfClassification.R 11 | Performs the model training (`ee.Classifier.smileRandomForest()` ) and classification of the annual Landsat mosaics for each region. 12 | 13 | ## 05_gapFill.js 14 | No-data values (gaps) due to cloud and/or cloud shadow contaminated pixels in a given image were filled by the temporally nearest future valid classification. If no future valid classification was available, then the no-data value was replaced by its previous valid classification. Therefore, gaps should only remain in the final classified map when a given pixel was consistently classified as no-data throughout the entire temporal series. 15 | 16 | ## 06_frequency.js 17 | In the case of Rocky Outcrop, a criterion of 70% was applied in the first round of classification and 90% in the second. This frequency filter resulted in a more stable classification of rocky outcrop class. 18 | 19 | ## 07_spatial.js 20 | The spatial filter avoids misclassifications at the edge of pixel groups and was built based on the "connectedPixelCount" function. Native to the GEE platform, this function locates connected components (neighbors) that share the same pixel value. Thus, only pixels that do not share connections to a predefined number of identical neighbors are considered isolated. At least six connected pixels are required to reach the minimum connection value. Consequently, the minimum mapping unit is directly affected by the spatial filter applied, and it was defined as six pixels (0.54 hectares). 21 | 22 | ## 08_computeProportion_step2.js 23 | Same as 01_computeProportion.js, but using Rocky Outcrop samples from the last step 24 | 25 | ## 09_samplePoints_step2.js 26 | Same as 02_samplePoints.js 27 | 28 | ## 10_getSignatures_step2.R 29 | Same as 03_getSignatures.R 30 | 31 | ## 11_rfClassification_step2.R 32 | Same as 04_rfClassification.R 33 | 34 | ## 12_gapfill_step2_js 35 | Same as 05_gapFill.js 36 | 37 | ## 13_frequency_step2.js 38 | Same as 06_frequency.js 39 | 40 | ## 14_spatial_step2.js 41 | Same as 07_spatial.js 42 | 43 | ## 15_integrate.js 44 | Integrates the Rocky Outcrop map over the general map 45 | 46 | ## Classification schema: 47 | Overview of the methodology for the classification of Rocky Outcrop in Collection 8.0. Each gray geometry (cylinders for databases and rectangles for processes) represents a key step in the classification scheme—with the respective name inside. The gray text near databases and processes offers a short description of the step, while the green text highlights the main differences among stepwise classification. Arrows with a continuous black line connecting the key steps represent the main direction of the processing flux, and arrows with dotted black lines represent the databases that feed the main processes. Red text inside arrows refers to the asset type in the Google Earth Engine (GEE), while blue text offers a short description of the asset content. 48 | 49 | ![Collection 8 - Rocky Outcrop](https://github.com/mapbiomas-brazil/cerrado/assets/132362599/670fd7e2-6c5a-4004-b75e-9b7e33336ef1) 50 | -------------------------------------------------------------------------------- /1-general-map/utils/trajectory/11_perturbance.js: -------------------------------------------------------------------------------- 1 | // stabilize temporal patches of native vegetation 2 | // dhemerson.costa@ipam.org.br 3 | 4 | // set root directory 5 | var root = 'users/dh-conciani/collection7/c7-general-post/'; 6 | 7 | // set file to be processed 8 | var file_in = 'CERRADO_col7_gapfill_incidence_temporal_frequency_spatial_v5'; 9 | 10 | // set metadata to export 11 | var version_out = '5'; 12 | 13 | // import mapbiomas color ramp 14 | var vis = { 15 | 'min': 0, 16 | 'max': 49, 17 | 'palette': require('users/mapbiomas/modules:Palettes.js').get('classification6') 18 | }; 19 | 20 | // import classification 21 | var inputClassification = ee.Image(root + file_in); 22 | 23 | Map.addLayer(inputClassification.select(['classification_2021']), vis, 'data 2021'); 24 | 25 | // create recipe 26 | var binary = ee.Image([]); 27 | // binarize native vegetation 28 | ee.List.sequence({'start': 1985, 'end': 2021}).getInfo() 29 | .forEach(function(year_i) { 30 | var image_i = inputClassification.select(['classification_' + year_i]) 31 | .remap([3, 4, 11, 12, 21, 25, 33], 32 | [1, 1, 1, 1, 0, 0, 0]) 33 | .rename('binary_' + year_i); 34 | // bind 35 | binary = binary.addBands(image_i.updateMask(image_i.eq(1))); 36 | }); 37 | 38 | // plot 39 | Map.addLayer(binary, {}, 'binary', false); 40 | Map.addLayer(inputClassification, {}, 'input', false); 41 | //Map.addLayer(inputClassification.reduce(ee.Reducer.countDistinctNonNull()).randomVisualizer()); 42 | 43 | // update collection only with native vegetation temporal patches 44 | var patches = ee.Image([]); 45 | ee.List.sequence({'start': 1985, 'end': 2021}).getInfo() 46 | .forEach(function(year_i) { 47 | // get classification 48 | var image_i = inputClassification.select(['classification_' + year_i]) 49 | // select only native vegetation pixels 50 | .updateMask(binary.select(['binary_' + year_i]).eq(1)) 51 | // rename 52 | .rename('native_' + year_i); 53 | // bind 54 | patches = patches.addBands(image_i); 55 | }); 56 | 57 | // get the mode for the native vegetation temporal patches 58 | var native_mode = patches.reduce(ee.Reducer.mode()); 59 | Map.addLayer(native_mode, vis, 'native mode', false); 60 | 61 | // create filtered recipe 62 | var filtered = ee.Image([]); 63 | 64 | // apply mode for the temporal patches of native vegetation 65 | ee.List.sequence({'start': 1985, 'end': 2021}).getInfo() 66 | .forEach(function(year_i) { 67 | var image_i = inputClassification.select(['classification_' + year_i]) 68 | .where(binary.select(['binary_' + year_i]).eq(1), native_mode); 69 | // bind 70 | filtered = filtered.addBands(image_i); 71 | }); 72 | 73 | // plot filtered 74 | Map.addLayer(filtered.select(['classification_2021']), vis, 'filtered 2021'); 75 | Map.addLayer(filtered, {}, 'all', false); 76 | 77 | // export as GEE asset 78 | Export.image.toAsset({ 79 | 'image': filtered, 80 | 'description': 'CERRADO_col7_gapfill_incidence_temporal_frequency_spatial_perturbance_v' + version_out, 81 | 'assetId': root + 'CERRADO_col7_gapfill_incidence_temporal_frequency_spatial_perturbance_v' + version_out, 82 | 'pyramidingPolicy': { 83 | '.default': 'mode' 84 | }, 85 | 'region': inputClassification.geometry(), 86 | 'scale': 30, 87 | 'maxPixels': 1e13 88 | }); 89 | -------------------------------------------------------------------------------- /1-general-map/utils/analyses/04_plotAccuracy.R: -------------------------------------------------------------------------------- 1 | ## plot accuracy per version 2 | ## mapbiomas collection 7 3 | ## dhemerson.costa@ipam.org.br 4 | 5 | ## read libraries 6 | library(ggplot2) 7 | 8 | ## avoid scientific notation 9 | options(scipen= 999) 10 | 11 | ## set root path 12 | root <- './table/accuracy/' 13 | 14 | # list files 15 | files <- list.files('./table/accuracy', pattern= "metrics", full.names=TRUE) 16 | 17 | ## create empty recipe 18 | recipe <- as.data.frame(NULL) 19 | 20 | ## read files 21 | for (i in 1:length(files)) { 22 | ## read file [i] 23 | x <- na.omit(read.csv(files[i])[-1]) 24 | ## stack into recipe 25 | recipe <- rbind(recipe, x) 26 | rm(x) 27 | } 28 | 29 | ## get only accuracy 30 | global <- subset(recipe, variable == "Accuracy") 31 | 32 | ## subset 33 | global <- subset(global, file== 'CERRADO_col8_gapfill_v3' | 34 | file== 'CERRADO_col8_gapfill_incidence_v5' | 35 | file== 'CERRADO_col8_gapfill_incidence_temporal_a_v14' | 36 | file== 'CERRADO_col8_gapfill_incidence_temporal_v14' | 37 | file== 'CERRADO_col8_gapfill_incidence_temporal_frequency_v14'| 38 | file== 'CERRADO_col8_gapfill_incidence_temporal_frequency_geomorphology_v14' | 39 | file== 'CERRADO_col8_gapfill_incidence_temporal_frequency_geomorphology_spatial_v14') 40 | 41 | ## plot summarized 42 | ggplot(data= global, mapping= aes(x= year, y= value, colour= file)) + 43 | stat_summary(fun='mean', geom= 'line', alpha= .6) + 44 | stat_summary(fun='mean', geom= 'point') + 45 | scale_colour_manual(values=c('darkgreen', 'green', 'yellow', 'orange', 'red', 'purple', 'blue')) + 46 | theme_bw() + 47 | xlab(NULL) + 48 | ylab('Global accuracy') 49 | 50 | aggregate(x=list(acc=global$value), by=list(file=global$file), FUN= 'mean') 51 | 52 | # get specific accuracies 53 | per_class <- subset(recipe, variable == 'Class: 3' | variable == 'Class: 4' | 54 | variable == 'Class: 12' | variable == 'Class: 21' | variable == 'Class: 33') 55 | 56 | ## merge global with per class 57 | per_class <- rbind(per_class, global) 58 | 59 | ## rename 60 | per_class$variable <- gsub('Class: 3', 'Forest', 61 | gsub('Class: 4', 'Savanna', 62 | gsub('Class: 12', 'Grassland/Wetland', 63 | gsub('Class: 21', 'Farming', 64 | gsub('Class: 33', 'Water', 65 | gsub('Accuracy', 'Acc. global', 66 | per_class$variable)))))) 67 | 68 | ## subset 69 | per_class2 <- subset(per_class, file == 'CERRADO_col8_gapfill_incidence_temporal_frequency_geomorphology_spatial_v9') 70 | 71 | ## plot 72 | ggplot(data= per_class2, mapping= aes(x= year, y= value, colour= file)) + 73 | stat_summary(fun='mean', geom= 'line', alpha= .6) + 74 | stat_summary(fun='mean', geom= 'point') + 75 | # scale_colour_manual(values=c('red', 'gray50', 'gray70', 'black')) + 76 | facet_wrap(~variable, scales= 'free_y') + 77 | theme_bw() + 78 | xlab(NULL) + 79 | ylab('Accuracy') 80 | 81 | 82 | ## forest accuracy per region 83 | ggplot(data= per_class, mapping= aes(x= year, y= value, colour= variable)) + 84 | stat_summary(fun='mean', geom= 'line', alpha= .6) + 85 | stat_summary(fun='mean', geom= 'point') + 86 | scale_colour_manual('Version', values=c('black', '#E974ED', '#006400', '#B8AF4F', '#00ff00', '#0000FF')) + 87 | facet_wrap(~region, scales= 'fixed') + 88 | theme_bw() + 89 | xlab(NULL) + 90 | ylab('Accuracy') 91 | -------------------------------------------------------------------------------- /1-general-map/utils/balancing/02_plotVersions.R: -------------------------------------------------------------------------------- 1 | ## evaluate sample quality by accuracy metrics 2 | ## dhemerson.costa@ipam.org.br 3 | 4 | library(ggplot2) 5 | 6 | ## list files in the folder 7 | data1 <- read.csv('./table/acc_versions.csv')[-1] 8 | data2 <- read.csv('./table/acc_versions_gedi.csv')[-1] 9 | data3 <- read.csv('./table/acc_versions_gedi_raw.csv')[-1] 10 | 11 | 12 | ## remopve missing regions from data1 13 | data1 <- subset(data1, mapb!= '20' & mapb!= '14' & balancing!= 'raw') 14 | data3 <- subset(data3, mapb!= '20' & mapb!= '14') 15 | 16 | ## merge data 17 | data <- rbind(data1, data2, data3) 18 | rm(data1, data2, data3) 19 | 20 | ## analysis 1, assess sample strategy 21 | data.x <- subset(data, balancing == 'filtered' | balancing == 'raw' | balancing == 'GEDI*') 22 | 23 | ## rename 24 | data.x$balancing <- gsub('filtered', 'Segment', 25 | gsub('raw', 'Same C6', 26 | gsub('GEDI*', 'GEDI', data.x$balancing))) 27 | 28 | 29 | ## accuracy 30 | ggplot(data= subset(data.x, variable== 'Accuracy'), mapping= aes(x= balancing, y= value, fill= balancing)) + 31 | geom_boxplot(alpha= .3, col='gray60') + 32 | geom_text(aes(label= mapb), position = position_jitter(seed = 1), size=2.5, col= 'gray30') + 33 | scale_fill_manual(values=c('forestgreen', 'gray60', 'violet')) + 34 | theme_minimal() + 35 | ylab('Accuracy') + 36 | xlab(NULL) 37 | 38 | aggregate(x=list(acc= as.numeric(data.x$value)), by=list(var= data.x$variable, file= data.x$balancing), 39 | FUN= 'median') 40 | 41 | 42 | ## specific accuracy 43 | recipe <- subset(data.x, variable == "Class: 3" | variable == "Class: 4" | variable== "Class: 12" | 44 | variable == "Class: 21" | variable == "Class: 33") 45 | 46 | ## per class 47 | ggplot(data= recipe, mapping= aes(x= balancing, y= value, fill= balancing)) + 48 | geom_boxplot(alpha= .3, col='gray60') + 49 | scale_fill_manual(values=c('forestgreen', 'gray60', 'violet')) + 50 | #geom_text(aes(label= mapb), position = position_jitter(seed = 1), size=1.9) + 51 | theme_minimal() + 52 | facet_wrap(~variable) + 53 | ylab('Accuracy') + 54 | xlab(NULL) 55 | 56 | ### check wetland effect 57 | data.x <- subset(data, balancing == 'GEDI' | balancing == 'GEDI*') 58 | 59 | ## rename 60 | data.x$balancing <- gsub('^GEDI$', 'GEDI+W', data.x$balancing) 61 | 62 | ## plot 63 | ggplot(data= subset(data.x, variable== 'Accuracy'), mapping= aes(x= balancing, y= value, fill= balancing)) + 64 | geom_boxplot(alpha= .3, col='gray60') + 65 | geom_text(aes(label= mapb), position = position_jitter(seed = 1), size=2.5, col= 'gray30') + 66 | scale_fill_manual(values=c('forestgreen', 'turquoise4', 'violet')) + 67 | theme_minimal() + 68 | ylab('Accuracy') + 69 | xlab(NULL) 70 | 71 | aggregate(x=list(acc= as.numeric(data.x$value)), by=list(var= data.x$variable, file= data.x$balancing), 72 | FUN= 'median') 73 | 74 | 75 | ## specific accuracy 76 | recipe <- subset(data.x, variable == "Class: 3" | variable == "Class: 4" | variable== "Class: 12" | 77 | variable == "Class: 21" | variable == "Class: 33") 78 | 79 | ## per class 80 | ggplot(data= recipe, mapping= aes(x= balancing, y= value, fill= balancing)) + 81 | geom_boxplot(alpha= .3, col='gray60') + 82 | scale_fill_manual(values=c('forestgreen', 'turquoise4', 'violet')) + 83 | #geom_text(aes(label= mapb), position = position_jitter(seed = 1), size=1.9) + 84 | theme_minimal() + 85 | facet_wrap(~variable) + 86 | ylab('Accuracy') + 87 | xlab(NULL) 88 | -------------------------------------------------------------------------------- /1-general-map/utils/tenure/02_parseData.R: -------------------------------------------------------------------------------- 1 | ## translate and merge gee outputs 2 | ## dhemerson.costa@ipam.org.br 3 | 4 | ## get libraries 5 | 6 | ## avoid scientific notation 7 | options(scipen=999) 8 | 9 | ## list files to be parsed 10 | files <- list.files('./table/tenure', full.names= TRUE) 11 | 12 | ## import land tenure dictionary 13 | tenure_dict <- read.csv('./dictionary/tenure-dict.csv', sep= ';', fileEncoding= 'latin1') 14 | 15 | ## import states dictionary 16 | state_dict <- read.csv('./dictionary/state-dict.csv', sep= ';', fileEncoding= 'latin1') 17 | 18 | ## import mapbiomas dictionary 19 | mapbiomas_dict <- read.csv('./dictionary/mapbiomas-dict-ptbr.csv', sep= ';', fileEncoding= 'latin1') 20 | 21 | ## create recipe to receive data 22 | data <- as.data.frame(NULL) 23 | ## for each fiel (state) 24 | for (i in 1:length(unique(files))) { 25 | ## read file i 26 | x <- read.csv(files[i]) 27 | ## delete undesired columns 28 | x <- x[!names(x) %in% c("system.index", ".geo")] 29 | ## parse state id from basename 30 | x$state <- sapply(strsplit(basename(files[i]), split='_', fixed=TRUE), 31 | function(x) (x[1])) 32 | 33 | ## create recipe to translate each land tenure 34 | recipe <- as.data.frame(NULL) 35 | ## for each tenure id 36 | for (j in 1:length(unique(x$tenure))) { 37 | ## for each unique value, get mean in n levels 38 | y <- subset(tenure_dict, Value == unique(x$tenure)[j]) 39 | ## select matched land tenure 40 | z <- subset(x, tenure == unique(x$tenure)[j]) 41 | ## apply tenure translation for each level 42 | z$tenure_l1 <- gsub(paste0('^',y$Value,'$'), y$tenure.l1, z$tenure) 43 | z$tenure_l2 <- gsub(paste0('^',y$Value,'$'), y$tenure.l2, z$tenure) 44 | z$tenure_l3 <- gsub(paste0('^',y$Value,'$'), y$tenure.l3, z$tenure) 45 | ## bind into recipe 46 | recipe <- rbind(recipe, z) 47 | 48 | } 49 | 50 | data <- rbind(data, recipe) 51 | } 52 | 53 | ## empty bin 54 | rm(recipe, i, j, x, y, z) 55 | 56 | ## create recipe to translate each state 57 | recipe2 <- as.data.frame(NULL) 58 | ## for each tenure id 59 | for (k in 1:length(unique(data$state))) { 60 | ## for each unique value, get mean in n levels 61 | y <- subset(state_dict, id == unique(data$state)[k]) 62 | ## select matched state 63 | z <- subset(data, state == unique(data$state)[k]) 64 | ## apply tenure translation for each level 65 | z$state_sig <- gsub(paste0('^',y$id,'$'), y$state, z$state) 66 | ## bind into recipe 67 | recipe2 <- rbind(recipe2, z) 68 | } 69 | 70 | ## empty bin 71 | rm(data, k, y, z) 72 | 73 | ## create recipe to translate mapbiomas classes 74 | data <- as.data.frame(NULL) 75 | ## for each tenure id 76 | for (l in 1:length(unique(recipe2$class_id))) { 77 | ## for each unique value, get mean in n levels 78 | y <- subset(mapbiomas_dict, id == unique(recipe2$class_id)[l]) 79 | if (nrow(y) == 0) { 80 | next 81 | } 82 | ## select matched class 83 | z <- subset(recipe2, class_id == unique(recipe2$class_id)[l]) 84 | ## apply tenure translation for each level 85 | z$mapb_0 <- gsub(paste0('^',y$id,'$'), y$mapb_0, z$class_id) 86 | z$mapb_1 <- gsub(paste0('^',y$id,'$'), y$mapb_1, z$class_id) 87 | z$mapb_1_2 <- gsub(paste0('^',y$id,'$'), y$mapb_1_2, z$class_id) 88 | z$mapb_2 <- gsub(paste0('^',y$id,'$'), y$mapb_2, z$class_id) 89 | z$mapb_3 <- gsub(paste0('^',y$id,'$'), y$mapb_3, z$class_id) 90 | z$mapb_4 <- gsub(paste0('^',y$id,'$'), y$mapb_4, z$class_id) 91 | 92 | ## bind into recipe 93 | data <- rbind(data, z) 94 | } 95 | 96 | ## remove bin 97 | rm(recipe2, l, y, z) 98 | 99 | ## export table 100 | write.csv(data, './table/cover-per-tenure-per-state.csv') 101 | -------------------------------------------------------------------------------- /1-general-map/utils/tenure/03_assesData.R: -------------------------------------------------------------------------------- 1 | ## translate and merge gee outputs 2 | ## dhemerson.costa@ipam.org.br 3 | 4 | ## get libraries 5 | 6 | ## avoid scientific notation 7 | options(scipen=999) 8 | 9 | ## list files to be parsed 10 | files <- list.files('./table/tenure', full.names= TRUE) 11 | 12 | ## import land tenure dictionary 13 | tenure_dict <- read.csv('./dictionary/tenure-dict.csv', sep= ';', fileEncoding= 'latin1') 14 | 15 | ## import states dictionary 16 | state_dict <- read.csv('./dictionary/state-dict.csv', sep= ';', fileEncoding= 'latin1') 17 | 18 | ## import mapbiomas dictionary 19 | mapbiomas_dict <- read.csv('./dictionary/mapbiomas-dict-ptbr.csv', sep= ';', fileEncoding= 'latin1') 20 | 21 | ## create recipe to receive data 22 | data <- as.data.frame(NULL) 23 | ## for each fiel (state) 24 | for (i in 1:length(unique(files))) { 25 | ## read file i 26 | x <- read.csv(files[i]) 27 | ## delete undesired columns 28 | x <- x[!names(x) %in% c("system.index", ".geo")] 29 | ## parse state id from basename 30 | x$state <- sapply(strsplit(basename(files[i]), split='_', fixed=TRUE), 31 | function(x) (x[1])) 32 | 33 | ## create recipe to translate each land tenure 34 | recipe <- as.data.frame(NULL) 35 | ## for each tenure id 36 | for (j in 1:length(unique(x$tenure))) { 37 | ## for each unique value, get mean in n levels 38 | y <- subset(tenure_dict, Value == unique(x$tenure)[j]) 39 | ## select matched land tenure 40 | z <- subset(x, tenure == unique(x$tenure)[j]) 41 | ## apply tenure translation for each level 42 | z$tenure_l1 <- gsub(paste0('^',y$Value,'$'), y$tenure.l1, z$tenure) 43 | z$tenure_l2 <- gsub(paste0('^',y$Value,'$'), y$tenure.l2, z$tenure) 44 | z$tenure_l3 <- gsub(paste0('^',y$Value,'$'), y$tenure.l3, z$tenure) 45 | ## bind into recipe 46 | recipe <- rbind(recipe, z) 47 | 48 | } 49 | 50 | data <- rbind(data, recipe) 51 | } 52 | 53 | ## empty bin 54 | rm(recipe, i, j, x, y, z) 55 | 56 | ## create recipe to translate each state 57 | recipe2 <- as.data.frame(NULL) 58 | ## for each tenure id 59 | for (k in 1:length(unique(data$state))) { 60 | ## for each unique value, get mean in n levels 61 | y <- subset(state_dict, id == unique(data$state)[k]) 62 | ## select matched state 63 | z <- subset(data, state == unique(data$state)[k]) 64 | ## apply tenure translation for each level 65 | z$state_sig <- gsub(paste0('^',y$id,'$'), y$state, z$state) 66 | ## bind into recipe 67 | recipe2 <- rbind(recipe2, z) 68 | } 69 | 70 | ## empty bin 71 | rm(data, k, y, z) 72 | 73 | ## create recipe to translate mapbiomas classes 74 | data <- as.data.frame(NULL) 75 | ## for each tenure id 76 | for (l in 1:length(unique(recipe2$class_id))) { 77 | ## for each unique value, get mean in n levels 78 | y <- subset(mapbiomas_dict, id == unique(recipe2$class_id)[l]) 79 | if (nrow(y) == 0) { 80 | next 81 | } 82 | ## select matched class 83 | z <- subset(recipe2, class_id == unique(recipe2$class_id)[l]) 84 | ## apply tenure translation for each level 85 | z$mapb_0 <- gsub(paste0('^',y$id,'$'), y$mapb_0, z$class_id) 86 | z$mapb_1 <- gsub(paste0('^',y$id,'$'), y$mapb_1, z$class_id) 87 | z$mapb_1_2 <- gsub(paste0('^',y$id,'$'), y$mapb_1_2, z$class_id) 88 | z$mapb_2 <- gsub(paste0('^',y$id,'$'), y$mapb_2, z$class_id) 89 | z$mapb_3 <- gsub(paste0('^',y$id,'$'), y$mapb_3, z$class_id) 90 | z$mapb_4 <- gsub(paste0('^',y$id,'$'), y$mapb_4, z$class_id) 91 | 92 | ## bind into recipe 93 | data <- rbind(data, z) 94 | } 95 | 96 | ## remove bin 97 | rm(recipe2, l, y, z) 98 | 99 | ## export table 100 | write.csv(data, './table/cover-per-tenure-per-state.csv') 101 | -------------------------------------------------------------------------------- /3-integration/getAccuracy/03_specificAcc.R: -------------------------------------------------------------------------------- 1 | ## accuracy analisys from collection 6 2 | library(ggplot2) 3 | library(ggrepel) 4 | library(dplyr) 5 | library(sf) 6 | library(stringr) 7 | library(tools) 8 | library(ggpmisc) 9 | 10 | ## avoid sicentific notations 11 | options(scipen=999) 12 | 13 | ## list files 14 | files <- list.files('./table_class/', full.names= TRUE) 15 | filenames <- file_path_sans_ext(list.files('./table_class', full.names= FALSE)) 16 | 17 | 18 | ## create an empty recipe 19 | recipe <- as.data.frame(NULL) 20 | ## build files for analysis 21 | for (i in 1:length(files)) { 22 | ## read file 23 | y <- read.csv(files[i], sep=';', dec=',') 24 | ## excludee classes 25 | y <- y[ , !names(y) %in% c("permanent.crop","urban","water", "mosaic", "forestry", "temp.crop")] ## works as expected 26 | 27 | ## parse reference class 28 | y$class <- sapply(strsplit(filenames[i], split='_', fixed=TRUE), function(x) (x[1])) 29 | y$metric <- sapply(strsplit(filenames[i], split='_', fixed=TRUE), function(x) (x[2])) 30 | y$collection <- sapply(strsplit(filenames[i], split='_', fixed=TRUE), function(x) (x[3])) 31 | ## compute value of the metric 32 | y$value <- 1 - as.numeric(y[, unique(y$class)]) 33 | ## merge 34 | recipe <- rbind(y, recipe) 35 | rm(y) 36 | } 37 | 38 | ## rename metric 39 | recipe$metric <- gsub('omission', 'Omission', 40 | gsub('commission', 'Commission', 41 | recipe$metric)) 42 | 43 | recipe$class <- gsub('forest', 'Forest Formation', 44 | gsub('savanna', 'Savanna Formation', 45 | gsub('grassland', 'Grassland Formation', 46 | recipe$class))) 47 | 48 | ## plot 49 | ggplot(data= recipe, mapping= aes(x= year, y= value, colour= collection)) + 50 | geom_line(size=1) + 51 | geom_line(size=4, alpha=0.1) + 52 | scale_colour_manual('Collection', values=c('red', 'darkgreen'), 53 | labels=c('6', '7')) + 54 | facet_grid(metric~class) + 55 | theme_bw() + 56 | xlab(NULL) + 57 | ylab('Error') 58 | 59 | ggsave(paste0('./save/', 'specific', '.jpeg')) 60 | 61 | ## get only collection 7 62 | col7 <- subset(recipe, collection == 'col7') 63 | 64 | ## bind errors per type 65 | recipe2 <- as.data.frame(NULL) 66 | for (j in 1:length(unique(col7$class))) { 67 | ## melt data 68 | y <- subset(col7, class == unique(recipe$class)[j]) 69 | ## remove matches 70 | y <- y[!names(y) %in% c(unique(y$class), 'value', 'collection')] 71 | ## melt 72 | y <- reshape2::melt(y, id.vars= c('year', 'class', 'metric')) 73 | ## adjust 74 | y$value <- as.numeric(y$value) * -1 75 | ## bind 76 | recipe2 <- rbind(y, recipe2) 77 | } 78 | 79 | ## rename 80 | recipe2$class <- gsub('forest', 'Forest', 81 | gsub('savanna', 'Savanna', 82 | gsub('mosaic', 'Mosaic of A/P', 83 | gsub('grassland', 'Grassland', 84 | recipe2$class)))) 85 | 86 | recipe2$variable <- gsub('forest', 'Forest Formation', 87 | gsub('savanna', 'Savanna Formation', 88 | gsub('pasture', 'Pasture', 89 | gsub('grassland', 'Grassland Formation', 90 | recipe2$variable)))) 91 | 92 | ## plot detailed errors 93 | ggplot(data= recipe2, mapping= aes(x= year, y= value, fill= variable)) + 94 | geom_area(stat='identity', alpha=0.9) + 95 | scale_fill_manual('Class', values=c("#006400", "#B8AF4F", "#FFD966", "#00ff00")) + 96 | facet_grid(class~metric) + 97 | theme_bw() 98 | ggsave(paste0('./save/', 'historic', '.jpeg')) 99 | 100 | -------------------------------------------------------------------------------- /1-general-map/utils/integration/getPseudo.js: -------------------------------------------------------------------------------- 1 | // simulate integration 2 | // dhemerson.costa@ipam.org.br 3 | 4 | // set root 5 | var root = 'users/dh-conciani/collection7/c7-general-post/'; 6 | 7 | // file to simulate integration 8 | var file_in = ee.Image(root + 'CERRADO_col7_gapfill_incidence_temporal_frequency_spatial_v5'); 9 | 10 | // set output version 11 | var version_out = '5'; 12 | 13 | // previous mapbiomas collection 14 | var mapbiomas = ee.Image('projects/mapbiomas-workspace/public/collection6/mapbiomas_collection60_integration_v1'); 15 | 16 | // create empty recipe 17 | var recipe = ee.Image([]); 18 | 19 | // for each year 20 | ee.List.sequence({'start': 1985, 'end': 2020}).getInfo() 21 | .forEach(function(year_i) { 22 | // get year_i files 23 | var file_in_i = file_in.select(['classification_' + year_i]); 24 | // get mapbiomas 25 | var mapbiomas_i = mapbiomas.select(['classification_' + year_i]) 26 | // remap 27 | .remap([3, 4, 5, 9, 11, 12, 29, 15, 19, 39, 20, 40, 41, 46, 47, 48, 21, 23, 24, 30, 25, 33, 31], 28 | [3, 4, 3, 21, 11, 12, 25, 21, 21, 21, 21, 21, 21, 21, 21, 21, 15, 25, 25, 25, 15, 33, 33]) 29 | .rename('classification_' + year_i) 30 | .updateMask(file_in_i); 31 | // insert anthropogenic from mapbiomas over file_i 32 | file_in_i = file_in_i.blend(mapbiomas_i.updateMask(mapbiomas_i.eq(21))) 33 | .blend(mapbiomas_i.updateMask(mapbiomas_i.eq(25))); 34 | // store into recipe 35 | recipe = recipe.addBands(file_in_i); 36 | }); 37 | 38 | // import the color ramp module from mapbiomas 39 | var palettes = require('users/mapbiomas/modules:Palettes.js'); 40 | var vis = { 41 | 'min': 0, 42 | 'max': 49, 43 | 'palette': palettes.get('classification6') 44 | }; 45 | 46 | Map.addLayer(file_in.select(['classification_2020']), vis, 'input'); 47 | Map.addLayer(recipe.select(['classification_2020']), vis, 'filtered raw'); 48 | 49 | // apply spatial filter 50 | // create an empty recipe 51 | var filtered = ee.Image([]); 52 | 53 | // apply filter 54 | ee.List.sequence({'start': 1985, 'end': 2020}).getInfo() 55 | .forEach(function(year_i) { 56 | // compute the focal model 57 | var focal_mode = recipe.select(['classification_' + year_i]) 58 | .unmask(0) 59 | .focal_mode({'radius': 1, 'kernelType': 'square', 'units': 'pixels'}); 60 | 61 | // compute te number of connections 62 | var connections = recipe.select(['classification_' + year_i]) 63 | .unmask(0) 64 | .connectedPixelCount({'maxSize': 100, 'eightConnected': false}); 65 | 66 | // get the focal model when the number of connections of same class is lower than parameter 67 | var to_mask = focal_mode.updateMask(connections.lte(6)); 68 | 69 | // apply filter 70 | var classification_i = recipe.select(['classification_' + year_i]) 71 | .blend(to_mask) 72 | .reproject('EPSG:4326', null, 30); 73 | 74 | // stack into recipe 75 | filtered = filtered.addBands(classification_i.updateMask(classification_i.neq(0))); 76 | } 77 | ); 78 | 79 | // print filtered 80 | Map.addLayer(filtered.select(['classification_2020']), vis, 'filtered 2020'); 81 | 82 | // export as GEE asset 83 | Export.image.toAsset({ 84 | 'image': filtered, 85 | 'description': 'CERRADO_col7_gapfill_incidence_temporal_frequency_spatial_integration_v' + version_out, 86 | 'assetId': root + 'CERRADO_col7_gapfill_incidence_temporal_frequency_spatial_integration_v' + version_out, 87 | 'pyramidingPolicy': { 88 | '.default': 'mode' 89 | }, 90 | 'region': file_in.geometry(), 91 | 'scale': 30, 92 | 'maxPixels': 1e13 93 | }); 94 | -------------------------------------------------------------------------------- /1-general-map/utils/toNext_eval/05_getAgreementArea.js: -------------------------------------------------------------------------------- 1 | // get area by territory 2 | // dhemerson.costa@ipam.org.br 3 | 4 | // an adaptation from: 5 | // calculate area of @author João Siqueira 6 | 7 | // define root imageCollection 8 | var root = 'users/dh-conciani/basemaps/'; 9 | 10 | // define files to process 11 | var asset = [ 12 | root + 'agreement_cerrado_col71', 13 | root + 'agreement_cerrado_col71_forest', 14 | root + 'agreement_cerrado_col71_non_forest' 15 | ]; 16 | 17 | // define classification regions 18 | var biomas = ee.Image('projects/mapbiomas-workspace/AUXILIAR/biomas-2019-raster'); 19 | var cerrado = biomas.updateMask(biomas.eq(4)); 20 | 21 | var territory = cerrado.rename('territory'); 22 | 23 | // plot regions 24 | Map.addLayer(territory.randomVisualizer()); 25 | 26 | 27 | // change the scale if you need. 28 | var scale = 30; 29 | 30 | // define the years to bem computed 31 | var years = ['constant']; 32 | 33 | // define a Google Drive output folder 34 | var driverFolder = 'AREA-EXPORT-AGREE'; 35 | 36 | // for each file 37 | asset.map(function(file) { 38 | // get the classification for the file[i] 39 | var asset_i = ee.Image(file).selfMask(); 40 | // set only the basename 41 | var basename = file.slice(ee.String(root).length().getInfo()); 42 | 43 | // Image area in km2 44 | var pixelArea = ee.Image.pixelArea().divide(10000); 45 | 46 | // Geometry to export 47 | var geometry = asset_i.geometry(); 48 | 49 | // convert a complex object to a simple feature collection 50 | var convert2table = function (obj) { 51 | obj = ee.Dictionary(obj); 52 | var territory = obj.get('territory'); 53 | var classesAndAreas = ee.List(obj.get('groups')); 54 | 55 | var tableRows = classesAndAreas.map( 56 | function (classAndArea) { 57 | classAndArea = ee.Dictionary(classAndArea); 58 | var classId = classAndArea.get('class'); 59 | var area = classAndArea.get('sum'); 60 | var tableColumns = ee.Feature(null) 61 | .set('territory', territory) 62 | .set('class_id', classId) 63 | .set('area', area) 64 | .set('file', basename); 65 | 66 | return tableColumns; 67 | } 68 | ); 69 | 70 | return ee.FeatureCollection(ee.List(tableRows)); 71 | }; 72 | 73 | // compute the area 74 | var calculateArea = function (image, territory, geometry) { 75 | var territotiesData = pixelArea.addBands(territory).addBands(image) 76 | .reduceRegion({ 77 | reducer: ee.Reducer.sum().group(1, 'class').group(1, 'territory'), 78 | geometry: geometry, 79 | scale: scale, 80 | maxPixels: 1e12 81 | }); 82 | 83 | territotiesData = ee.List(territotiesData.get('groups')); 84 | var areas = territotiesData.map(convert2table); 85 | areas = ee.FeatureCollection(areas).flatten(); 86 | return areas; 87 | }; 88 | 89 | // perform per year 90 | var areas = years.map( 91 | function (year) { 92 | var image = asset_i.select(year); 93 | var areas = calculateArea(image, territory, geometry); 94 | // set additional properties 95 | areas = areas.map( 96 | function (feature) { 97 | return feature.set('year', year); 98 | } 99 | ); 100 | return areas; 101 | } 102 | ); 103 | 104 | areas = ee.FeatureCollection(areas).flatten(); 105 | 106 | Export.table.toDrive({ 107 | collection: areas, 108 | description: basename, 109 | folder: driverFolder, 110 | fileFormat: 'CSV' 111 | }); 112 | }); 113 | -------------------------------------------------------------------------------- /3-integration/getAccuracy/02_rectTable_LAPIG.R: -------------------------------------------------------------------------------- 1 | ## rect tables from mapbiomas platform 2 | 3 | ## accuracy analisys from collection 6 4 | library(ggplot2) 5 | library(ggrepel) 6 | library(dplyr) 7 | library(sf) 8 | library(stringr) 9 | library(tools) 10 | library(ggpmisc) 11 | 12 | ## avoid sicentific notations 13 | options(scipen=999) 14 | 15 | ## list files 16 | files <- list.files('./table_class/', full.names= TRUE) 17 | filenames <- file_path_sans_ext(list.files('./table_class/', full.names= FALSE)) 18 | 19 | ## for each file 20 | for (i in 1:length(files)) { 21 | ## create empty recipe 22 | recipe <- as.data.frame(NULL) 23 | ## read file i 24 | x <- read.csv(files[i], dec=',', sep='/', encoding="UTF-8") 25 | 26 | ## get values per line 27 | for (j in 1:nrow(x)) { 28 | ## get year 29 | year <- sapply(strsplit(x[j,], split=',', fixed=TRUE), function(x) (x[1])) 30 | ## get forest 31 | forest <- paste0(sapply(strsplit(x[j,], split=',', fixed=TRUE), function(x) (x[2])), 32 | '.', 33 | sapply(strsplit(x[j,], split=',', fixed=TRUE), function(x) (x[3]))) 34 | ## get savanna 35 | savanna <- paste0(sapply(strsplit(x[j,], split=',', fixed=TRUE), function(x) (x[4])), 36 | '.', 37 | sapply(strsplit(x[j,], split=',', fixed=TRUE), function(x) (x[5]))) 38 | ## get grassland 39 | grassland <- paste0(sapply(strsplit(x[j,], split=',', fixed=TRUE), function(x) (x[6])), 40 | '.', 41 | sapply(strsplit(x[j,], split=',', fixed=TRUE), function(x) (x[7]))) 42 | ## get pasture 43 | pasture <- paste0(sapply(strsplit(x[j,], split=',', fixed=TRUE), function(x) (x[8])), 44 | '.', 45 | sapply(strsplit(x[j,], split=',', fixed=TRUE), function(x) (x[9]))) 46 | ## get temporary crop 47 | temp_crop <- paste0(sapply(strsplit(x[j,], split=',', fixed=TRUE), function(x) (x[10])), 48 | '.', 49 | sapply(strsplit(x[j,], split=',', fixed=TRUE), function(x) (x[11]))) 50 | ## get permanent crop 51 | perm_crop <- paste0(sapply(strsplit(x[j,], split=',', fixed=TRUE), function(x) (x[12])), 52 | '.', 53 | sapply(strsplit(x[j,], split=',', fixed=TRUE), function(x) (x[13]))) 54 | ## get forestry 55 | forestry <- paste0(sapply(strsplit(x[j,], split=',', fixed=TRUE), function(x) (x[14])), 56 | '.', 57 | sapply(strsplit(x[j,], split=',', fixed=TRUE), function(x) (x[15]))) 58 | ## get mosaic 59 | mosaic <- paste0(sapply(strsplit(x[j,], split=',', fixed=TRUE), function(x) (x[16])), 60 | '.', 61 | sapply(strsplit(x[j,], split=',', fixed=TRUE), function(x) (x[17]))) 62 | ## get urban 63 | urban <- paste0(sapply(strsplit(x[j,], split=',', fixed=TRUE), function(x) (x[18])), 64 | '.', 65 | sapply(strsplit(x[j,], split=',', fixed=TRUE), function(x) (x[19]))) 66 | ## get water 67 | water <- paste0(sapply(strsplit(x[j,], split=',', fixed=TRUE), function(x) (x[20])), 68 | '.', 69 | sapply(strsplit(x[j,], split=',', fixed=TRUE), function(x) (x[21]))) 70 | 71 | ## build table 72 | temp <- as.data.frame(cbind( 73 | year =year, 74 | forest=forest, 75 | savanna=savanna, 76 | grassland=grassland, 77 | pasture=pasture, 78 | temp_crop=temp_crop, 79 | permanent_crop=perm_crop, 80 | forestry=forestry, 81 | mosaic=mosaic, 82 | urban=urban, 83 | water=water) 84 | ) 85 | 86 | recipe <- rbind(recipe, temp) 87 | rm(temp) 88 | } 89 | write.table(recipe, paste0('./filtered/', filenames[i],'.txt'), dec='.', sep=';') 90 | } 91 | 92 | -------------------------------------------------------------------------------- /1-general-map/utils/toNext_eval/00_plotGlobalAccuracy_collections.R: -------------------------------------------------------------------------------- 1 | ## accuracy analisys from collection 6 2 | 3 | library(ggplot2) 4 | library(ggrepel) 5 | library(dplyr) 6 | library(sf) 7 | library(stringr) 8 | library(tools) 9 | library(ggpmisc) 10 | 11 | ## avoid sicentific notations 12 | options(scipen=999) 13 | 14 | ## define function to read data 15 | readData <- function (path) { 16 | ## list files 17 | files <- list.files(path, full.names= TRUE) 18 | ## create an empty recipe 19 | recipe <- as.data.frame(NULL) 20 | ## start file reading 21 | for (k in 1:length(files)) { 22 | ## read raw file 23 | x <- read.csv(files[k], dec=',', sep=',', encoding="UTF-8") 24 | 25 | ## build data frame 26 | y <- as.data.frame(cbind( 27 | year = rownames(x), 28 | accuracy = paste0(x$X.U.FEFF.Ano, '.', x$Acurácia), 29 | area_discordance = paste0(x$Discordância.de.Área, '.', x$Discordância.de.Alocação), 30 | allocation_discordance = paste0(x$X, '.', x$Y), 31 | ## parse collection string 32 | collection = rep(sapply(strsplit( 33 | file_path_sans_ext( 34 | list.files(path)), 35 | split='_', fixed=TRUE), 36 | function(x) (x[1]))[k], nrow(x)), 37 | ## parse level string 38 | level = rep(sapply(strsplit( 39 | file_path_sans_ext( 40 | list.files(path)), 41 | split='_', fixed=TRUE), 42 | function(x) (x[2]))[k], nrow(x) 43 | ) 44 | ) 45 | ) 46 | ## merge with recipe 47 | recipe <- rbind(recipe, y) 48 | } 49 | return (recipe) 50 | } 51 | 52 | ## import file 53 | data <- readData(path= './table/acc_collections') 54 | 55 | ## rename collections 56 | data$collection <- gsub('col31', '3.1', 57 | gsub('col41', '4.1', 58 | gsub('col5', '5', 59 | gsub('col6', '6', 60 | gsub('col7', '7', 61 | gsub('col71', '7.1', 62 | data$collection)))))) 63 | 64 | ## rename levels 65 | data$level <- gsub('nv1', 'Level-1', 66 | gsub('nv3', 'Level-3', 67 | data$level)) 68 | 69 | 70 | ## compute means 71 | leg <- aggregate(x=list(value=as.numeric(data$accuracy)), by=list(collection=data$collection, level= data$level), FUN='mean') 72 | 73 | ## compute position 74 | for (i in 1:length(unique(data$collection))) { 75 | for(j in 1:length(unique(data$level))) { 76 | x <- subset(data, collection == unique(data$collection)[i] & 77 | level == unique(data$level)[j]) 78 | 79 | ## get y position of rhte last year to place mean labels 80 | y <- subset(leg, collection == unique(data$collection)[i] & 81 | level == unique(data$level)[j]) 82 | 83 | y$position <- subset(x, year == max(x$year))$accuracy 84 | 85 | if (exists('leg2') == FALSE) { 86 | leg2 <- y 87 | } else { 88 | leg2 <- rbind(leg2, y) 89 | } 90 | 91 | } 92 | } 93 | rm(x, y, leg) 94 | 95 | ## plot accuracy 96 | ggplot(data, mapping= aes(x=as.numeric(year), y= as.numeric(accuracy), 97 | colour= collection, group=collection)) + 98 | geom_line(size=1, alpha=0.7) + 99 | geom_point(size=2) + 100 | scale_colour_manual('Collection', values=c('red', 'orange', 'purple', 'darkgreen', 'yellow', 'brown')) + 101 | facet_wrap(~level, ncol=1, nrow=2, scales='free_y') + 102 | xlab(NULL) + 103 | ylab('Global acc.') + 104 | theme_bw() + 105 | geom_text_repel(data= leg2, mapping=aes(x= 2024, y= as.numeric(position), 106 | label= paste0(round(value*100, digits=2))), size=4) 107 | 108 | 109 | 110 | ## collection 6 111 | col6 <- subset(data, collection == '6' & level == 'Level-3') 112 | -------------------------------------------------------------------------------- /1-general-map/12_visualize.js: -------------------------------------------------------------------------------- 1 | // -- -- -- -- 12_visualize 2 | // visualize final result 3 | // barbara.silva@iapm.org.br 4 | 5 | // visualize params 6 | var visparams = { 7 | palette: require('users/mapbiomas/modules:Palettes.js').get('classification7'), 8 | min: 0, 9 | max: 62, 10 | }; 11 | 12 | // input version 13 | var version = '14'; 14 | 15 | // Collection 16 | var cerrado = ee.Image('projects/mapbiomas-workspace/COLECAO_DEV/COLECAO8_DEV/CERRADO_col8_gapfill_incidence_temporal_frequency_geomorphology_spatial_v'+version); 17 | print ("Cerrado Col.8 - Version "+version, cerrado); 18 | Map.addLayer(cerrado, {}, "Cerrado Col.8 - Version "+version, false); 19 | 20 | var geometry = cerrado.geometry().buffer(2000).bounds(); 21 | var scale = 2500; 22 | var oeel = require('users/OEEL/lib:loadAll'); 23 | 24 | // scale bar 25 | var scale_bar = oeel.Map.scaleLayer({ 26 | mapScale:scale, 27 | point:scale_point, 28 | size:2, 29 | color1:'#000000', 30 | color2:'#ffffff', 31 | //scale:5, 32 | direction:'right' 33 | }); 34 | Map.addLayer(scale_bar, {}, 'scale_bar', false); 35 | 36 | // Widgets 37 | cerrado.bandNames().evaluate(function(bands){ 38 | 39 | var widgets = bands.map(function(band){ 40 | 41 | var year = 'classification_'+band.slice(-4); 42 | // var year_image = text.draw(year, title_point, scale, {fontSize:24, textColor: '000000', outlineColor: 'fefefe', outlineWidth: 2, outlineOpacity: 0.6 }); 43 | 44 | var mapa_base = ee.Image().visualize({palette:'fefefe'}) // backgroundCollor 45 | //.blend(year_image) 46 | .blend(scale_bar); 47 | 48 | var lulc_year = cerrado.select(band).visualize(visparams); 49 | 50 | var ui_layer = ui.Map.Layer({ 51 | eeObject:cerrado.select('classification_'+band.slice(-4)), 52 | visParams:visparams, 53 | name:year, 54 | shown:true, 55 | opacity:1 56 | }); 57 | 58 | var thumbs = [lulc_year].map(function(image){ 59 | return ui.Thumbnail({ 60 | image:image 61 | .blend(mapa_base) 62 | .reproject({ 63 | crs: 'EPSG:4326', 64 | crsTransform:[ 65 | 0.04166655782331577, 66 | 0, 67 | -76.3331339323145, 68 | 0, 69 | -0.04166655782331577, 70 | 7.791646312960049 71 | ], 72 | }), 73 | params:{ 74 | dimensions:800, 75 | region:geometry.buffer(2000).bounds() 76 | }, 77 | // onClick:, 78 | style:{ 79 | height:'256px', 80 | backgroundColor:'fafafa' 81 | } 82 | }); 83 | }); 84 | 85 | var panel = ui.Panel({ 86 | widgets:thumbs, 87 | layout:ui.Panel.Layout.Flow('horizontal'), 88 | style:{} 89 | }); 90 | 91 | var check = ui.Checkbox({ 92 | label:year, 93 | value:false, 94 | onChange:function(value){ 95 | if (value === true){ 96 | var position = Map.layers().length() - 2; 97 | Map.layers().insert(position,ui_layer); 98 | } else { 99 | Map.remove(ui_layer); 100 | } 101 | }, 102 | }); 103 | 104 | var panel2 = ui.Panel({ 105 | widgets:check, 106 | layout:ui.Panel.Layout.Flow('horizontal'), 107 | style:{} 108 | }); 109 | 110 | return ui.Panel({ 111 | widgets:[panel2, panel], 112 | layout:ui.Panel.Layout.Flow('vertical'), 113 | style:{} 114 | }); 115 | 116 | }); 117 | 118 | widgets = ui.Panel({ 119 | widgets:widgets, 120 | layout:ui.Panel.Layout.Flow('horizontal',true), 121 | style:{} 122 | }); 123 | 124 | var splitPanel = ui.SplitPanel({ 125 | firstPanel:ui.root.widgets().get(0), // ui.Map() nativa 126 | secondPanel:widgets, 127 | // orientation:, 128 | // wipe:, 129 | style:{} 130 | }); 131 | 132 | ui.root.widgets().reset([splitPanel]); 133 | 134 | }); 135 | -------------------------------------------------------------------------------- /2-rocky-outcrop/15_integrate.js: -------------------------------------------------------------------------------- 1 | // --- --- --- 15_integrate 2 | // integrate rocky-outcrop over cerrado native vegetation 3 | // barbara.silva@ipam.org.br 4 | 5 | // import files 6 | var native = ee.Image('projects/mapbiomas-workspace/COLECAO_DEV/COLECAO8_DEV/CERRADO_col8_gapfill_incidence_temporal_frequency_geomorphology_spatial_v14'); 7 | var rocky = ee.Image('projects/ee-barbaracsilva/assets/Collection_8/rocky-outcrop_step2/general-class-post/CERRADO_col8_rocky_gapfill_frequency_spatial_v4'); 8 | 9 | // --- --- -- 10 | // convert biome mask 11 | var native_2021 = ee.Image('projects/mapbiomas-workspace/COLECAO_DEV/COLECAO8_DEV/CERRADO_col8_gapfill_incidence_temporal_frequency_geomorphology_spatial_v14') 12 | .select('classification_2021'); 13 | 14 | var geometry = native_2021.geometry(); 15 | var scale = 30; 16 | 17 | var emptyImage = ee.Image.constant(0).byte() 18 | .reproject(native_2021.projection().scale(scale, scale)) 19 | .clip(geometry); 20 | 21 | var mappedImage = emptyImage.where(native_2021, 4); 22 | 23 | var biomes = ee.Image('projects/mapbiomas-workspace/AUXILIAR/biomas-2019-raster'); 24 | var biome = mappedImage; 25 | 26 | // import mapbiomas color ramp 27 | var vis = { 28 | min:0, 29 | max:62, 30 | palette: require('users/mapbiomas/modules:Palettes.js').get('classification7'), 31 | }; 32 | 33 | // create recipe 34 | var recipe = ee.Image([]); 35 | 36 | // chapada dos veadeiros 37 | var geometry_veadeiros = 38 | ee.Image(1).clip(ee.FeatureCollection(ee.Geometry.Polygon( 39 | [[[-47.91136858164175, -13.828379924704489], 40 | [-47.91136858164175, -14.275996243879357], 41 | [-47.28377458750113, -14.275996243879357], 42 | [-47.28377458750113, -13.828379924704489]]], null, false))); 43 | 44 | // create mask 45 | var mask = biome.updateMask(biome.eq(4)).where(geometry_veadeiros.eq(1), 1); 46 | 47 | // integrate 48 | ee.List.sequence({'start': 1985, 'end': 2022}).getInfo() 49 | .forEach(function(year_i) { 50 | // get year i 51 | var native_i = native.select(['classification_' + year_i]); 52 | var rocky_i = rocky.select(['classification_' + year_i]); 53 | 54 | // integrate 55 | var integrated_i = native_i.where(rocky_i.eq(29).and(mask.neq(1)), 29); 56 | 57 | // apply a post-integration spatial filter 58 | // compute the focal model 59 | var focal_mode = integrated_i 60 | .unmask(0) 61 | .focal_mode({'radius': 1, 'kernelType': 'square', 'units': 'pixels'}); 62 | 63 | // compute te number of connections 64 | var connections = integrated_i 65 | .unmask(0) 66 | .connectedPixelCount({'maxSize': 100, 'eightConnected': false}); 67 | 68 | // get the focal model when the number of connections of same class is lower than parameter 69 | var to_mask = focal_mode.updateMask(connections.lte(6)); 70 | 71 | // apply filter 72 | integrated_i = integrated_i 73 | .blend(to_mask) 74 | .reproject('EPSG:4326', null, 30) 75 | .updateMask(biome.eq(4)); 76 | 77 | // add to recipe 78 | recipe = recipe.addBands(integrated_i); 79 | }); 80 | 81 | // plot 82 | Map.addLayer(native.select(['classification_2010']), vis, 'native'); 83 | Map.addLayer(recipe.select(['classification_2010']), vis, 'integrated'); 84 | print('ouput image', recipe); 85 | 86 | // set output directory 87 | var root = 'projects/ee-barbaracsilva/assets/Collection_8/rocky-outcrop_step2/general-class-post/'; 88 | 89 | // export as GEE asset 90 | Export.image.toAsset({ 91 | 'image': recipe, 92 | 'description': 'CERRADO_col8_native14_rocky4', 93 | 'assetId': root + 'CERRADO_col8_native14_rocky4', 94 | 'pyramidingPolicy': { 95 | '.default': 'mode' 96 | }, 97 | 'region': native.geometry(), 98 | 'scale': 30, 99 | 'maxPixels': 1e13 100 | }); 101 | -------------------------------------------------------------------------------- /2-rocky-outcrop/07_spatial.js: -------------------------------------------------------------------------------- 1 | // --- --- --- 07_spatial 2 | // spatial filter - minimum area 3 | // barbara.silva@ipam.org.br 4 | 5 | // define root 6 | var root = 'projects/ee-barbarasilvaipam/assets/collection8-rocky/general-class-post/'; 7 | 8 | // define input file 9 | var file_in = 'CERRADO_col8_rocky_gapfill_frequency_v3'; 10 | 11 | // define output version 12 | var version_out = 4; 13 | 14 | // read image 15 | var classification = ee.Image(root + file_in); 16 | 17 | // define minimum mapeable area 18 | var filter_size = 6; 19 | 20 | // import mapbiomas color ramp 21 | var vis = { 22 | min:0, 23 | max:62, 24 | palette: require('users/mapbiomas/modules:Palettes.js').get('classification7'), 25 | }; 26 | 27 | // plot input version 28 | Map.addLayer(classification.select(['classification_2010']), vis, 'input 2010'); 29 | 30 | 31 | // create an empty recipe 32 | var filtered = ee.Image([]); 33 | 34 | // apply filter 35 | ee.List.sequence({'start': 1985, 'end': 2022}).getInfo() 36 | .forEach(function(year_i) { 37 | // compute the focal model 38 | var focal_mode = classification.select(['classification_' + year_i]) 39 | .unmask(0) 40 | .focal_mode({'radius': 1, 'kernelType': 'square', 'units': 'pixels'}); 41 | 42 | // compute te number of connections 43 | var connections = classification.select(['classification_' + year_i]) 44 | .unmask(0) 45 | .connectedPixelCount({'maxSize': 100, 'eightConnected': false}); 46 | 47 | // get the focal model when the number of connections of same class is lower than parameter 48 | var to_mask = focal_mode.updateMask(connections.lte(filter_size)); 49 | 50 | // apply filter 51 | var classification_i = classification.select(['classification_' + year_i]) 52 | .blend(to_mask) 53 | .reproject('EPSG:4326', null, 30); 54 | 55 | // stack into recipe 56 | filtered = filtered.addBands(classification_i.updateMask(classification_i.neq(0))); 57 | } 58 | ); 59 | 60 | // print filtered 61 | Map.addLayer(filtered.select(['classification_2010']), vis, 'filtered 2010 - round 1'); 62 | 63 | // set recipe 64 | var recipe = ee.Image([]); 65 | 66 | // apply filter 67 | ee.List.sequence({'start': 1985, 'end': 2022}).getInfo() 68 | .forEach(function(year_i) { 69 | // compute the focal model 70 | var focal_mode = filtered.select(['classification_' + year_i]) 71 | .unmask(0) 72 | .focal_mode({'radius': 1, 'kernelType': 'square', 'units': 'pixels'}); 73 | 74 | // compute te number of connections 75 | var connections = filtered.select(['classification_' + year_i]) 76 | .unmask(0) 77 | .connectedPixelCount({'maxSize': 100, 'eightConnected': false}); 78 | 79 | // get the focal model when the number of connections of same class is lower than parameter 80 | var to_mask = focal_mode.updateMask(connections.lte(filter_size)); 81 | 82 | // apply filter 83 | var classification_i = filtered.select(['classification_' + year_i]) 84 | .blend(to_mask) 85 | .reproject('EPSG:4326', null, 30); 86 | 87 | // stack into recipe 88 | recipe = recipe.addBands(classification_i.updateMask(classification_i.neq(0))); 89 | } 90 | ); 91 | 92 | Map.addLayer(recipe.select(['classification_2010']), vis, 'filtered 2010 - round 2'); 93 | 94 | 95 | // export as GEE asset 96 | Export.image.toAsset({ 97 | 'image': recipe, 98 | 'description': 'CERRADO_col8_rocky_gapfill_frequency_spatial_v' + version_out, 99 | 'assetId': root + 'CERRADO_col8_rocky_gapfill_frequency_spatial_v' + version_out, 100 | 'pyramidingPolicy': { 101 | '.default': 'mode' 102 | }, 103 | 'region': classification.geometry(), 104 | 'scale': 30, 105 | 'maxPixels': 1e13 106 | }); 107 | -------------------------------------------------------------------------------- /2-rocky-outcrop/14_spatial_step2.js: -------------------------------------------------------------------------------- 1 | // --- --- --- 14_spatial_step2 2 | // spatial filter - minimum area 3 | // barbara.silva@ipam.org.br 4 | 5 | // define root 6 | var root = 'projects/ee-barbaracsilva/assets/Collection_8/rocky-outcrop_step2/general-class-post/'; 7 | 8 | // define input file 9 | var file_in = 'CERRADO_col8_rocky_gapfill_frequency_v4'; 10 | 11 | // define output version 12 | var version_out = 4; 13 | 14 | // read image 15 | var classification = ee.Image(root + file_in); 16 | 17 | // define minimum mapeable area 18 | var filter_size = 6; 19 | 20 | // import mapbiomas color ramp 21 | var vis = { 22 | min:0, 23 | max:62, 24 | palette: require('users/mapbiomas/modules:Palettes.js').get('classification7'), 25 | }; 26 | 27 | // plot input version 28 | Map.addLayer(classification.select(['classification_2010']), vis, 'input 2010'); 29 | 30 | 31 | // create an empty recipe 32 | var filtered = ee.Image([]); 33 | 34 | // apply filter 35 | ee.List.sequence({'start': 1985, 'end': 2022}).getInfo() 36 | .forEach(function(year_i) { 37 | // compute the focal model 38 | var focal_mode = classification.select(['classification_' + year_i]) 39 | .unmask(0) 40 | .focal_mode({'radius': 1, 'kernelType': 'square', 'units': 'pixels'}); 41 | 42 | // compute te number of connections 43 | var connections = classification.select(['classification_' + year_i]) 44 | .unmask(0) 45 | .connectedPixelCount({'maxSize': 100, 'eightConnected': false}); 46 | 47 | // get the focal model when the number of connections of same class is lower than parameter 48 | var to_mask = focal_mode.updateMask(connections.lte(filter_size)); 49 | 50 | // apply filter 51 | var classification_i = classification.select(['classification_' + year_i]) 52 | .blend(to_mask) 53 | .reproject('EPSG:4326', null, 30); 54 | 55 | // stack into recipe 56 | filtered = filtered.addBands(classification_i.updateMask(classification_i.neq(0))); 57 | } 58 | ); 59 | 60 | // print filtered 61 | Map.addLayer(filtered.select(['classification_2010']), vis, 'filtered 2010 - round 1'); 62 | 63 | // set recipe 64 | var recipe = ee.Image([]); 65 | 66 | // apply filter 67 | ee.List.sequence({'start': 1985, 'end': 2022}).getInfo() 68 | .forEach(function(year_i) { 69 | // compute the focal model 70 | var focal_mode = filtered.select(['classification_' + year_i]) 71 | .unmask(0) 72 | .focal_mode({'radius': 1, 'kernelType': 'square', 'units': 'pixels'}); 73 | 74 | // compute te number of connections 75 | var connections = filtered.select(['classification_' + year_i]) 76 | .unmask(0) 77 | .connectedPixelCount({'maxSize': 100, 'eightConnected': false}); 78 | 79 | // get the focal model when the number of connections of same class is lower than parameter 80 | var to_mask = focal_mode.updateMask(connections.lte(filter_size)); 81 | 82 | // apply filter 83 | var classification_i = filtered.select(['classification_' + year_i]) 84 | .blend(to_mask) 85 | .reproject('EPSG:4326', null, 30); 86 | 87 | // stack into recipe 88 | recipe = recipe.addBands(classification_i.updateMask(classification_i.neq(0))); 89 | } 90 | ); 91 | 92 | Map.addLayer(recipe.select(['classification_2010']), vis, 'filtered 2010 - round 2'); 93 | print ('output image', recipe); 94 | 95 | // export as GEE asset 96 | Export.image.toAsset({ 97 | 'image': recipe, 98 | 'description': 'CERRADO_col8_rocky_gapfill_frequency_spatial_v' + version_out, 99 | 'assetId': root + 'CERRADO_col8_rocky_gapfill_frequency_spatial_v' + version_out, 100 | 'pyramidingPolicy': { 101 | '.default': 'mode' 102 | }, 103 | 'region': classification.geometry(), 104 | 'scale': 30, 105 | 'maxPixels': 1e13 106 | }); 107 | --------------------------------------------------------------------------------