R/converte_umn.R

Defines functions sz_converte_umn_unf sz_converte_umn_zona sz_converte_umn_ordem sz_converte_umn_textura sz_converte_umn_altitude sz_converte_umn_relevo sz_converte_umn_macroambiente sz_converte_umn_ambiente sz_converte_umn_rm sz_converte_rm_rm_descricao sz_converte_rm_descricao_rm

Documented in sz_converte_rm_descricao_rm sz_converte_rm_rm_descricao sz_converte_umn_altitude sz_converte_umn_ambiente sz_converte_umn_macroambiente sz_converte_umn_ordem sz_converte_umn_relevo sz_converte_umn_rm sz_converte_umn_textura sz_converte_umn_unf sz_converte_umn_zona

#' Converte UMN em UNF
#'
#' @export
sz_converte_umn_unf <- function(umn) {
  temp <- stringr::str_sub(umn, 1, 1)

  dplyr::case_when(
    temp == "S" ~ "SP",
    temp == "B" ~ "BA",
    temp == "M" ~ "MA",
    temp == "T" ~ "MS"
  )
}

#' Converte UMN em zona climatica
#'
#' @export
sz_converte_umn_zona <- function(umn) {
  stringr::str_sub(umn, 1, 2)
}

#' Converte UMN em ordem do solo
#'
#' @export
sz_converte_umn_ordem <- function(umn) {
  stringr::str_sub(umn, 4, 4)
}

#' Converte UMN em textura
#'
#' @export
sz_converte_umn_textura <- function(umn) {
  stringr::str_sub(umn, 5, 5)
}

#' Converte UMN em altitude
#'
#' @export
sz_converte_umn_altitude <- function(umn) {
  stringr::str_sub(umn, 7, 7)
}

#' Converte UMN em relevo
#'
#' @export
sz_converte_umn_relevo <- function(umn) {
  stringr::str_sub(umn, 8, 8)
}

#' Converte UMN em macroambiente
#'
#' @export
sz_converte_umn_macroambiente <- function(umn, altitude) {

  unf <- sz_converte_umn_unf(umn)
  zona <- sz_converte_umn_zona(umn)
  textura <- sz_converte_umn_textura(umn)

  dplyr::case_when(
    unf %in% c("SP", "BA", "MS") ~ zona,
    unf == "MA" & zona == "M6" ~ "M6",
    zona %in% c("M2", "M3", "M4", "M5") & textura == "r" ~ "Cerrado",
    unf == "MA" & altitude < 150 ~ "Baixada",
    unf == "MA" & altitude >= 150 & altitude < 250  ~ "Transição",
    unf == "MA" & altitude >= 250 ~ "Chapada",
    TRUE ~ NA_character_
  )
}

