├── 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 | 
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 |
--------------------------------------------------------------------------------