diff --git a/src/main/scala/org/globalforestwatch/grids/Grid.scala b/src/main/scala/org/globalforestwatch/grids/Grid.scala index 552e3abd..12045daf 100644 --- a/src/main/scala/org/globalforestwatch/grids/Grid.scala +++ b/src/main/scala/org/globalforestwatch/grids/Grid.scala @@ -3,7 +3,6 @@ package org.globalforestwatch.grids import geotrellis.raster.TileLayout import geotrellis.layer.{LayoutDefinition, SpatialKey} import geotrellis.vector.Extent -import org.globalforestwatch.layers.{OptionalLayer, RequiredLayer} trait Grid[T <: GridSources] { @@ -56,55 +55,17 @@ trait Grid[T <: GridSources] { LayoutDefinition(gridExtent, tileLayout) } + // Get the set of grid sources (subclass of GridSources) associated with specified + // grid tile and the configuration/catalog in kwargs. def getSources(gridTile: GridTile, kwargs: Map[String, Any]): T - def checkSources(gridTile: GridTile, windowExtent: Extent, windowKey: SpatialKey, windowLayout: LayoutDefinition, kwargs: Map[String, Any]): T = { - - def ccToMap(cc: AnyRef): Map[String, Any] = - cc.getClass.getDeclaredFields.foldLeft(Map.empty[String, Any]) { (a, f) => - f.setAccessible(true) - a + (f.getName -> f.get(cc)) - } - - val sources: T = getSources(gridTile, kwargs) - - val sourceMap = ccToMap(sources) - - for ((k, v) <- sourceMap) { - - v match { - case s: RequiredLayer => checkRequired(s, windowExtent) - case s: OptionalLayer => checkOptional(s, windowExtent) - case _ => Unit - } - } - - sources - } - - // NOTE: This check will cause an eager fetch of raster metadata - def checkRequired(layer: RequiredLayer, windowExtent: Extent): Unit = { - require( - layer.source.extent.intersects(windowExtent), - s"${layer.uri} does not intersect: $windowExtent" - ) - } - - // Only check these guys if they're defined - def checkOptional(layer: OptionalLayer, windowExtent: Extent): Unit = { - layer.source.foreach { source => - require( - source.extent.intersects(windowExtent), - s"${layer.uri} does not intersect: $windowExtent" - ) - } - } - + // Get the set of grid sources (subclass of GridSources) associated with specified + // windowKey and windowLayout and the configuration/catalog in kwargs. def getRasterSource(windowKey: SpatialKey, windowLayout: LayoutDefinition, kwargs: Map[String, Any]): T = { val windowExtent: Extent = windowKey.extent(windowLayout) val gridId = GridId.pointGridId(windowExtent.center, gridSize) val gridTile = GridTile(gridSize, rowCount, blockSize, gridId) - checkSources(gridTile, windowExtent: Extent, windowKey: SpatialKey, windowLayout: LayoutDefinition, kwargs: Map[String, Any]) + getSources(gridTile, kwargs) } } diff --git a/src/main/scala/org/globalforestwatch/layers/Layer.scala b/src/main/scala/org/globalforestwatch/layers/Layer.scala index 48203f32..b3e29c86 100644 --- a/src/main/scala/org/globalforestwatch/layers/Layer.scala +++ b/src/main/scala/org/globalforestwatch/layers/Layer.scala @@ -193,7 +193,9 @@ trait FLayer extends Layer { trait RequiredLayer extends Layer { /** - * Define how to read sources for required layers + * Define how to read sources for required layers. source is only evaluated (and + * so we only check the the associated tile exists) when fetchWindow is first + * called, and then source is used to fetch the relevant tile. */ lazy val source: GDALRasterSource = { // Removes the expected 404 errors from console log @@ -234,6 +236,7 @@ trait RequiredILayer extends RequiredLayer with ILayer { */ def fetchWindow(windowKey: SpatialKey, windowLayout: LayoutDefinition): ITile = { + require(source.extent.intersects(windowKey.extent(windowLayout))) val layoutSource = LayoutTileSource.spatial(source, windowLayout) // println(s"Fetching required int tile ${source.dataPath.value}, key ${windowKey}") val tile = source.synchronized { @@ -251,6 +254,7 @@ trait RequiredDLayer extends RequiredLayer with DLayer { */ def fetchWindow(windowKey: SpatialKey, windowLayout: LayoutDefinition): DTile = { + require(source.extent.intersects(windowKey.extent(windowLayout))) val layoutSource = LayoutTileSource.spatial(source, windowLayout) // println(s"Fetching required int tile ${source.dataPath.value}, key ${windowKey}") val tile = source.synchronized { @@ -268,6 +272,7 @@ trait RequiredFLayer extends RequiredLayer with FLayer { */ def fetchWindow(windowKey: SpatialKey, windowLayout: LayoutDefinition): FTile = { + require(source.extent.intersects(windowKey.extent(windowLayout))) val layoutSource = LayoutTileSource.spatial(source, windowLayout) // println(s"Fetching required float tile ${source.dataPath.value}, key ${windowKey}") val tile = source.synchronized { @@ -281,9 +286,10 @@ trait RequiredFLayer extends RequiredLayer with FLayer { trait OptionalLayer extends Layer { /** - * Define how to read sources for optional Layers + * Define how to read sources for optional Layers. Check if URI exists before + * trying to open it, return None if no file found. source is only evaluated when + * fetchWindow is first called, and then is used to fetch the relevant tile. */ - /** Check if URI exists before trying to open it, return None if no file found */ lazy val source: Option[GDALRasterSource] = { // Removes the expected 404 errors from console log @@ -326,6 +332,7 @@ trait OptionalILayer extends OptionalLayer with ILayer { */ def fetchWindow(windowKey: SpatialKey, windowLayout: LayoutDefinition): OptionalITile = { + source.foreach(s => require(s.extent.intersects(windowKey.extent(windowLayout)))) // source.foreach(s => println(s"Fetching optional int tile ${s.dataPath.value}, key ${windowKey}")) new OptionalITile(for { source <- source @@ -349,6 +356,7 @@ trait OptionalDLayer extends OptionalLayer with DLayer { */ def fetchWindow(windowKey: SpatialKey, windowLayout: LayoutDefinition): OptionalDTile = { + source.foreach(s => require(s.extent.intersects(windowKey.extent(windowLayout)))) // source.foreach(s => println(s"Fetching optional double tile ${s.dataPath.value}, key ${windowKey}")) new OptionalDTile(for { source <- source @@ -372,6 +380,7 @@ trait OptionalFLayer extends OptionalLayer with FLayer { */ def fetchWindow(windowKey: SpatialKey, windowLayout: LayoutDefinition): OptionalFTile = { + source.foreach(s => require(s.extent.intersects(windowKey.extent(windowLayout)))) // source.foreach(s => println(s"Fetching optional float tile ${s.dataPath.value}, key ${windowKey}")) new OptionalFTile(for { source <- source diff --git a/src/main/scala/org/globalforestwatch/summarystats/ErrorSummaryRDD.scala b/src/main/scala/org/globalforestwatch/summarystats/ErrorSummaryRDD.scala index cf96168a..cd4e1588 100644 --- a/src/main/scala/org/globalforestwatch/summarystats/ErrorSummaryRDD.scala +++ b/src/main/scala/org/globalforestwatch/summarystats/ErrorSummaryRDD.scala @@ -190,6 +190,8 @@ trait ErrorSummaryRDD extends LazyLogging with java.io.Serializable { featuresGroupedWithSummaries } + // Get the grid sources (subclass of GridSources) associated with a specified + // window key and windowLayout. def getSources(key: SpatialKey, windowLayout: LayoutDefinition, kwargs: Map[String, Any]): Either[Throwable, SOURCES] def readWindow(rs: SOURCES, windowKey: SpatialKey, windowLayout: LayoutDefinition): Either[Throwable, Raster[TILE]] diff --git a/src/main/scala/org/globalforestwatch/summarystats/SummaryRDD.scala b/src/main/scala/org/globalforestwatch/summarystats/SummaryRDD.scala index c6ffe677..cb859971 100644 --- a/src/main/scala/org/globalforestwatch/summarystats/SummaryRDD.scala +++ b/src/main/scala/org/globalforestwatch/summarystats/SummaryRDD.scala @@ -216,6 +216,8 @@ trait SummaryRDD extends LazyLogging with java.io.Serializable { featuresGroupedWithSummaries } + // Get the grid sources (subclass of GridSources) associated with a specified + // window key and windowLayout. def getSources(key: SpatialKey, windowLayout: LayoutDefinition, kwargs: Map[String, Any]): Either[Throwable, SOURCES] def readWindow(rs: SOURCES, windowKey: SpatialKey, windowLayout: LayoutDefinition): Either[Throwable, Raster[TILE]] diff --git a/src/main/scala/org/globalforestwatch/summarystats/forest_change_diagnostic/ForestChangeDiagnosticSummary.scala b/src/main/scala/org/globalforestwatch/summarystats/forest_change_diagnostic/ForestChangeDiagnosticSummary.scala index ada8e110..2a9aa99d 100644 --- a/src/main/scala/org/globalforestwatch/summarystats/forest_change_diagnostic/ForestChangeDiagnosticSummary.scala +++ b/src/main/scala/org/globalforestwatch/summarystats/forest_change_diagnostic/ForestChangeDiagnosticSummary.scala @@ -87,28 +87,18 @@ object ForestChangeDiagnosticSummary { val isPeatlands: Boolean = raster.tile.isPeatlands.getData(col, row) val isIntactForestLandscapes2000: Boolean = raster.tile.isIntactForestLandscapes2000.getData(col, row) - val prodesLossYear: Int = { - val loss = raster.tile.prodesLossYear.getData(col, row) - if (loss != null) { - loss.toInt - } else { - 0 - } - } val region: Int = raster.tile.gfwProCoverage.getData(col, row) val argPresence = GFWProCoverage.isArgentina(region) val colPresence = GFWProCoverage.isColombia(region) val braBiomesPresence = GFWProCoverage.isBrazilBiomesPresence(region) - val argOTBN: String = raster.tile.argOTBN.getData(col, row) + var argOTBN: String = "" // We compute country-specific forest loss using argForestLoss tile for // Argentina, and prodesLossYear for Brazil. In the very unusual case where a // location covers more than one country, we don't want to mix // country-specific forest losses, so we record the country-code that the - // forest loss came from. We will zero out the country-specific forest loss - // and mark it with an 'ERR' country code if we end up merging results from - // more than one country. + // forest loss came from. var countrySpecificLossYear = ApproxYear(0, false) var countryCode = "" var classifiedRegion = "" @@ -118,6 +108,7 @@ object ForestChangeDiagnosticSummary { classifiedRegion = raster.tile.colFronteraAgricola.getData(col, row) } else if (argPresence) { countrySpecificLossYear = raster.tile.argForestLoss.getData(col, row) + argOTBN = raster.tile.argOTBN.getData(col, row) classifiedRegion = argOTBN countryCode = "ARG" } else { @@ -133,6 +124,20 @@ object ForestChangeDiagnosticSummary { countryCode = "BRA" } } + val prodesLossYear: Int = { + if (countryCode == "BRA") { + countrySpecificLossYear.year + } else { + 0 + } + } + val braBiomes: String = { + if (braBiomesPresence) { + raster.tile.braBiomes.getData(col, row) + } else { + "" + } + } val seAsiaLandCover: String = raster.tile.seAsiaLandCover.getData(col, row) @@ -142,7 +147,6 @@ object ForestChangeDiagnosticSummary { val idnForestArea: String = raster.tile.idnForestArea.getData(col, row) val isIdnForestMoratorium: Boolean = raster.tile.isIDNForestMoratorium.getData(col, row) - val braBiomes: String = raster.tile.braBiomes.getData(col, row) val isPlantation: Boolean = raster.tile.isPlantation.getData(col, row) // compute Booleans diff --git a/src/test/resources/argbra-fcd-output/part-00000-43445e46-f7f6-4346-9ac7-b38136173746-c000.csv b/src/test/resources/argbra-fcd-output/part-00000-bcbeefde-01f7-4064-b0a7-48d96879e969-c000.csv similarity index 61% rename from src/test/resources/argbra-fcd-output/part-00000-43445e46-f7f6-4346-9ac7-b38136173746-c000.csv rename to src/test/resources/argbra-fcd-output/part-00000-bcbeefde-01f7-4064-b0a7-48d96879e969-c000.csv index b95d691e..77551303 100644 --- a/src/test/resources/argbra-fcd-output/part-00000-43445e46-f7f6-4346-9ac7-b38136173746-c000.csv +++ b/src/test/resources/argbra-fcd-output/part-00000-bcbeefde-01f7-4064-b0a7-48d96879e969-c000.csv @@ -1,2 +1,2 @@ list_id location_id status_code location_error tree_cover_loss_total_yearly tree_cover_loss_primary_forest_yearly tree_cover_loss_peat_yearly tree_cover_loss_intact_forest_yearly tree_cover_loss_protected_areas_yearly tree_cover_loss_by_country_yearly tree_cover_loss_by_country_wdpa_yearly tree_cover_loss_by_country_landmark_yearly tree_cover_loss_by_country_classified_region_yearly tree_cover_loss_arg_otbn_yearly tree_cover_loss_sea_landcover_yearly tree_cover_loss_idn_landcover_yearly tree_cover_loss_soy_yearly tree_cover_loss_idn_legal_yearly tree_cover_loss_idn_forest_moratorium_yearly tree_cover_loss_prodes_yearly tree_cover_loss_prodes_wdpa_yearly tree_cover_loss_prodes_primary_forest_yearly country_area country_specific_deforestation_yearly country_specific_deforestation_wdpa_yearly country_specific_deforestation_landmark_yearly country_specific_deforestation_classified_region_yearly classified_region_area tree_cover_loss_brazil_biomes_yearly tree_cover_extent_total tree_cover_extent_primary_forest tree_cover_extent_protected_areas tree_cover_extent_peat tree_cover_extent_intact_forest natural_habitat_primary natural_habitat_intact_forest total_area protected_areas_area peat_area arg_otbn_area protected_areas_by_category_area landmark_by_category_area brazil_biomes idn_legal_area sea_landcover_area idn_landcover_area idn_forest_moratorium_area south_america_presence legal_amazon_presence brazil_biomes_presence cerrado_biome_presence southeast_asia_presence indonesia_presence argentina_presence commodity_value_forest_extent commodity_value_peat commodity_value_protected_areas commodity_threat_deforestation commodity_threat_peat commodity_threat_protected_areas commodity_threat_fires -166 1 2 {"2001":390.3801,"2002":337.1303,"2003":591.747,"2004":522.3103,"2005":905.0571,"2006":861.6216,"2007":688.9958,"2008":719.6228,"2009":682.3401,"2010":342.0608,"2011":832.8575,"2012":822.2161,"2013":698.7244,"2014":1061.5944,"2015":623.7254,"2016":1506.2833,"2017":2137.3785,"2018":999.0414,"2019":1187.6768,"2020":1380.8694,"2021":1630.7097,"2022":1173.8577,"2023":935.707} {"2001":4.4721,"2002":4.6137,"2003":6.8156,"2004":2.1372,"2005":6.1991,"2006":69.8527,"2007":54.001,"2008":103.172,"2009":68.8725,"2010":25.6512,"2011":40.7394,"2012":61.5105,"2013":77.835,"2014":58.1765,"2015":40.3091,"2016":68.4074,"2017":163.7431,"2018":35.5811,"2019":48.25,"2020":30.8854,"2021":33.2186,"2022":47.9914,"2023":34.3442} {"2001":0.4816,"2002":0.2062,"2003":0.2062,"2004":0.6189,"2005":0.6193,"2006":0.413,"2007":1.3096,"2008":0.3435,"2009":0.6872,"2010":0.619,"2011":2.2689,"2012":1.4448,"2013":1.8558,"2014":5.7042,"2015":1.6496,"2016":2.7495,"2017":11.0043,"2018":2.4757,"2019":3.92,"2020":3.3036,"2021":5.0209,"2022":2.4071,"2023":1.7176} {} {"2001":8.538,"2002":8.7495,"2003":7.5728,"2004":14.4597,"2005":90.2472,"2006":211.8131,"2007":177.1202,"2008":66.799,"2009":69.0354,"2010":10.0578,"2011":39.6777,"2012":35.612,"2013":11.0741,"2014":20.1668,"2015":18.4411,"2016":11.7733,"2017":36.2816,"2018":7.9929,"2019":22.3112,"2020":8.1953,"2021":25.8224,"2022":11.5036,"2023":0.4131} {"ARG":{"2001":169.7492,"2002":110.0137,"2003":279.3034,"2004":243.8448,"2005":503.571,"2006":590.8377,"2007":450.6176,"2008":539.3522,"2009":450.1686,"2010":266.6501,"2011":375.4212,"2012":535.6973,"2013":450.3713,"2014":590.4731,"2015":350.2188,"2016":606.0677,"2017":909.5434,"2018":472.945,"2019":546.4409,"2020":656.0203,"2021":878.4245,"2022":433.7453,"2023":356.2457},"BRA":{"2001":220.6309,"2002":227.1166,"2003":312.4436,"2004":278.4655,"2005":401.4861,"2006":270.7838,"2007":237.4137,"2008":180.2706,"2009":232.1715,"2010":75.4107,"2011":457.3676,"2012":286.5188,"2013":248.2153,"2014":470.7769,"2015":273.5065,"2016":899.9401,"2017":1222.5303,"2018":526.0963,"2019":639.9957,"2020":724.7802,"2021":751.8719,"2022":739.5609,"2023":579.4613}} {"ARG":{"UNESCO-MAB Biosphere Reserve":{"2001":7.0261,"2002":7.6501,"2003":5.305,"2004":14.4597,"2005":89.2163,"2006":211.2632,"2007":177.1202,"2008":66.4553,"2009":64.1559,"2010":10.0578,"2011":38.6468,"2012":35.0618,"2013":9.2869,"2014":18.1734,"2015":11.567,"2016":9.8485,"2017":34.082,"2018":7.8554,"2019":21.624,"2020":6.4081,"2021":22.5221,"2022":11.2972,"2023":0.4131},"Category II":{"2001":1.5119,"2002":1.0995,"2003":2.2677,"2004":0.0,"2005":1.0309,"2006":0.55,"2007":0.0,"2008":0.3437,"2009":4.8795,"2010":0.0,"2011":0.9621,"2012":0.4813,"2013":1.6495,"2014":1.8557,"2015":6.8741,"2016":1.7182,"2017":2.0618,"2018":0.1375,"2019":0.6873,"2020":1.7183,"2021":2.8869,"2022":0.2064,"2023":0.0}}} {"ARG":{"Not Reported":{"2001":39.904,"2002":36.1895,"2003":118.8314,"2004":99.1471,"2005":211.2132,"2006":230.4318,"2007":162.2055,"2008":142.2109,"2009":130.0801,"2010":68.1056,"2011":108.2244,"2012":241.5664,"2013":127.9175,"2014":210.2876,"2015":139.705,"2016":247.6686,"2017":361.3402,"2018":201.2981,"2019":248.205,"2020":277.617,"2021":433.2285,"2022":149.1649,"2023":117.5902}}} {"ARG":{"Category II":{"2001":15.5017,"2002":13.3015,"2003":31.5663,"2004":34.1258,"2005":67.4062,"2006":55.745,"2007":46.5984,"2008":73.8253,"2009":131.6487,"2010":73.2082,"2011":100.0926,"2012":133.2506,"2013":130.0616,"2014":156.9412,"2015":106.1384,"2016":151.6383,"2017":269.1299,"2018":137.5692,"2019":158.3015,"2020":163.4794,"2021":243.9769,"2022":130.3351,"2023":128.5559},"Category III":{"2001":26.2709,"2002":13.8555,"2003":42.6008,"2004":23.2359,"2005":54.4591,"2006":44.0493,"2007":27.9229,"2008":52.6735,"2009":78.9423,"2010":73.1421,"2011":68.5956,"2012":112.4446,"2013":151.5104,"2014":217.1291,"2015":113.4622,"2016":201.8612,"2017":294.2968,"2018":150.2793,"2019":194.1712,"2020":223.0738,"2021":300.5095,"2022":110.6482,"2023":98.4466},"Category I":{"2001":1.0996,"2002":0.8246,"2003":2.1303,"2004":0.0,"2005":0.9622,"2006":0.55,"2007":0.0,"2008":0.3437,"2009":3.7798,"2010":0.0,"2011":0.5498,"2012":0.4125,"2013":1.6495,"2014":1.5121,"2015":6.3928,"2016":1.6495,"2017":2.0618,"2018":0.1375,"2019":0.6873,"2020":1.5121,"2021":2.8869,"2022":0.2064,"2023":0.0}}} {"Category II":{"2001":15.5017,"2002":13.3015,"2003":31.5663,"2004":34.1258,"2005":67.4062,"2006":55.745,"2007":46.5984,"2008":73.8253,"2009":131.6487,"2010":73.2082,"2011":100.0926,"2012":133.2506,"2013":130.0616,"2014":157.0101,"2015":106.1384,"2016":151.6383,"2017":269.1299,"2018":137.5692,"2019":158.3015,"2020":163.4794,"2021":244.0458,"2022":130.3351,"2023":128.5559},"Category III":{"2001":26.2709,"2002":13.8555,"2003":42.6008,"2004":23.2359,"2005":54.4591,"2006":44.0493,"2007":27.9229,"2008":52.6735,"2009":78.9423,"2010":73.1421,"2011":68.5956,"2012":112.4446,"2013":151.5104,"2014":217.1291,"2015":113.4622,"2016":201.8612,"2017":294.2968,"2018":150.2793,"2019":194.1712,"2020":223.0738,"2021":300.5095,"2022":110.6482,"2023":98.4466},"Category I":{"2001":1.0996,"2002":0.8246,"2003":2.1303,"2004":0.0,"2005":0.9622,"2006":0.55,"2007":0.0,"2008":0.3437,"2009":3.7798,"2010":0.0,"2011":0.5498,"2012":0.4125,"2013":1.6495,"2014":1.5121,"2015":6.3928,"2016":1.6495,"2017":2.0618,"2018":0.1375,"2019":0.6873,"2020":1.5121,"2021":2.8869,"2022":0.2064,"2023":0.0}} {} {} {"2001":21.624,"2002":20.8704,"2003":35.0478,"2004":35.6016,"2005":35.1084,"2006":29.4707,"2007":23.7689,"2008":26.0851,"2009":23.4664,"2010":9.7672,"2011":76.1005,"2012":28.4983,"2013":18.1678,"2014":49.4618,"2015":21.3388,"2016":63.0798,"2017":82.2563,"2018":30.9672,"2019":32.1454,"2020":38.9536,"2021":3.9932,"2022":1.102} {} {} {} {} {} {"ARG":194985.6634,"BRA":221184.6524} {"ARG":{"2001":0.0,"2002":0.0,"2003":0.0,"2004":0.0,"2005":0.0,"2006":0.0,"2007":186.9026,"2008":0.0,"2009":0.0,"2010approx":417.5112,"2011":15.1053,"2012":0.0,"2013approx":117.2137,"2014":79.0631,"2015":3.5847,"2016":8.0709,"2017":163.5411,"2018":31.4482,"2019":47.2747,"2020":181.2011,"2021":110.5264,"2022":18.9678,"2023":0.0}} {"ARG":{"UNESCO-MAB Biosphere Reserve":{"2001":0.0,"2002":0.0,"2003":0.0,"2004":0.0,"2005":0.0,"2006":0.0,"2007":0.0,"2008":0.0,"2009":0.0,"2010approx":1.0342,"2011":0.0,"2012":0.0,"2013":0.0,"2014":0.0,"2015":0.0,"2016":0.0,"2017":0.0,"2018":0.0,"2019":17.5539,"2020":0.0,"2021":0.0,"2022":0.0,"2023":0.0},"Category II":{"2001":0.0,"2002":0.0,"2003":0.0,"2004":0.0,"2005":0.0,"2006":0.0,"2007":0.0,"2008":0.0,"2009":0.0,"2010":0.0,"2011":0.0,"2012":0.0,"2013":0.0,"2014":0.0,"2015":0.0,"2016":0.0,"2017":0.0,"2018":0.0,"2019":0.0,"2020":23.7832,"2021":0.0,"2022":0.0,"2023":0.0}}} {"ARG":{"Not Reported":{"2001":0.0,"2002":0.0,"2003":0.0,"2004":0.0,"2005":0.0,"2006":0.0,"2007":92.4229,"2008":0.0,"2009":0.0,"2010approx":46.7539,"2011":0.0,"2012":0.0,"2013approx":20.4653,"2014":46.5229,"2015":0.0,"2016":0.0,"2017":44.9934,"2018":5.5842,"2019":31.0673,"2020":76.3528,"2021":21.096,"2022":0.0,"2023":0.0}}} {"ARG":{"Category III":{"2001":0.0,"2002":0.0,"2003":0.0,"2004":0.0,"2005":0.0,"2006":0.0,"2007":14.683,"2008":0.0,"2009":0.0,"2010approx":75.2363,"2011":12.4841,"2012":0.0,"2013approx":30.8262,"2014":39.6991,"2015":0.0,"2016":6.8293,"2017":94.9476,"2018":22.8267,"2019":13.5189,"2020":40.3374,"2021":34.8144,"2022":10.8284,"2023":0.0},"Category II":{"2001":0.0,"2002":0.0,"2003":0.0,"2004":0.0,"2005":0.0,"2006":0.0,"2007":25.0997,"2008":0.0,"2009":0.0,"2010approx":174.5175,"2011":1.7935,"2012":0.0,"2013approx":71.4984,"2014":27.7832,"2015":3.5847,"2016":1.2417,"2017":54.5984,"2018":8.3456,"2019":32.4472,"2020":73.3842,"2021":66.2684,"2022":7.1053,"2023":0.0},"Category I":{"2001":0.0,"2002":0.0,"2003":0.0,"2004":0.0,"2005":0.0,"2006":0.0,"2007":0.0,"2008":0.0,"2009":0.0,"2010":0.0,"2011":0.0,"2012":0.0,"2013":0.0,"2014":0.0,"2015":0.0,"2016":0.0,"2017":0.0,"2018":0.0,"2019":0.0,"2020":21.3774,"2021":0.0,"2022":0.0,"2023":0.0}}} {"ARG":{"Category II":122991.3614,"Category III":11275.7574,"Category I":30089.6869}} {"Mata Atlântica":{"2001":222.281,"2002":229.664,"2003":313.889,"2004":281.566,"2005":404.1011,"2006":274.0218,"2007":244.2288,"2008":182.4026,"2009":237.3952,"2010":77.4035,"2011":460.1882,"2012":303.0526,"2013":257.9101,"2014":491.4761,"2015":279.4206,"2016":909.6394,"2017":1238.9614,"2018":529.7395,"2019":649.9751,"2020":733.7938,"2021":765.01,"2022":743.0739,"2023":584.0024}} 310497.0062 151998.5232 145836.3381 3133.6034 0.0 152001.8248 0.0 416412.5376 145907.1635 3633.9932 {"Category II":123789.927,"Category III":11275.7574,"Category I":30089.6869} {"UNESCO-MAB Biosphere Reserve":113456.4943,"Category II":31264.8844} {"Not Reported":91313.3874} {"Mata Atlântica":235455.6349} {} {} {} 0.0 true false true false false false true {"2001":228399.0302,"2002":228399.0302,"2003":228218.695,"2004":228019.807,"2005":227669.5127,"2006":227360.6322,"2007":226793.1945,"2008":226294.0263,"2009":225908.1898,"2010":225416.7831,"2011":224990.0743,"2012":224720.0969,"2013":224202.2054,"2014":223703.987,"2015":223262.4402,"2016":222610.9217,"2017":222244.0711,"2018":221464.0632,"2019":220326.1549,"2020":219785.4113,"2021":219159.8818,"2022":218487.8012} {"2001":3633.9932,"2002":3633.9932,"2003":3633.9932,"2004":3633.9932,"2005":3633.9932,"2006":3633.9932,"2007":3633.9932,"2008":3633.9932,"2009":3633.9932,"2010":3633.9932,"2011":3633.9932,"2012":3633.9932,"2013":3633.9932,"2014":3633.9932,"2015":3633.9932,"2016":3633.9932,"2017":3633.9932,"2018":3633.9932,"2019":3633.9932,"2020":3633.9932,"2021":3633.9932,"2022":3633.9932} {"2001":145907.1635,"2002":145907.1635,"2003":145907.1635,"2004":145907.1635,"2005":145907.1635,"2006":145907.1635,"2007":145907.1635,"2008":145907.1635,"2009":145907.1635,"2010":145907.1635,"2011":145907.1635,"2012":145907.1635,"2013":145907.1635,"2014":145907.1635,"2015":145907.1635,"2016":145907.1635,"2017":145907.1635,"2018":145907.1635,"2019":145907.1635,"2020":145907.1635,"2021":145907.1635,"2022":145907.1635} {"2002":379.2232,"2003":549.1823,"2004":659.1748,"2005":876.3182,"2006":1066.606,"2007":885.0047,"2008":877.2432,"2009":918.1155,"2010":696.6862,"2011":787.8689,"2012":1016.1099,"2013":939.7652,"2014":1093.0653,"2015":1018.3691,"2016":1146.8585,"2017":1917.9162,"2018":1678.6519,"2019":1166.2731,"2020":1297.6101,"2021":1606.9852,"2022":1513.9363} {"2002":20.9771,"2003":20.5645,"2004":20.8397,"2005":21.1152,"2006":21.1155,"2007":21.9433,"2008":21.8738,"2009":21.0455,"2010":21.321,"2011":21.8711,"2012":22.0087,"2013":21.9396,"2014":22.4891,"2015":22.2141,"2016":22.4208,"2017":26.4784,"2018":25.7222,"2019":22.0779,"2020":22.2157,"2021":23.3861,"2022":23.3168} {"2002":1412.3095,"2003":1411.9654,"2004":1409.5569,"2005":1412.3853,"2006":1422.5074,"2007":1433.1795,"2008":1430.6331,"2009":1426.769,"2010":1421.6073,"2011":1416.8048,"2012":1421.3469,"2013":1419.7406,"2014":1420.2105,"2015":1426.2686,"2016":1424.1418,"2017":1427.8639,"2018":1422.7713,"2019":1422.0236,"2020":1426.6357,"2021":1427.8733,"2022":1431.9397} {} +166 1 2 {"2001":390.3801,"2002":337.1303,"2003":591.747,"2004":522.3103,"2005":905.0571,"2006":861.6216,"2007":688.9958,"2008":719.6228,"2009":682.3401,"2010":342.0608,"2011":832.8575,"2012":822.2161,"2013":698.7244,"2014":1061.5944,"2015":623.7254,"2016":1506.2833,"2017":2137.3785,"2018":999.0414,"2019":1187.6768,"2020":1380.8694,"2021":1630.7097,"2022":1173.8577,"2023":935.707} {"2001":4.4721,"2002":4.6137,"2003":6.8156,"2004":2.1372,"2005":6.1991,"2006":69.8527,"2007":54.001,"2008":103.172,"2009":68.8725,"2010":25.6512,"2011":40.7394,"2012":61.5105,"2013":77.835,"2014":58.1765,"2015":40.3091,"2016":68.4074,"2017":163.7431,"2018":35.5811,"2019":48.25,"2020":30.8854,"2021":33.2186,"2022":47.9914,"2023":34.3442} {"2001":0.4816,"2002":0.2062,"2003":0.2062,"2004":0.6189,"2005":0.6193,"2006":0.413,"2007":1.3096,"2008":0.3435,"2009":0.6872,"2010":0.619,"2011":2.2689,"2012":1.4448,"2013":1.8558,"2014":5.7042,"2015":1.6496,"2016":2.7495,"2017":11.0043,"2018":2.4757,"2019":3.92,"2020":3.3036,"2021":5.0209,"2022":2.4071,"2023":1.7176} {} {"2001":8.538,"2002":8.7495,"2003":7.5728,"2004":14.4597,"2005":90.2472,"2006":211.8131,"2007":177.1202,"2008":66.799,"2009":69.0354,"2010":10.0578,"2011":39.6777,"2012":35.612,"2013":11.0741,"2014":20.1668,"2015":18.4411,"2016":11.7733,"2017":36.2816,"2018":7.9929,"2019":22.3112,"2020":8.1953,"2021":25.8224,"2022":11.5036,"2023":0.4131} {"ARG":{"2001":169.7492,"2002":110.0137,"2003":279.3034,"2004":243.8448,"2005":503.571,"2006":590.8377,"2007":450.6176,"2008":539.3522,"2009":450.1686,"2010":266.6501,"2011":375.4212,"2012":535.6973,"2013":450.3713,"2014":590.4731,"2015":350.2188,"2016":606.0677,"2017":909.5434,"2018":472.945,"2019":546.4409,"2020":656.0203,"2021":878.4245,"2022":433.7453,"2023":356.2457},"BRA":{"2001":220.6309,"2002":227.1166,"2003":312.4436,"2004":278.4655,"2005":401.4861,"2006":270.7838,"2007":237.4137,"2008":180.2706,"2009":232.1715,"2010":75.4107,"2011":457.3676,"2012":286.5188,"2013":248.2153,"2014":470.7769,"2015":273.5065,"2016":899.9401,"2017":1222.5303,"2018":526.0963,"2019":639.9957,"2020":724.7802,"2021":751.8719,"2022":739.5609,"2023":579.4613}} {"ARG":{"Category II":{"2001":1.5119,"2002":1.0995,"2003":2.2677,"2004":0.0,"2005":1.0309,"2006":0.55,"2007":0.0,"2008":0.3437,"2009":4.8795,"2010":0.0,"2011":0.9621,"2012":0.4813,"2013":1.6495,"2014":1.8557,"2015":6.8741,"2016":1.7182,"2017":2.0618,"2018":0.1375,"2019":0.6873,"2020":1.7183,"2021":2.8869,"2022":0.2064,"2023":0.0},"UNESCO-MAB Biosphere Reserve":{"2001":7.0261,"2002":7.6501,"2003":5.305,"2004":14.4597,"2005":89.2163,"2006":211.2632,"2007":177.1202,"2008":66.4553,"2009":64.1559,"2010":10.0578,"2011":38.6468,"2012":35.0618,"2013":9.2869,"2014":18.1734,"2015":11.567,"2016":9.8485,"2017":34.082,"2018":7.8554,"2019":21.624,"2020":6.4081,"2021":22.5221,"2022":11.2972,"2023":0.4131}}} {"ARG":{"Not Reported":{"2001":39.904,"2002":36.1895,"2003":118.8314,"2004":99.1471,"2005":211.2132,"2006":230.4318,"2007":162.2055,"2008":142.2109,"2009":130.0801,"2010":68.1056,"2011":108.2244,"2012":241.5664,"2013":127.9175,"2014":210.2876,"2015":139.705,"2016":247.6686,"2017":361.3402,"2018":201.2981,"2019":248.205,"2020":277.617,"2021":433.2285,"2022":149.1649,"2023":117.5902}}} {"ARG":{"Category III":{"2001":26.2709,"2002":13.8555,"2003":42.6008,"2004":23.2359,"2005":54.4591,"2006":44.0493,"2007":27.9229,"2008":52.6735,"2009":78.9423,"2010":73.1421,"2011":68.5956,"2012":112.4446,"2013":151.5104,"2014":217.1291,"2015":113.4622,"2016":201.8612,"2017":294.2968,"2018":150.2793,"2019":194.1712,"2020":223.0738,"2021":300.5095,"2022":110.6482,"2023":98.4466},"Category II":{"2001":15.5017,"2002":13.3015,"2003":31.5663,"2004":34.1258,"2005":67.4062,"2006":55.745,"2007":46.5984,"2008":73.8253,"2009":131.6487,"2010":73.2082,"2011":100.0926,"2012":133.2506,"2013":130.0616,"2014":156.9412,"2015":106.1384,"2016":151.6383,"2017":269.1299,"2018":137.5692,"2019":158.3015,"2020":163.4794,"2021":243.9769,"2022":130.3351,"2023":128.5559},"Category I":{"2001":1.0996,"2002":0.8246,"2003":2.1303,"2004":0.0,"2005":0.9622,"2006":0.55,"2007":0.0,"2008":0.3437,"2009":3.7798,"2010":0.0,"2011":0.5498,"2012":0.4125,"2013":1.6495,"2014":1.5121,"2015":6.3928,"2016":1.6495,"2017":2.0618,"2018":0.1375,"2019":0.6873,"2020":1.5121,"2021":2.8869,"2022":0.2064,"2023":0.0}}} {"Category III":{"2001":26.2709,"2002":13.8555,"2003":42.6008,"2004":23.2359,"2005":54.4591,"2006":44.0493,"2007":27.9229,"2008":52.6735,"2009":78.9423,"2010":73.1421,"2011":68.5956,"2012":112.4446,"2013":151.5104,"2014":217.1291,"2015":113.4622,"2016":201.8612,"2017":294.2968,"2018":150.2793,"2019":194.1712,"2020":223.0738,"2021":300.5095,"2022":110.6482,"2023":98.4466},"Category II":{"2001":15.5017,"2002":13.3015,"2003":31.5663,"2004":34.1258,"2005":67.4062,"2006":55.745,"2007":46.5984,"2008":73.8253,"2009":131.6487,"2010":73.2082,"2011":100.0926,"2012":133.2506,"2013":130.0616,"2014":156.9412,"2015":106.1384,"2016":151.6383,"2017":269.1299,"2018":137.5692,"2019":158.3015,"2020":163.4794,"2021":243.9769,"2022":130.3351,"2023":128.5559},"Category I":{"2001":1.0996,"2002":0.8246,"2003":2.1303,"2004":0.0,"2005":0.9622,"2006":0.55,"2007":0.0,"2008":0.3437,"2009":3.7798,"2010":0.0,"2011":0.5498,"2012":0.4125,"2013":1.6495,"2014":1.5121,"2015":6.3928,"2016":1.6495,"2017":2.0618,"2018":0.1375,"2019":0.6873,"2020":1.5121,"2021":2.8869,"2022":0.2064,"2023":0.0}} {} {} {"2001":21.624,"2002":20.8704,"2003":35.0478,"2004":35.6016,"2005":35.1084,"2006":29.4707,"2007":23.7689,"2008":26.0851,"2009":23.4664,"2010":9.7672,"2011":76.1005,"2012":28.4983,"2013":18.1678,"2014":49.4618,"2015":21.3388,"2016":63.0798,"2017":82.2563,"2018":30.9672,"2019":32.1454,"2020":38.9536,"2021":3.9932,"2022":1.102} {} {} {} {} {} {"ARG":194985.6634,"BRA":221184.6524} {"ARG":{"2001":0.0,"2002":0.0,"2003":0.0,"2004":0.0,"2005":0.0,"2006":0.0,"2007":186.9026,"2008":0.0,"2009":0.0,"2010approx":417.5112,"2011":15.1053,"2012":0.0,"2013approx":117.2137,"2014":79.0631,"2015":3.5847,"2016":8.0709,"2017":163.5411,"2018":31.4482,"2019":47.2747,"2020":181.2011,"2021":110.5264,"2022":18.9678,"2023":0.0}} {"ARG":{"UNESCO-MAB Biosphere Reserve":{"2001":0.0,"2002":0.0,"2003":0.0,"2004":0.0,"2005":0.0,"2006":0.0,"2007":0.0,"2008":0.0,"2009":0.0,"2010approx":1.0342,"2011":0.0,"2012":0.0,"2013":0.0,"2014":0.0,"2015":0.0,"2016":0.0,"2017":0.0,"2018":0.0,"2019":17.5539,"2020":0.0,"2021":0.0,"2022":0.0,"2023":0.0},"Category II":{"2001":0.0,"2002":0.0,"2003":0.0,"2004":0.0,"2005":0.0,"2006":0.0,"2007":0.0,"2008":0.0,"2009":0.0,"2010":0.0,"2011":0.0,"2012":0.0,"2013":0.0,"2014":0.0,"2015":0.0,"2016":0.0,"2017":0.0,"2018":0.0,"2019":0.0,"2020":23.7832,"2021":0.0,"2022":0.0,"2023":0.0}}} {"ARG":{"Not Reported":{"2001":0.0,"2002":0.0,"2003":0.0,"2004":0.0,"2005":0.0,"2006":0.0,"2007":92.4229,"2008":0.0,"2009":0.0,"2010approx":46.7539,"2011":0.0,"2012":0.0,"2013approx":20.4653,"2014":46.5229,"2015":0.0,"2016":0.0,"2017":44.9934,"2018":5.5842,"2019":31.0673,"2020":76.3528,"2021":21.096,"2022":0.0,"2023":0.0}}} {"ARG":{"Category III":{"2001":0.0,"2002":0.0,"2003":0.0,"2004":0.0,"2005":0.0,"2006":0.0,"2007":14.683,"2008":0.0,"2009":0.0,"2010approx":75.2363,"2011":12.4841,"2012":0.0,"2013approx":30.8262,"2014":39.6991,"2015":0.0,"2016":6.8293,"2017":94.9476,"2018":22.8267,"2019":13.5189,"2020":40.3374,"2021":34.8144,"2022":10.8284,"2023":0.0},"Category II":{"2001":0.0,"2002":0.0,"2003":0.0,"2004":0.0,"2005":0.0,"2006":0.0,"2007":25.0997,"2008":0.0,"2009":0.0,"2010approx":174.5175,"2011":1.7935,"2012":0.0,"2013approx":71.4984,"2014":27.7832,"2015":3.5847,"2016":1.2417,"2017":54.5984,"2018":8.3456,"2019":32.4472,"2020":73.3842,"2021":66.2684,"2022":7.1053,"2023":0.0},"Category I":{"2001":0.0,"2002":0.0,"2003":0.0,"2004":0.0,"2005":0.0,"2006":0.0,"2007":0.0,"2008":0.0,"2009":0.0,"2010":0.0,"2011":0.0,"2012":0.0,"2013":0.0,"2014":0.0,"2015":0.0,"2016":0.0,"2017":0.0,"2018":0.0,"2019":0.0,"2020":21.3774,"2021":0.0,"2022":0.0,"2023":0.0}}} {"ARG":{"Category III":11275.7574,"Category II":122991.3614,"Category I":30089.6869}} {"Mata Atlântica":{"2001":222.281,"2002":229.664,"2003":313.889,"2004":281.566,"2005":404.1011,"2006":274.0218,"2007":244.2288,"2008":182.4026,"2009":237.3952,"2010":77.4035,"2011":460.1882,"2012":303.0526,"2013":257.9101,"2014":491.4761,"2015":279.4206,"2016":909.6394,"2017":1238.9614,"2018":529.7395,"2019":649.9751,"2020":733.7938,"2021":765.01,"2022":743.0739,"2023":584.0024}} 310497.0062 151998.5232 145836.3381 3133.6034 0.0 152001.8248 0.0 416412.5376 145907.1635 3633.9932 {"Category III":11275.7574,"Category II":122991.3614,"Category I":30089.6869} {"Category II":31264.8844,"UNESCO-MAB Biosphere Reserve":113456.4943} {"Not Reported":91313.3874} {"Mata Atlântica":235455.6349} {} {} {} 0.0 true false true false false false true {"2001":228399.0302,"2002":228399.0302,"2003":228218.695,"2004":228019.807,"2005":227669.5127,"2006":227360.6322,"2007":226793.1945,"2008":226294.0263,"2009":225908.1898,"2010":225416.7831,"2011":224990.0743,"2012":224720.0969,"2013":224202.2054,"2014":223703.987,"2015":223262.4402,"2016":222610.9217,"2017":222244.0711,"2018":221464.0632,"2019":220326.1549,"2020":219785.4113,"2021":219159.8818,"2022":218487.8012} {"2001":3633.9932,"2002":3633.9932,"2003":3633.9932,"2004":3633.9932,"2005":3633.9932,"2006":3633.9932,"2007":3633.9932,"2008":3633.9932,"2009":3633.9932,"2010":3633.9932,"2011":3633.9932,"2012":3633.9932,"2013":3633.9932,"2014":3633.9932,"2015":3633.9932,"2016":3633.9932,"2017":3633.9932,"2018":3633.9932,"2019":3633.9932,"2020":3633.9932,"2021":3633.9932,"2022":3633.9932} {"2001":145907.1635,"2002":145907.1635,"2003":145907.1635,"2004":145907.1635,"2005":145907.1635,"2006":145907.1635,"2007":145907.1635,"2008":145907.1635,"2009":145907.1635,"2010":145907.1635,"2011":145907.1635,"2012":145907.1635,"2013":145907.1635,"2014":145907.1635,"2015":145907.1635,"2016":145907.1635,"2017":145907.1635,"2018":145907.1635,"2019":145907.1635,"2020":145907.1635,"2021":145907.1635,"2022":145907.1635} {"2002":379.2232,"2003":549.1823,"2004":659.1748,"2005":876.3182,"2006":1066.606,"2007":885.0047,"2008":877.2432,"2009":918.1155,"2010":696.6862,"2011":787.8689,"2012":1016.1099,"2013":939.7652,"2014":1093.0653,"2015":1018.3691,"2016":1146.8585,"2017":1917.9162,"2018":1678.6519,"2019":1166.2731,"2020":1297.6101,"2021":1606.9852,"2022":1513.9363} {"2002":20.9771,"2003":20.5645,"2004":20.8397,"2005":21.1152,"2006":21.1155,"2007":21.9433,"2008":21.8738,"2009":21.0455,"2010":21.321,"2011":21.8711,"2012":22.0087,"2013":21.9396,"2014":22.4891,"2015":22.2141,"2016":22.4208,"2017":26.4784,"2018":25.7222,"2019":22.0779,"2020":22.2157,"2021":23.3861,"2022":23.3168} {"2002":1412.3095,"2003":1411.9654,"2004":1409.5569,"2005":1412.3853,"2006":1422.5074,"2007":1433.1795,"2008":1430.6331,"2009":1426.769,"2010":1421.6073,"2011":1416.8048,"2012":1421.3469,"2013":1419.7406,"2014":1420.2105,"2015":1426.2686,"2016":1424.1418,"2017":1427.8639,"2018":1422.7713,"2019":1422.0236,"2020":1426.6357,"2021":1427.8733,"2022":1431.9397} {} diff --git a/src/test/resources/palm-32-fcd-output/part-00000-f0e4ff7e-a350-48c1-8647-6ab1b9c184da-c000.csv b/src/test/resources/palm-32-fcd-output/part-00000-43ac48cd-ce0f-4094-b395-a3a95f58328b-c000.csv similarity index 93% rename from src/test/resources/palm-32-fcd-output/part-00000-f0e4ff7e-a350-48c1-8647-6ab1b9c184da-c000.csv rename to src/test/resources/palm-32-fcd-output/part-00000-43ac48cd-ce0f-4094-b395-a3a95f58328b-c000.csv index c2b49ffd..b1148c42 100644 --- a/src/test/resources/palm-32-fcd-output/part-00000-f0e4ff7e-a350-48c1-8647-6ab1b9c184da-c000.csv +++ b/src/test/resources/palm-32-fcd-output/part-00000-43ac48cd-ce0f-4094-b395-a3a95f58328b-c000.csv @@ -1,2 +1,2 @@ list_id location_id status_code location_error tree_cover_loss_total_yearly tree_cover_loss_primary_forest_yearly tree_cover_loss_peat_yearly tree_cover_loss_intact_forest_yearly tree_cover_loss_protected_areas_yearly tree_cover_loss_by_country_yearly tree_cover_loss_by_country_wdpa_yearly tree_cover_loss_by_country_landmark_yearly tree_cover_loss_by_country_classified_region_yearly tree_cover_loss_arg_otbn_yearly tree_cover_loss_sea_landcover_yearly tree_cover_loss_idn_landcover_yearly tree_cover_loss_soy_yearly tree_cover_loss_idn_legal_yearly tree_cover_loss_idn_forest_moratorium_yearly tree_cover_loss_prodes_yearly tree_cover_loss_prodes_wdpa_yearly tree_cover_loss_prodes_primary_forest_yearly country_area country_specific_deforestation_yearly country_specific_deforestation_wdpa_yearly country_specific_deforestation_landmark_yearly country_specific_deforestation_classified_region_yearly classified_region_area tree_cover_loss_brazil_biomes_yearly tree_cover_extent_total tree_cover_extent_primary_forest tree_cover_extent_protected_areas tree_cover_extent_peat tree_cover_extent_intact_forest natural_habitat_primary natural_habitat_intact_forest total_area protected_areas_area peat_area arg_otbn_area protected_areas_by_category_area landmark_by_category_area brazil_biomes idn_legal_area sea_landcover_area idn_landcover_area idn_forest_moratorium_area south_america_presence legal_amazon_presence brazil_biomes_presence cerrado_biome_presence southeast_asia_presence indonesia_presence argentina_presence commodity_value_forest_extent commodity_value_peat commodity_value_protected_areas commodity_threat_deforestation commodity_threat_peat commodity_threat_protected_areas commodity_threat_fires -1 31 2 {"2001":1021.7622,"2002":851.014,"2003":310.1835,"2004":2169.8398,"2005":2325.3843,"2006":4162.4968,"2007":2968.7863,"2008":4015.4403,"2009":2002.9194,"2010":1173.7001,"2011":1703.6902,"2012":2838.0498,"2013":1841.7568,"2014":2468.7732,"2015":2028.9672,"2016":3344.8135,"2017":1026.7609,"2018":525.5327,"2019":618.7052,"2020":924.699,"2021":857.8225,"2022":560.0482,"2023":1033.0567} {"2001":154.8617,"2002":306.7253,"2003":92.3781,"2004":717.7405,"2005":1202.6952,"2006":1831.5766,"2007":1668.2764,"2008":1753.2317,"2009":797.282,"2010":454.5023,"2011":872.3613,"2012":1251.8543,"2013":1083.6799,"2014":1290.2177,"2015":1360.2574,"2016":2313.5001,"2017":286.2809,"2018":159.8557,"2019":162.3929,"2020":134.2652,"2021":167.4697,"2022":133.6506,"2023":166.9302} {"2001":557.4251,"2002":236.2539,"2003":71.8566,"2004":741.25,"2005":957.52,"2006":1229.3335,"2007":1037.5018,"2008":891.235,"2009":486.4665,"2010":363.5759,"2011":411.9212,"2012":1078.9246,"2013":862.5621,"2014":974.783,"2015":942.4571,"2016":1472.8429,"2017":211.3403,"2018":144.7173,"2019":148.7917,"2020":142.3323,"2021":122.7372,"2022":94.914,"2023":138.4895} {} {"2001":42.2692,"2002":228.1732,"2003":11.3743,"2004":3.9196,"2005":1.614,"2006":15.3711,"2007":4.4576,"2008":2.8437,"2009":4.765,"2010":7.9931,"2011":10.7597,"2012":8.1466,"2013":0.1537,"2014":8.5307,"2015":18.6758,"2016":139.2616,"2017":10.7596,"2018":0.3843,"2019":0.2306,"2020":0.0,"2021":0.0769,"2022":0.0,"2023":0.9991} {} {} {} {} {} {"Rubber plantation":{"2001":3.0745,"2002":16.5256,"2003":36.0493,"2004":66.1791,"2005":73.4812,"2006":25.9797,"2007":5.9184,"2008":56.571,"2009":47.7317,"2010":33.3581,"2011":21.9825,"2012":52.9583,"2013":11.9137,"2014":42.2742,"2015":34.2038,"2016":63.4883,"2017":10.6839,"2018":24.4423,"2019":22.1363,"2020":10.4533,"2021":25.826,"2022":26.1332,"2023":27.286},"Secondary forest":{"2001":240.1012,"2002":352.6874,"2003":51.186,"2004":522.8408,"2005":879.6014,"2006":1310.6826,"2007":981.6686,"2008":756.8744,"2009":359.2934,"2010":232.485,"2011":575.4717,"2012":1110.4372,"2013":787.2514,"2014":772.2979,"2015":966.528,"2016":1571.8466,"2017":149.9382,"2018":89.3794,"2019":136.8781,"2020":121.8915,"2021":68.6318,"2022":99.681,"2023":130.1926},"Agriculture":{"2001":3.151,"2002":9.1452,"2003":5.4563,"2004":53.8715,"2005":30.3561,"2006":22.9009,"2007":6.5323,"2008":10.9893,"2009":159.7649,"2010":38.7323,"2011":100.4403,"2012":104.3592,"2013":15.3698,"2014":35.8124,"2015":19.6734,"2016":38.1942,"2017":19.2886,"2018":10.5282,"2019":11.2197,"2020":7.9922,"2021":12.1419,"2022":9.2218,"2023":22.517},"Oil palm plantation":{"2001":389.5357,"2002":222.339,"2003":103.9797,"2004":96.4524,"2005":67.8614,"2006":368.7244,"2007":440.2632,"2008":428.9814,"2009":151.7946,"2010":184.5942,"2011":113.5139,"2012":263.0128,"2013":147.9443,"2014":88.3878,"2015":58.1061,"2016":70.7105,"2017":44.5029,"2018":31.2823,"2019":233.0475,"2020":526.052,"2021":395.9972,"2022":105.2237,"2023":484.6992},"Swamp":{"2001":265.2372,"2002":112.4372,"2003":38.2726,"2004":648.495,"2005":548.2747,"2006":855.4703,"2007":1129.3025,"2008":2086.08,"2009":484.4962,"2010":300.1085,"2011":526.378,"2012":478.8799,"2013":482.4034,"2014":742.3953,"2015":446.518,"2016":539.8938,"2017":620.8959,"2018":204.1215,"2019":105.5176,"2020":122.2736,"2021":197.9767,"2022":240.6287,"2023":233.0197},"Settlements":{"2001":0.1537,"2002":0.9992,"2003":0.0,"2004":0.6918,"2005":0.1537,"2006":1.1529,"2007":1.1529,"2008":0.538,"2009":1.0761,"2010":0.8455,"2011":1.1529,"2012":0.8454,"2013":0.0,"2014":0.6918,"2015":0.1537,"2016":0.2306,"2017":0.3843,"2018":0.0,"2019":0.1537,"2020":1.1529,"2021":1.3067,"2022":1.691,"2023":3.5357},"Grassland/shrub":{"2001":59.3337,"2002":89.231,"2003":37.5821,"2004":445.7701,"2005":432.4583,"2006":514.3995,"2007":235.9463,"2008":500.7963,"2009":334.6362,"2010":269.6786,"2011":186.2981,"2012":378.8895,"2013":330.4736,"2014":424.3189,"2015":165.2413,"2016":151.5619,"2017":77.7013,"2018":84.6964,"2019":29.59,"2020":91.3842,"2021":53.8004,"2022":41.7326,"2023":75.5499},"Primary forest":{"2001":41.1934,"2002":30.6653,"2003":13.68,"2004":98.6793,"2005":209.8123,"2006":379.429,"2007":115.8962,"2008":96.2208,"2009":368.2156,"2010":47.8819,"2011":42.0413,"2012":228.795,"2013":26.1305,"2014":255.8481,"2015":270.3755,"2016":823.8133,"2017":81.5399,"2018":47.9595,"2019":64.4845,"2020":22.7495,"2021":71.7856,"2022":5.7642,"2023":15.6791},"Water bodies":{"2001":0.8454,"2002":0.0768,"2003":0.0,"2004":0.1537,"2005":0.0,"2006":0.0,"2007":0.0769,"2008":0.0,"2009":0.0,"2010":0.1537,"2011":0.2306,"2012":0.6916,"2013":0.6917,"2014":0.6148,"2015":0.0,"2016":0.2306,"2017":0.0768,"2018":0.0,"2019":0.0,"2020":0.0,"2021":0.2305,"2022":0.1537,"2023":0.0769},"Mixed tree crops":{"2001":19.1363,"2002":16.9073,"2003":23.9776,"2004":236.7062,"2005":83.3852,"2006":683.7575,"2007":52.029,"2008":78.3891,"2009":95.9108,"2010":65.8624,"2011":136.1808,"2012":219.1809,"2013":39.5784,"2014":106.132,"2015":68.1674,"2016":84.8439,"2017":21.749,"2018":33.1229,"2019":15.6777,"2020":20.7498,"2021":30.1257,"2022":29.8185,"2023":40.5006}} {"Bare land":{"2001":3.8428,"2002":35.2766,"2003":5.3801,"2004":14.4491,"2005":17.6005,"2006":39.8116,"2007":99.1447,"2008":141.5687,"2009":59.9482,"2010":20.7508,"2011":136.3415,"2012":129.3478,"2013":94.2991,"2014":83.0794,"2015":280.0642,"2016":735.1371,"2017":28.9729,"2018":36.1198,"2019":8.3774,"2020":7.1477,"2021":8.0699,"2022":2.3824,"2023":16.8306},"Mining":{"2001":7.301,"2002":2.7666,"2003":5.2258,"2004":11.9889,"2005":15.2172,"2006":9.1456,"2007":7.6082,"2008":34.8914,"2009":16.9072,"2010":8.9918,"2011":12.4502,"2012":29.5112,"2013":1.0759,"2014":16.8304,"2015":2.5362,"2016":1.9982,"2017":1.7676,"2018":0.7685,"2019":0.3074,"2020":0.4611,"2021":1.7676,"2022":3.5353,"2023":4.3037},"Settlement":{"2001":30.2802,"2002":84.4598,"2003":6.7627,"2004":5.226,"2005":1.9982,"2006":15.5239,"2007":5.3029,"2008":146.7178,"2009":9.1456,"2010":5.9944,"2011":8.2999,"2012":20.9038,"2013":6.4557,"2014":10.4519,"2015":14.0641,"2016":20.5962,"2017":9.6834,"2018":5.9946,"2019":5.6871,"2020":7.5318,"2021":7.5314,"2022":7.7622,"2023":7.839},"Secondary forest":{"2001":14.8329,"2002":34.5077,"2003":10.3753,"2004":63.4026,"2005":86.5381,"2006":58.5628,"2007":81.0051,"2008":222.8806,"2009":92.1507,"2010":46.96,"2011":105.6723,"2012":258.1458,"2013":358.5935,"2014":604.2224,"2015":692.3818,"2016":1208.3837,"2017":259.4575,"2018":110.7479,"2019":151.2503,"2020":92.763,"2021":119.8204,"2022":109.8252,"2023":112.2107},"Agriculture":{"2001":87.6883,"2002":42.4224,"2003":18.9819,"2004":289.878,"2005":266.1325,"2006":746.3828,"2007":376.2672,"2008":177.9118,"2009":282.8805,"2010":120.1185,"2011":271.2771,"2012":638.4726,"2013":155.6217,"2014":248.7641,"2015":220.5643,"2016":382.8723,"2017":105.1299,"2018":55.5624,"2019":44.6495,"2020":56.5613,"2021":42.3446,"2022":44.4967,"2023":65.7837},"Swamp":{"2001":110.6023,"2002":161.6235,"2003":30.1276,"2004":349.3156,"2005":345.4651,"2006":346.3096,"2007":162.935,"2008":218.7309,"2009":146.9478,"2010":95.2199,"2011":132.4202,"2012":382.8885,"2013":159.6257,"2014":317.4138,"2015":296.5912,"2016":418.5593,"2017":115.2812,"2018":74.3201,"2019":85.1564,"2020":78.4694,"2021":128.1948,"2022":88.1532,"2023":81.8506},"Grassland/shrub":{"2001":4.9185,"2002":20.2891,"2003":11.7584,"2004":38.7334,"2005":22.748,"2006":135.7978,"2007":15.2937,"2008":74.7011,"2009":35.6594,"2010":20.4429,"2011":50.7993,"2012":105.518,"2013":11.4509,"2014":46.2648,"2015":55.7949,"2016":62.8662,"2017":264.4497,"2018":34.5065,"2019":9.8372,"2020":5.1492,"2021":6.9934,"2022":55.8711,"2023":47.8786},"Estate crop plantation":{"2001":759.8369,"2002":469.6682,"2003":221.0338,"2004":1396.0776,"2005":1569.454,"2006":2808.3496,"2007":2218.0015,"2008":2990.2754,"2009":1359.0495,"2010":854.7606,"2011":983.3553,"2012":1269.5731,"2013":1053.2509,"2014":1138.9796,"2015":466.1251,"2016":509.328,"2017":239.7129,"2018":205.5913,"2019":312.8252,"2020":676.3081,"2021":539.8723,"2022":247.7148,"2023":696.1293},"Body of water":{"2001":2.4593,"2002":0.0,"2003":0.538,"2004":0.7685,"2005":0.2306,"2006":2.6132,"2007":3.228,"2008":7.7625,"2009":0.2306,"2010":0.4611,"2011":3.0743,"2012":3.689,"2013":1.3834,"2014":2.7668,"2015":0.8454,"2016":5.0725,"2017":2.3057,"2018":1.9215,"2019":0.6148,"2020":0.3074,"2021":3.228,"2022":0.3074,"2023":0.2306}} {} {"Converted Production Forest":{"2001":151.8635,"2002":60.1778,"2003":69.0172,"2004":724.5834,"2005":1148.2139,"2006":1123.3127,"2007":1023.561,"2008":844.268,"2009":747.8878,"2010":275.2161,"2011":481.5731,"2012":804.1156,"2013":820.0067,"2014":1024.9196,"2015":1197.936,"2016":1866.668,"2017":356.367,"2018":233.3308,"2019":223.499,"2020":193.5994,"2021":241.5624,"2022":233.5622,"2023":188.2192},"Other Utilization Area":{"2001":712.0267,"2002":482.1867,"2003":221.5682,"2004":1414.5116,"2005":1126.5942,"2006":2837.7298,"2007":1853.8397,"2008":3013.7624,"2009":1165.5631,"2010":833.4598,"2011":1098.1437,"2012":1865.7614,"2013":971.0994,"2014":1259.078,"2015":657.4037,"2016":999.5492,"2017":622.2031,"2018":279.4429,"2019":376.9137,"2020":705.8893,"2021":595.4311,"2022":299.8162,"2023":789.0379},"Production Forest":{"2001":113.1434,"2002":80.4763,"2003":7.6858,"2004":26.0567,"2005":48.7316,"2006":183.5469,"2007":84.3149,"2008":147.2649,"2009":84.4729,"2010":56.57,"2011":110.1392,"2012":156.3372,"2013":49.1136,"2014":173.4782,"2015":154.1063,"2016":334.2621,"2017":35.1256,"2018":10.4532,"2019":17.4472,"2020":24.9028,"2021":17.5241,"2022":26.3625,"2023":54.5699},"Sanctuary Reserves/Nature Conservation Area":{"2001":42.2692,"2002":228.1732,"2003":11.3743,"2004":3.9196,"2005":1.614,"2006":15.3711,"2007":4.4576,"2008":2.8437,"2009":4.765,"2010":7.9931,"2011":10.7597,"2012":8.1466,"2013":0.1537,"2014":8.5307,"2015":18.6758,"2016":139.2616,"2017":10.7596,"2018":0.3843,"2019":0.2306,"2020":0.0,"2021":0.0769,"2022":0.0,"2023":0.9991}} {"2001":85.0014,"2002":248.2325,"2003":18.829,"2004":97.8293,"2005":96.2941,"2006":176.9875,"2007":138.7928,"2008":129.4126,"2009":109.4342,"2010":65.0144,"2011":100.5959,"2012":428.132,"2013":566.3779,"2014":467.2467,"2015":304.2577,"2016":712.6515,"2017":145.3232,"2018":56.2574,"2019":82.8502,"2020":54.0272,"2021":24.2097,"2022":14.7553,"2023":31.6631} {} {} {} {} {} {} {} {} {} {} 76338.8266 34513.678 6014.0986 23301.5138 0.0 34530.8164 0.0 125583.7284 6614.0107 31984.9079 {} {} {} {} {"Other Utilization Area":81822.5991,"Converted Production Forest":28600.5448,"Production Forest":4848.8827,"Sanctuary Reserves/Nature Conservation Area":6614.0107} {"Rubber plantation":3542.3364,"Secondary forest":24896.0268,"Agriculture":2763.3729,"Oil palm plantation":24398.5485,"Swamp":29043.6031,"Settlements":851.2415,"Grassland/shrub":22752.6953,"Primary forest":8261.1709,"Water bodies":3133.0348,"Mixed tree crops":5941.6982} {"Bare land":2902.1353,"Mining":1392.3433,"Settlement":5798.0268,"Secondary forest":21966.5842,"Agriculture":9963.5593,"Swamp":7625.7847,"Grassland/shrub":2875.049,"Estate crop plantation":69353.0242,"Body of water":3707.2217} 13342.6717 false false false false true true false {"2001":23485.8882,"2002":23485.8882,"2003":23374.1445,"2004":23119.9955,"2005":23068.1202,"2006":22694.5486,"2007":22285.1614,"2008":21463.0712,"2009":21006.0263,"2010":20669.6397,"2011":20292.7605,"2012":20136.9792,"2013":19754.7947,"2014":18881.5269,"2015":18606.9329,"2016":18125.0618,"2017":17132.4074,"2018":15378.6605,"2019":15120.9727,"2020":15003.7708,"2021":14849.0634,"2022":14732.6295} {"2001":31984.9079,"2002":31984.9079,"2003":31984.9079,"2004":31984.9079,"2005":31984.9079,"2006":31984.9079,"2007":31984.9079,"2008":31984.9079,"2009":31984.9079,"2010":31984.9079,"2011":31984.9079,"2012":31984.9079,"2013":31984.9079,"2014":31984.9079,"2015":31984.9079,"2016":31984.9079,"2017":31984.9079,"2018":31984.9079,"2019":31984.9079,"2020":31984.9079,"2021":31984.9079,"2022":31984.9079} {"2001":6614.0107,"2002":6614.0107,"2003":6614.0107,"2004":6614.0107,"2005":6614.0107,"2006":6614.0107,"2007":6614.0107,"2008":6614.0107,"2009":6614.0107,"2010":6614.0107,"2011":6614.0107,"2012":6614.0107,"2013":6614.0107,"2014":6614.0107,"2015":6614.0107,"2016":6614.0107,"2017":6614.0107,"2018":6614.0107,"2019":6614.0107,"2020":6614.0107,"2021":6614.0107,"2022":6614.0107} {"2002":365.8928,"2003":306.0243,"2004":425.4469,"2005":782.9588,"2006":1231.4774,"2007":1279.1351,"2008":793.4315,"2009":713.2658,"2010":532.6605,"2011":537.9658,"2012":1255.4523,"2013":1147.8618,"2014":756.465,"2015":1474.5255,"2016":2746.4013,"2017":2011.4348,"2018":374.8897,"2019":271.9092,"2020":271.1414,"2021":244.6289,"2022":225.7991} {"2002":14169.0317,"2003":14121.4598,"2004":14263.6318,"2005":14457.9871,"2006":14775.3894,"2007":14894.5153,"2008":14537.3838,"2009":14379.8313,"2010":14307.4367,"2011":14243.1121,"2012":14624.1389,"2013":14640.9716,"2014":14369.8445,"2015":14824.2131,"2016":15518.2929,"2017":15018.6597,"2018":14203.1553,"2019":14200.8532,"2020":14201.3905,"2021":14170.9561,"2022":14147.208} {"2002":223.0242,"2003":201.3516,"2004":10.5289,"2005":1.3833,"2006":4.6881,"2007":4.7649,"2008":1.0759,"2009":2.1519,"2010":3.7659,"2011":3.8427,"2012":4.1501,"2013":2.9204,"2014":1.3065,"2015":14.6794,"2016":75.0879,"2017":63.9436,"2018":3.1509,"2019":0.9222,"2020":0.9222,"2021":0.9222,"2022":0.9222} {} +1 31 2 {"2001":1021.7622,"2002":851.014,"2003":310.1835,"2004":2169.8398,"2005":2325.3843,"2006":4162.4968,"2007":2968.7863,"2008":4015.4403,"2009":2002.9194,"2010":1173.7001,"2011":1703.6902,"2012":2838.0498,"2013":1841.7568,"2014":2468.7732,"2015":2028.9672,"2016":3344.8135,"2017":1026.7609,"2018":525.5327,"2019":618.7052,"2020":924.699,"2021":857.8225,"2022":560.0482,"2023":1033.0567} {"2001":154.8617,"2002":306.7253,"2003":92.3781,"2004":717.7405,"2005":1202.6952,"2006":1831.5766,"2007":1668.2764,"2008":1753.2317,"2009":797.282,"2010":454.5023,"2011":872.3613,"2012":1251.8543,"2013":1083.6799,"2014":1290.2177,"2015":1360.2574,"2016":2313.5001,"2017":286.2809,"2018":159.8557,"2019":162.3929,"2020":134.2652,"2021":167.4697,"2022":133.6506,"2023":166.9302} {"2001":557.4251,"2002":236.2539,"2003":71.8566,"2004":741.25,"2005":957.52,"2006":1229.3335,"2007":1037.5018,"2008":891.235,"2009":486.4665,"2010":363.5759,"2011":411.9212,"2012":1078.9246,"2013":862.5621,"2014":974.783,"2015":942.4571,"2016":1472.8429,"2017":211.3403,"2018":144.7173,"2019":148.7917,"2020":142.3323,"2021":122.7372,"2022":94.914,"2023":138.4895} {} {"2001":42.2692,"2002":228.1732,"2003":11.3743,"2004":3.9196,"2005":1.614,"2006":15.3711,"2007":4.4576,"2008":2.8437,"2009":4.765,"2010":7.9931,"2011":10.7597,"2012":8.1466,"2013":0.1537,"2014":8.5307,"2015":18.6758,"2016":139.2616,"2017":10.7596,"2018":0.3843,"2019":0.2306,"2020":0.0,"2021":0.0769,"2022":0.0,"2023":0.9991} {} {} {} {} {} {"Rubber plantation":{"2001":3.0745,"2002":16.5256,"2003":36.0493,"2004":66.1791,"2005":73.4812,"2006":25.9797,"2007":5.9184,"2008":56.571,"2009":47.7317,"2010":33.3581,"2011":21.9825,"2012":52.9583,"2013":11.9137,"2014":42.2742,"2015":34.2038,"2016":63.4883,"2017":10.6839,"2018":24.4423,"2019":22.1363,"2020":10.4533,"2021":25.826,"2022":26.1332,"2023":27.286},"Secondary forest":{"2001":240.1012,"2002":352.6874,"2003":51.186,"2004":522.8408,"2005":879.6014,"2006":1310.6826,"2007":981.6686,"2008":756.8744,"2009":359.2934,"2010":232.485,"2011":575.4717,"2012":1110.4372,"2013":787.2514,"2014":772.2979,"2015":966.528,"2016":1571.8466,"2017":149.9382,"2018":89.3794,"2019":136.8781,"2020":121.8915,"2021":68.6318,"2022":99.681,"2023":130.1926},"Agriculture":{"2001":3.151,"2002":9.1452,"2003":5.4563,"2004":53.8715,"2005":30.3561,"2006":22.9009,"2007":6.5323,"2008":10.9893,"2009":159.7649,"2010":38.7323,"2011":100.4403,"2012":104.3592,"2013":15.3698,"2014":35.8124,"2015":19.6734,"2016":38.1942,"2017":19.2886,"2018":10.5282,"2019":11.2197,"2020":7.9922,"2021":12.1419,"2022":9.2218,"2023":22.517},"Oil palm plantation":{"2001":389.5357,"2002":222.339,"2003":103.9797,"2004":96.4524,"2005":67.8614,"2006":368.7244,"2007":440.2632,"2008":428.9814,"2009":151.7946,"2010":184.5942,"2011":113.5139,"2012":263.0128,"2013":147.9443,"2014":88.3878,"2015":58.1061,"2016":70.7105,"2017":44.5029,"2018":31.2823,"2019":233.0475,"2020":526.052,"2021":395.9972,"2022":105.2237,"2023":484.6992},"Swamp":{"2001":265.2372,"2002":112.4372,"2003":38.2726,"2004":648.495,"2005":548.2747,"2006":855.4703,"2007":1129.3025,"2008":2086.08,"2009":484.4962,"2010":300.1085,"2011":526.378,"2012":478.8799,"2013":482.4034,"2014":742.3953,"2015":446.518,"2016":539.8938,"2017":620.8959,"2018":204.1215,"2019":105.5176,"2020":122.2736,"2021":197.9767,"2022":240.6287,"2023":233.0197},"Settlements":{"2001":0.1537,"2002":0.9992,"2003":0.0,"2004":0.6918,"2005":0.1537,"2006":1.1529,"2007":1.1529,"2008":0.538,"2009":1.0761,"2010":0.8455,"2011":1.1529,"2012":0.8454,"2013":0.0,"2014":0.6918,"2015":0.1537,"2016":0.2306,"2017":0.3843,"2018":0.0,"2019":0.1537,"2020":1.1529,"2021":1.3067,"2022":1.691,"2023":3.5357},"Grassland/shrub":{"2001":59.3337,"2002":89.231,"2003":37.5821,"2004":445.7701,"2005":432.4583,"2006":514.3995,"2007":235.9463,"2008":500.7963,"2009":334.6362,"2010":269.6786,"2011":186.2981,"2012":378.8895,"2013":330.4736,"2014":424.3189,"2015":165.2413,"2016":151.5619,"2017":77.7013,"2018":84.6964,"2019":29.59,"2020":91.3842,"2021":53.8004,"2022":41.7326,"2023":75.5499},"Primary forest":{"2001":41.1934,"2002":30.6653,"2003":13.68,"2004":98.6793,"2005":209.8123,"2006":379.429,"2007":115.8962,"2008":96.2208,"2009":368.2156,"2010":47.8819,"2011":42.0413,"2012":228.795,"2013":26.1305,"2014":255.8481,"2015":270.3755,"2016":823.8133,"2017":81.5399,"2018":47.9595,"2019":64.4845,"2020":22.7495,"2021":71.7856,"2022":5.7642,"2023":15.6791},"Water bodies":{"2001":0.8454,"2002":0.0768,"2003":0.0,"2004":0.1537,"2005":0.0,"2006":0.0,"2007":0.0769,"2008":0.0,"2009":0.0,"2010":0.1537,"2011":0.2306,"2012":0.6916,"2013":0.6917,"2014":0.6148,"2015":0.0,"2016":0.2306,"2017":0.0768,"2018":0.0,"2019":0.0,"2020":0.0,"2021":0.2305,"2022":0.1537,"2023":0.0769},"Mixed tree crops":{"2001":19.1363,"2002":16.9073,"2003":23.9776,"2004":236.7062,"2005":83.3852,"2006":683.7575,"2007":52.029,"2008":78.3891,"2009":95.9108,"2010":65.8624,"2011":136.1808,"2012":219.1809,"2013":39.5784,"2014":106.132,"2015":68.1674,"2016":84.8439,"2017":21.749,"2018":33.1229,"2019":15.6777,"2020":20.7498,"2021":30.1257,"2022":29.8185,"2023":40.5006}} {"Bare land":{"2001":3.8428,"2002":35.2766,"2003":5.3801,"2004":14.4491,"2005":17.6005,"2006":39.8116,"2007":99.1447,"2008":141.5687,"2009":59.9482,"2010":20.7508,"2011":136.3415,"2012":129.3478,"2013":94.2991,"2014":83.0794,"2015":280.0642,"2016":735.1371,"2017":28.9729,"2018":36.1198,"2019":8.3774,"2020":7.1477,"2021":8.0699,"2022":2.3824,"2023":16.8306},"Mining":{"2001":7.301,"2002":2.7666,"2003":5.2258,"2004":11.9889,"2005":15.2172,"2006":9.1456,"2007":7.6082,"2008":34.8914,"2009":16.9072,"2010":8.9918,"2011":12.4502,"2012":29.5112,"2013":1.0759,"2014":16.8304,"2015":2.5362,"2016":1.9982,"2017":1.7676,"2018":0.7685,"2019":0.3074,"2020":0.4611,"2021":1.7676,"2022":3.5353,"2023":4.3037},"Settlement":{"2001":30.2802,"2002":84.4598,"2003":6.7627,"2004":5.226,"2005":1.9982,"2006":15.5239,"2007":5.3029,"2008":146.7178,"2009":9.1456,"2010":5.9944,"2011":8.2999,"2012":20.9038,"2013":6.4557,"2014":10.4519,"2015":14.0641,"2016":20.5962,"2017":9.6834,"2018":5.9946,"2019":5.6871,"2020":7.5318,"2021":7.5314,"2022":7.7622,"2023":7.839},"Secondary forest":{"2001":14.8329,"2002":34.5077,"2003":10.3753,"2004":63.4026,"2005":86.5381,"2006":58.5628,"2007":81.0051,"2008":222.8806,"2009":92.1507,"2010":46.96,"2011":105.6723,"2012":258.1458,"2013":358.5935,"2014":604.2224,"2015":692.3818,"2016":1208.3837,"2017":259.4575,"2018":110.7479,"2019":151.2503,"2020":92.763,"2021":119.8204,"2022":109.8252,"2023":112.2107},"Agriculture":{"2001":87.6883,"2002":42.4224,"2003":18.9819,"2004":289.878,"2005":266.1325,"2006":746.3828,"2007":376.2672,"2008":177.9118,"2009":282.8805,"2010":120.1185,"2011":271.2771,"2012":638.4726,"2013":155.6217,"2014":248.7641,"2015":220.5643,"2016":382.8723,"2017":105.1299,"2018":55.5624,"2019":44.6495,"2020":56.5613,"2021":42.3446,"2022":44.4967,"2023":65.7837},"Swamp":{"2001":110.6023,"2002":161.6235,"2003":30.1276,"2004":349.3156,"2005":345.4651,"2006":346.3096,"2007":162.935,"2008":218.7309,"2009":146.9478,"2010":95.2199,"2011":132.4202,"2012":382.8885,"2013":159.6257,"2014":317.4138,"2015":296.5912,"2016":418.5593,"2017":115.2812,"2018":74.3201,"2019":85.1564,"2020":78.4694,"2021":128.1948,"2022":88.1532,"2023":81.8506},"Grassland/shrub":{"2001":4.9185,"2002":20.2891,"2003":11.7584,"2004":38.7334,"2005":22.748,"2006":135.7978,"2007":15.2937,"2008":74.7011,"2009":35.6594,"2010":20.4429,"2011":50.7993,"2012":105.518,"2013":11.4509,"2014":46.2648,"2015":55.7949,"2016":62.8662,"2017":264.4497,"2018":34.5065,"2019":9.8372,"2020":5.1492,"2021":6.9934,"2022":55.8711,"2023":47.8786},"Estate crop plantation":{"2001":759.8369,"2002":469.6682,"2003":221.0338,"2004":1396.0776,"2005":1569.454,"2006":2808.3496,"2007":2218.0015,"2008":2990.2754,"2009":1359.0495,"2010":854.7606,"2011":983.3553,"2012":1269.5731,"2013":1053.2509,"2014":1138.9796,"2015":466.1251,"2016":509.328,"2017":239.7129,"2018":205.5913,"2019":312.8252,"2020":676.3081,"2021":539.8723,"2022":247.7148,"2023":696.1293},"Body of water":{"2001":2.4593,"2002":0.0,"2003":0.538,"2004":0.7685,"2005":0.2306,"2006":2.6132,"2007":3.228,"2008":7.7625,"2009":0.2306,"2010":0.4611,"2011":3.0743,"2012":3.689,"2013":1.3834,"2014":2.7668,"2015":0.8454,"2016":5.0725,"2017":2.3057,"2018":1.9215,"2019":0.6148,"2020":0.3074,"2021":3.228,"2022":0.3074,"2023":0.2306}} {} {"Converted Production Forest":{"2001":151.8635,"2002":60.1778,"2003":69.0172,"2004":724.5834,"2005":1148.2139,"2006":1123.3127,"2007":1023.561,"2008":844.268,"2009":747.8878,"2010":275.2161,"2011":481.5731,"2012":804.1156,"2013":820.0067,"2014":1024.9196,"2015":1197.936,"2016":1866.668,"2017":356.367,"2018":233.3308,"2019":223.499,"2020":193.5994,"2021":241.5624,"2022":233.5622,"2023":188.2192},"Production Forest":{"2001":113.1434,"2002":80.4763,"2003":7.6858,"2004":26.0567,"2005":48.7316,"2006":183.5469,"2007":84.3149,"2008":147.2649,"2009":84.4729,"2010":56.57,"2011":110.1392,"2012":156.3372,"2013":49.1136,"2014":173.4782,"2015":154.1063,"2016":334.2621,"2017":35.1256,"2018":10.4532,"2019":17.4472,"2020":24.9028,"2021":17.5241,"2022":26.3625,"2023":54.5699},"Other Utilization Area":{"2001":712.0267,"2002":482.1867,"2003":221.5682,"2004":1414.5116,"2005":1126.5942,"2006":2837.7298,"2007":1853.8397,"2008":3013.7624,"2009":1165.5631,"2010":833.4598,"2011":1098.1437,"2012":1865.7614,"2013":971.0994,"2014":1259.078,"2015":657.4037,"2016":999.5492,"2017":622.2031,"2018":279.4429,"2019":376.9137,"2020":705.8893,"2021":595.4311,"2022":299.8162,"2023":789.0379},"Sanctuary Reserves/Nature Conservation Area":{"2001":42.2692,"2002":228.1732,"2003":11.3743,"2004":3.9196,"2005":1.614,"2006":15.3711,"2007":4.4576,"2008":2.8437,"2009":4.765,"2010":7.9931,"2011":10.7597,"2012":8.1466,"2013":0.1537,"2014":8.5307,"2015":18.6758,"2016":139.2616,"2017":10.7596,"2018":0.3843,"2019":0.2306,"2020":0.0,"2021":0.0769,"2022":0.0,"2023":0.9991}} {"2001":85.0014,"2002":248.2325,"2003":18.829,"2004":97.8293,"2005":96.2941,"2006":176.9875,"2007":138.7928,"2008":129.4126,"2009":109.4342,"2010":65.0144,"2011":100.5959,"2012":428.132,"2013":566.3779,"2014":467.2467,"2015":304.2577,"2016":712.6515,"2017":145.3232,"2018":56.2574,"2019":82.8502,"2020":54.0272,"2021":24.2097,"2022":14.7553,"2023":31.6631} {} {} {} {} {} {} {} {} {} {} 76338.8266 34513.678 6014.0986 23301.5138 0.0 34530.8164 0.0 125583.7284 6614.0107 31984.9079 {} {} {} {} {"Converted Production Forest":28600.5448,"Production Forest":4848.8827,"Other Utilization Area":81822.5991,"Sanctuary Reserves/Nature Conservation Area":6614.0107} {"Rubber plantation":3542.3364,"Secondary forest":24896.0268,"Agriculture":2763.3729,"Oil palm plantation":24398.5485,"Swamp":29043.6031,"Settlements":851.2415,"Grassland/shrub":22752.6953,"Primary forest":8261.1709,"Water bodies":3133.0348,"Mixed tree crops":5941.6982} {"Bare land":2902.1353,"Mining":1392.3433,"Settlement":5798.0268,"Secondary forest":21966.5842,"Agriculture":9963.5593,"Swamp":7625.7847,"Grassland/shrub":2875.049,"Estate crop plantation":69353.0242,"Body of water":3707.2217} 13342.6717 false false false false true true false {"2001":23485.8882,"2002":23485.8882,"2003":23374.1445,"2004":23119.9955,"2005":23068.1202,"2006":22694.5486,"2007":22285.1614,"2008":21463.0712,"2009":21006.0263,"2010":20669.6397,"2011":20292.7605,"2012":20136.9792,"2013":19754.7947,"2014":18881.5269,"2015":18606.9329,"2016":18125.0618,"2017":17132.4074,"2018":15378.6605,"2019":15120.9727,"2020":15003.7708,"2021":14849.0634,"2022":14732.6295} {"2001":31984.9079,"2002":31984.9079,"2003":31984.9079,"2004":31984.9079,"2005":31984.9079,"2006":31984.9079,"2007":31984.9079,"2008":31984.9079,"2009":31984.9079,"2010":31984.9079,"2011":31984.9079,"2012":31984.9079,"2013":31984.9079,"2014":31984.9079,"2015":31984.9079,"2016":31984.9079,"2017":31984.9079,"2018":31984.9079,"2019":31984.9079,"2020":31984.9079,"2021":31984.9079,"2022":31984.9079} {"2001":6614.0107,"2002":6614.0107,"2003":6614.0107,"2004":6614.0107,"2005":6614.0107,"2006":6614.0107,"2007":6614.0107,"2008":6614.0107,"2009":6614.0107,"2010":6614.0107,"2011":6614.0107,"2012":6614.0107,"2013":6614.0107,"2014":6614.0107,"2015":6614.0107,"2016":6614.0107,"2017":6614.0107,"2018":6614.0107,"2019":6614.0107,"2020":6614.0107,"2021":6614.0107,"2022":6614.0107} {"2002":365.8928,"2003":306.0243,"2004":425.4469,"2005":782.9588,"2006":1231.4774,"2007":1279.1351,"2008":793.4315,"2009":713.2658,"2010":532.6605,"2011":537.9658,"2012":1255.4523,"2013":1147.8618,"2014":756.465,"2015":1474.5255,"2016":2746.4013,"2017":2011.4348,"2018":374.8897,"2019":271.9092,"2020":271.1414,"2021":244.6289,"2022":225.7991} {"2002":14169.0317,"2003":14121.4598,"2004":14263.6318,"2005":14457.9871,"2006":14775.3894,"2007":14894.5153,"2008":14537.3838,"2009":14379.8313,"2010":14307.4367,"2011":14243.1121,"2012":14624.1389,"2013":14640.9716,"2014":14369.8445,"2015":14824.2131,"2016":15518.2929,"2017":15018.6597,"2018":14203.1553,"2019":14200.8532,"2020":14201.3905,"2021":14170.9561,"2022":14147.208} {"2002":223.0242,"2003":201.3516,"2004":10.5289,"2005":1.3833,"2006":4.6881,"2007":4.7649,"2008":1.0759,"2009":2.1519,"2010":3.7659,"2011":3.8427,"2012":4.1501,"2013":2.9204,"2014":1.3065,"2015":14.6794,"2016":75.0879,"2017":63.9436,"2018":3.1509,"2019":0.9222,"2020":0.9222,"2021":0.9222,"2022":0.9222} {} diff --git a/src/test/scala/org/globalforestwatch/summarystats/forest_change_diagnostic/ForestChangeDiagnosticAnalysisSpec.scala b/src/test/scala/org/globalforestwatch/summarystats/forest_change_diagnostic/ForestChangeDiagnosticAnalysisSpec.scala index 86f5fffb..29b4414d 100644 --- a/src/test/scala/org/globalforestwatch/summarystats/forest_change_diagnostic/ForestChangeDiagnosticAnalysisSpec.scala +++ b/src/test/scala/org/globalforestwatch/summarystats/forest_change_diagnostic/ForestChangeDiagnosticAnalysisSpec.scala @@ -157,7 +157,7 @@ class ForestChangeDiagnosticAnalysisSpec extends TestEnvironment with DataFrameC ) val fcd = FCD(argBraRDD) val fcdDF = ForestChangeDiagnosticDF.getFeatureDataFrame(fcd, spark) - // saveExpectedFcdResult(fcdDF, argBraExpectedOutputPath) + saveExpectedFcdResult(fcdDF, argBraExpectedOutputPath) val expectedDF = readExpectedFcdResult(argBraExpectedOutputPath)