## ----setup, include = FALSE---------------------------------------------------
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)

## ----include=FALSE------------------------------------------------------------
url <- "https://zenodo.org/record/3685230/files/SaoLourencoBasin.rda?download=1"
dataset_available <- OpenLand:::.openland_try_download_and_load_rda(url,
  object = "SaoLourencoBasin",
  timeout = 10,
  quiet = TRUE
)

## ----include=FALSE, eval=isFALSE(dataset_available)---------------------------
# knitr::knit_exit(paste0(
#   "## The complete rendering of this document depends on the availability of the dataset in zenodo. ",
#   "Please try at another time."
# ))

## ----message=FALSE, warning=FALSE---------------------------------------------
# first we load the OpenLand package
library(OpenLand)

# The SaoLourencoBasin dataset
SaoLourencoBasin

## ----eval=FALSE, fig.height=5, fig.width=7, include=FALSE---------------------
# # sp::spplot(SaoLourencoBasin)

## -----------------------------------------------------------------------------
SL_2002_2014$lulc_Multistep[1:10, ]

SL_2002_2014$lulc_Onestep[1:10, ]

SL_2002_2014$tb_legend

SL_2002_2014$totalArea

SL_2002_2014$totalInterval

## ----echo=TRUE----------------------------------------------------------------
## editing the category name
SL_2002_2014$tb_legend$categoryName <- factor(
  c(
    "Ap", "FF", "SA", "SG", "aa", "SF",
    "Agua", "Iu", "Ac", "R", "Im"
  ),
  levels = c(
    "FF", "SF", "SA", "SG", "aa", "Ap",
    "Ac", "Im", "Iu", "Agua", "R"
  )
)

## add the color by the same order of the legend,
## it can be the color name (eg. "black") or the HEX value (eg. #000000)
SL_2002_2014$tb_legend$color <- c(
  "#FFE4B5", "#228B22", "#00FF00", "#CAFF70",
  "#EE6363", "#00CD00", "#436EEE", "#FFAEB9",
  "#FFA54F", "#68228B", "#636363"
)

## now we have
SL_2002_2014$tb_legend

## ----eval=FALSE, include=FALSE------------------------------------------------
# knitr::kable(
#   SL_2002_2014$lulc_Multistep[1:10, ]
# )

## -----------------------------------------------------------------------------
testSL <- intensityAnalysis(
  dataset = SL_2002_2014,
  category_n = "Ap", category_m = "SG"
)

# it returns a list with 6 objects
names(testSL)

## ----eval=FALSE, include=FALSE------------------------------------------------
# # showing the objects from the intensity analysis for our illustrative case
# testSL

## ----fig.width=7, fig.height=4------------------------------------------------
plot(testSL$interval_lvl,
  labels = c(
    leftlabel = "Interval Change Area (%)",
    rightlabel = "Annual Change Area (%)"
  ),
  marginplot = c(-8, 0), labs = c("Changes", "Uniform Rate"),
  leg_curv = c(x = 2 / 10, y = 3 / 10)
)

## ----fig.width=7, fig.height=4------------------------------------------------
plot(testSL$category_lvlGain,
  labels = c(
    leftlabel = bquote("Gain Area (" ~ km^2 ~ ")"),
    rightlabel = "Intensity Gain (%)"
  ),
  marginplot = c(.3, .3), labs = c("Categories", "Uniform Rate"),
  leg_curv = c(x = 5 / 10, y = 5 / 10)
)

## ----fig.width=7, fig.height=4------------------------------------------------
plot(testSL$category_lvlLoss,
  labels = c(
    leftlabel = bquote("Loss Area (" ~ km^2 ~ ")"),
    rightlabel = "Loss Intensity (%)"
  ),
  marginplot = c(.3, .3), labs = c("Categories", "Uniform Rate"),
  leg_curv = c(x = 5 / 10, y = 5 / 10)
)

## ----fig.width=7, fig.height=4------------------------------------------------
plot(testSL$transition_lvlGain_n,
  labels = c(
    leftlabel = bquote("Gain of Ap (" ~ km^2 ~ ")"),
    rightlabel = "Intensity Gain of Ap (%)"
  ),
  marginplot = c(.3, .3), labs = c("Categories", "Uniform Rate"),
  leg_curv = c(x = 5 / 10, y = 5 / 10)
)