#' Converte UMN em ambiente
#'
#' @export
sz_converte_umn_ambiente <- function(umn) {

  zona <- sz_converte_umn_zona(umn)
  textura <- sz_converte_umn_textura(umn)
  altitude <- sz_converte_umn_altitude(umn)

  dplyr::case_when(

    # BA
    zona == "B1" & textura %in% c("a", "m") & altitude == 0 ~ "B1-am-[00]",
    zona == "B1" & textura == "r" & altitude %in% 0:1 ~ "B1-r-[01]",

    zona == "B2" & textura %in% c("a", "m") & altitude == 0 ~ "B2-am-[00]",
    zona == "B2" & textura %in% c("a", "m") & altitude == 1 ~ "B2-am-[11]",

    zona == "B3" & textura %in% c("a", "m") & altitude == 0 ~ "B3-am-[00]",
    zona == "B3" & textura %in% c("a", "m") & altitude == 1 ~ "B3-am-[11]",

    zona %in% c("B2", "B3") & textura %in% c("a", "m") & altitude %in% 2:8 ~ "B1B3-am-[23]",
    zona %in% c("B2", "B3") & textura == "r" & altitude %in% 0:1 ~ "B2B3-r-[01]",

    zona == "B4" & textura %in% c("a", "m") & altitude %in% 2:9 ~ "B4-am-[23]",
    zona == "B4" & textura %in% c("a", "m", "r") & altitude %in% 0:1 ~ "B4-amr-[01]",

    zona == "B5" & textura %in% c("a", "m") & altitude %in% 0:3 ~ "B5-am-[03]",

    # MA
    zona %in% c("M1", "M2") & textura %in% c("a", "m") & altitude == 0 ~ "M1M2-am-[00]",
    zona %in% c("M1", "M2") & textura %in% c("a", "m") & altitude == 1 ~ "M1M2-am-[11]",
    zona %in% c("M1", "M2") & textura %in% c("a", "m", "r") & altitude %in% 2:4 ~ "M1M2-amr-[24]",

    zona %in% c("M3", "M4", "M5") & textura == "a" & altitude %in% 2:4 ~ "M3M5-a-[24]",
    zona %in% c("M3", "M4", "M5") & textura %in% c("a", "m") & altitude == 0 ~ "M3M5-am-[00]",
    zona %in% c("M3", "M4", "M5") & textura %in% c("a", "m") & altitude == 1 ~ "M3M5-am-[11]",

    zona %in% c("M3", "M4", "M5") & textura == "m" & altitude %in% 2:4 ~ "M3M5-m-[24]",
    zona %in% c("M3", "M4", "M5") & textura == "r" & altitude %in% 0:1 ~ "M3M5-r-[01]",
    zona %in% c("M3", "M4", "M5") & textura == "r" & altitude %in% 2:4 ~ "M3M5-r-[24]",

    zona == "M6" & textura %in% c("a", "m", "r") & altitude %in% 1:3 ~ "M6-amr-[13]",

    # SP
    zona == "S1" & textura == "a" & altitude %in% 6:9 ~ "S1-a-[69]",
    zona == "S1" & textura %in% c("m", "r") & altitude %in% 6:9 ~ "S1-mr-[69]",

    zona == "S2" & textura == "a" & altitude %in% 5:9 ~ "S2-a-[59]",
    zona == "S2" & textura == "m" & altitude %in% 5:9 ~ "S2-m-[59]",

    zona == "S2" & textura == "r" & altitude %in% 5:9 ~ "S2-r-[59]",
    zona == "S3" & textura %in% c("a", "m") & altitude %in% 4:8 ~ "S3-am-[48]",
    zona == "S3" & textura == "r" & altitude %in% 4:8 ~ "S3-r-[48]",

    # MS
    zona == "T1" & textura == "m" & altitude %in% 3:5 ~ "T1-m-[35]",
    zona == "T1" & textura == "r" & altitude %in% 2:4 ~ "T1-r-[24]",

    zona == "T2" & textura == "m" & altitude %in% 2:3 ~ "T2-m-[23]",
    zona == "T2" & textura == "m" & altitude %in% 4:5 ~ "T2-m-[45]",

    zona %in% c("T2", "T3") & textura == "r" & altitude %in% 2:4 ~ "T2T3-r-[24]",

    zona == "T3" & textura %in% c("a", "m") & altitude %in% 2:4 ~ "T3-am-[24]",

    TRUE ~ NA_character_
  )
}

#' Converte UMN em regiao melhoramento
#'
#' @export
sz_converte_umn_rm <- function(umn, altitude) {

  zona <- sz_converte_umn_zona(umn)
  textura <- sz_converte_umn_textura(umn)
  altitude_umn <- sz_converte_umn_altitude(umn)

  dplyr::case_when(

    # BA ES
    zona %in% c("B1", "B2") & textura %in% c("a", "m") & altitude_umn == 0     ~ "g.B1B2-am-[00]",
    zona %in% c("B2", "B3") & textura %in% c("a", "m") & altitude_umn %in% 1:3 ~ "g.B2B3-am-[13]",
    zona %in% c("B1", "B2", "B3") & textura == "r" & altitude_umn %in% 0:1     ~ "g.B1B3-r-[01]",
    zona == "B3" & textura %in% c("a", "m") & altitude_umn == 0                ~ "g.B3-am-[00]",
    zona %in% c("B4", "B5") & textura %in% c("a", "m") & altitude_umn %in% 0:3 ~ "g.B4B5-am-[03]",

    zona %in% c("B1", "B2", "B3") & textura == "r"    ~ "g.B1B3-r-[01]",
    zona %in% c("B1", "B2", "B3") & altitude_umn > 3  ~ "g.B2B3-am-[13]",
    zona %in% c("B4", "B5")                           ~ "g.B4B5-am-[03]",

    # MA
    zona %in% c("M2", "M3", "M4", "M5") & textura == "r" | (zona == "M6")        ~ "g.M2M6-mr-[04]", # cerrado
    zona %in% c("M1", "M2", "M3", "M4", "M5") & altitude < 150                   ~ "g.M1M5-am-[01]", # baixada
    zona %in% c("M1", "M2", "M3", "M4", "M5") & altitude >= 150 & altitude < 250 ~ "g.M1M5-am-[12]", # transicao
    zona %in% c("M1", "M2", "M3", "M4", "M5") & altitude >= 250                  ~ "g.M1M5-am-[24]", # chapada

    # SP
    zona == "S1" & textura %in% c("a", "m") & altitude_umn %in% 6:9 ~ "g.S1-am-[69]",
    zona == "S2" & textura == "a" & altitude_umn %in% 5:9           ~ "g.S2-a-[59]",
    zona == "S2" & textura %in% c("m", "r") & altitude_umn %in% 5:9 ~ "g.S2-mr-[59]",
    zona == "S3" & textura %in% c("m", "r") & altitude_umn %in% 4:8 ~ "g.S3-mr-[48]",

    zona == "S1"                             ~ "g.S1-am-[69]",
    zona == "S2" & textura == "a"            ~ "g.S2-a-[59]",
    zona == "S2" & textura %in% c("m", "r")  ~ "g.S2-mr-[59]",
    zona == "S3"                             ~ "g.S3-mr-[48]",

    # MS
    zona == "T1" & textura %in% c("m", "r") & altitude_umn %in% 2:5  ~ "g.T1-mr-[25]",
    zona == "T2" & textura == "m" & altitude_umn %in% 2:5            ~ "g.T2-m-[25]",
    zona %in% c("T2", "T3") & textura == "r" & altitude_umn %in% 2:4 ~ "g.T2T3-r-[24]",
    zona == "T3" & textura %in% c("a", "m") & altitude_umn %in% 2:4  ~ "g.T3-am-[24]"
  )
}

#' Converte RM em descricao
#'
#' @export
sz_converte_rm_rm_descricao <- function(x) {
  
  case_when(
    x == "g.M2M6-mr-[04]" ~ "Cerrado",
    x == "g.M1M5-am-[12]" ~ "Transicao",
    x == "g.M1M5-am-[01]" ~ "Baixada",
    x == "g.M1M5-am-[24]" ~ "Chapada",
    x == "g.B1B2-am-[00]" ~ "Clima B1B2 baixa",
    x == "g.B2B3-am-[13]" ~ "Clima B2B3 alta",
    x == "g.B1B3-r-[01]" ~ "Clima B1B2B3 arenosa",
    x == "g.B3-am-[00]" ~ "Clima B3 baixa",
    x == "g.B4B5-am-[03]" ~ "Clima B4B5",
    x == "g.S1-am-[69]" ~ "Clima S1",
    x == "g.S2-mr-[59]" ~ "Clima S2 media",
    x == "g.S3-mr-[48]" ~ "Clima S3",
    x == "g.S2-a-[59]" ~ "Clima S2 argilosa",
    x == "g.T3-am-[24]" ~ "Clima T3 media",
    x == "g.T2T3-r-[24]" ~ "Clima T2T3 arenosa",
    x == "g.T2-m-[25]" ~ "Clima T2 media",
    x == "g.T1-mr-[25]" ~ "Clima T1"
  )
}

#' Converte RM descricao em RM
#'
#' @export
sz_converte_rm_descricao_rm <- function(x) {
  
  case_when(
    x == "Cerrado" ~ "g.M2M6-mr-[04]",
    x == "Transicao" ~ "g.M1M5-am-[12]",
    x == "Baixada" ~ "g.M1M5-am-[01]",
    x == "Chapada" ~ "g.M1M5-am-[24]",
    x == "Clima B1B2 baixa" ~ "g.B1B2-am-[00]",
    x == "Clima B2B3 alta" ~ "g.B2B3-am-[13]",
    x == "Clima B1B2B3 arenosa" ~ "g.B1B3-r-[01]",
    x == "Clima B3 baixa" ~ "g.B3-am-[00]",
    x == "Clima B4B5" ~ "g.B4B5-am-[03]",
    x == "Clima S1" ~ "g.S1-am-[69]",
    x == "Clima S2 media" ~ "g.S2-mr-[59]",
    x == "Clima S3" ~ "g.S3-mr-[48]",
    x == "Clima S2 argilosa" ~ "g.S2-a-[59]",
    x == "Clima T3 media" ~ "g.T3-am-[24]",
    x == "Clima T2T3 arenosa" ~ "g.T2T3-r-[24]",
    x == "Clima T2 media" ~ "g.T2-m-[25]",
    x == "Clima T1" ~ "g.T1-mr-[25]"
  )
}
italocegatta/suzano documentation built on Aug. 20, 2019, 12:54 a.m.