## ----fig.width=7, fig.height=4------------------------------------------------
plot(testSL$transition_lvlLoss_m,
  labels = c(
    leftlabel = bquote("Loss of SG (" ~ km^2 ~ ")"),
    rightlabel = "Intensity Loss of SG (%)"
  ),
  marginplot = c(.3, .3), labs = c("Categories", "Uniform Rate"),
  leg_curv = c(x = 1 / 10, y = 5 / 10)
)

## ----fig.width=7, fig.height=4------------------------------------------------
netgrossplot(
  dataset = SL_2002_2014$lulc_Multistep,
  legendtable = SL_2002_2014$tb_legend,
  xlab = "LUC Category",
  ylab = bquote("Area (" ~ km^2 ~ ")"),
  changesLabel = c(GC = "Gross changes", NG = "Net Gain", NL = "Net Loss"),
  color = c(GC = "gray70", NG = "#006400", NL = "#EE2C2C")
)

## ----fig.width=7, fig.height=6------------------------------------------------
chordDiagramLand(
  dataset = SL_2002_2014$lulc_Onestep,
  legendtable = SL_2002_2014$tb_legend
)

## ----fig.width=8, fig.height=4------------------------------------------------
sankeyLand(
  dataset = SL_2002_2014$lulc_Multistep,
  legendtable = SL_2002_2014$tb_legend
)

## ----fig.width=8, fig.height=4------------------------------------------------
sankeyLand(
  dataset = SL_2002_2014$lulc_Onestep,
  legendtable = SL_2002_2014$tb_legend
)

## ----fig.width=7, fig.height=4------------------------------------------------
barplotLand(
  dataset = SL_2002_2014$lulc_Multistep,
  legendtable = SL_2002_2014$tb_legend,
  xlab = "Year",
  ylab = bquote("Area (" ~ km^2 ~ ")"),
  area_km2 = TRUE
)

## ----eval=FALSE, include=TRUE-------------------------------------------------
# testacc <- acc_changes(SaoLourencoBasin)
# 
# testacc

## ----eval=FALSE, fig.height=7, fig.width=7, include=TRUE----------------------
# tmap_options(max.raster = c(plot = 41711112, view = 41711112))
# 
# acc_map <- tmap::tm_shape(testacc[[1]]) +
#   tmap::tm_raster(
#     style = "cat",
#     labels = c(
#       paste0(testacc[[2]]$PxValue[1], " Change", " (", round(testacc[[2]]$Percent[1], 2), "%", ")"),
#       paste0(testacc[[2]]$PxValue[2], " Change", " (", round(testacc[[2]]$Percent[2], 2), "%", ")"),
#       paste0(testacc[[2]]$PxValue[3], " Changes", " (", round(testacc[[2]]$Percent[3], 2), "%", ")")
#     ),
#     palette = c("#757575", "#FFD700", "#CD0000"),
#     title = "Changes in the interval \n2002 - 2014"
#   ) +
#   tmap::tm_legend(
#     position = c(0.01, 0.2),
#     legend.title.size = 1.2,
#     legend.title.fontface = "bold",
#     legend.text.size = 0.8
#   ) +
#   tmap::tm_compass(
#     type = "arrow",
#     position = c("right", "top"),
#     size = 3
#   ) +
#   tmap::tm_scale_bar(
#     breaks = c(seq(0, 40, 10)),
#     position = c(0.76, 0.001),
#     text.size = 0.6
#   ) +
#   tmap::tm_credits(
#     paste0(
#       "Case of Study site",
#       "\nAccumulate changes from 2002 to 2014",
#       "\nData create with OpenLand package",
#       "\nLULC derived from Embrapa Pantanal, Instituto SOS Pantanal, and WWF-Brasil 2015."
#     ),
#     size = 0.7,
#     position = c(0.01, -0, 01)
#   ) +
#   tmap::tm_graticules(
#     n.x = 6,
#     n.y = 6,
#     lines = FALSE,
#     # alpha = 0.1
#     labels.rot = c(0, 90)
#   ) +
#   tmap::tm_layout(inner.margins = c(0.02, 0.02, 0.02, 0.02))
# 
# 
# tmap::tmap_save(acc_map,
#   filename = "vignettes/acc_mymap.png",
#   width = 7,
#   height = 7
# )

## ----mymap, echo=FALSE, fig.cap='Accumulated changes in pixels in the interval 2002 - 2014 at four time points (2002, 2008, 2010, 2012, 2014)', out.width='100%'----
knitr::include_graphics("acc_mymap.png")

