📥 Introdução

Este tutorial mostra como acessar manualmente os dados do Climate TRACE/CTrees pela internet, realizando o download direto via navegador.

🌐 Acessando a Plataforma

1. Acesse o site oficial: https://climatetrace.org

2. No menu lateral, superior esquerdo, clique em “Data Downloads”.

4. Encontre o pais de interesse

Role a lista até encontrar Brazil (ou outro pais de interesse) e clique no link CSV correspondente.
Isso iniciará o download de um arquivo compactado no formato .zip.

O arquivo baixado conterá os dados de emissões/remoções por setor subsetor e tipo de gás para o pais selecionado.

📥 Disponibilização dos Dados

Para garantir a reprodutibilidade deste material, estamos disponibilizando os dados baixados da plataforma Climate TRACE para o Brasil, no dia 28/04/2025, correspondentes à versão V4-2-0 do banco de dados.

👉 DOWNLOAD - BRA.ZIP

Esses arquivos serão utilizados como referência para todas as análises descritas ao longo deste documento.

5. Descompactar e organizar o arquivo

Após o download:

  • Descompacte o arquivo .zip;
  • Mova a pasta com os arquivos descompactados para a pasta data-raw/ do seu projeto em R.

🧼 Com o arquivo no lugar certo, prossiga para a etapa de tratamento e faxina dos dados - 02_tratamento_dados – Faxina, filtragem e organização dos dados.

💡 Acessando por API

                             █████╗ ██████╗ ██╗
                            ██╔══██╗██╔══██╗██║
                            ███████║██████╔╝██║
                            ██╔══██║██╔═══╝ ██║
                            ██║  ██║██║     ██║
                            ╚═╝  ╚═╝╚═╝     ╚═╝
                            
                             ██████╗████████╗
                            ██╔════╝╚══██╔══╝
                            ██║        ██║   
                            ██║        ██║   
                            ╚██████╗   ██║   
                             ╚═════╝   ╚═╝ 

A API Climate TRACE oferece acesso a dados globais de emissões de gases de efeito estufa. Este guia explora todos os endpoints e recursos até agora disponiveis.

INFORMAÇÕES DE CONFIGURAÇÃO

Informação e documentação podem ser acessadas em API-ClimateTRACE

Preparando o Ambiente

Todas as funções aqui utilizadas estão documentadas em climatetrace_api.R

source("../R/climatetrace_api.R")

Explorando Recursos Disponiveis

1. Metadata e Definições

INICIANDO EXTRAÇÃO DE METADADOS… PROCESSANDO DEFINIÇÕES…

1.1 Paises Disponiveis

# Obtendo lista de paises
paises <- get_countries()
# 
# # Tabela com os primeiros 10 paises
# knitr::kable(head(paises, 10), caption = "Amostra de Paises") |> 
#   kableExtra::kable_styling(bootstrap_options = c("striped", "hover"), font_size = 12)
# 
# # Total de paises
# cat("Total de paises disponiveis:", nrow(paises))
DT::datatable(paises)

1.2 Continentes Disponiveis

# Obtendo lista de continentes
tryCatch({
  continentes <- get_continents()
  
  if (is.list(continentes) || is.vector(continentes)) {
    cat("Continentes disponiveis:\n")
    print(continentes)
  } else if (is.data.frame(continentes)) {
    # knitr::kable(continentes, caption = "Continentes") |> 
    #   kableExtra::kable_styling(bootstrap_options = c("striped", "hover"))
    DT::datatable(continentes)
  }
}, error = function(e) {
  cat("Obtendo continentes via documentação:\n")
  continentes_doc <- c("Asia", "South America", "North America", 
                       "Oceania", "Antarctica", "Africa", "Europe")
  print(continentes_doc)
})
#> Continentes disponiveis:
#> [1] "North America" "Asia"          "Africa"        "Europe"       
#> [5] "South America" "Oceania"       "Antarctica"    "Unknown"

1.3 Setores de Emissão

# Obtendo setores
setores <- get_sectors()

# Verificando a estrutura para diagnóstico
cat("Estrutura dos dados de setores:\n")
#> Estrutura dos dados de setores:
str(setores, max.level = 1)
#>  chr [1:10] "manufacturing" "fossil-fuel-operations" "agriculture" ...
# Lidando com diferentes formatos de resposta possiveis
if (is.list(setores)) {
  # Se for uma lista, extraimos os nomes
  setores_list <- names(setores)
  
  # Criando dataframe com setores (limitado a 20 para evitar erros de tamanho)
  setores_df <- data.frame(Setor = head(setores_list, 20))
  
  # Mostrando tabela de setores
  # knitr::kable(setores_df, caption = "Setores Disponiveis na API (top 20)") |> 
  #   kableExtra::kable_styling(bootstrap_options = c("striped", "hover"), font_size = 12)
  
  # cat("\nTotal de setores disponiveis:", length(setores_list))
  # 
  DT::datatable(setores_df)
  # Se houver mais de 20 setores, mostramos o restante como texto
  if (length(setores_list) > 20) {
    cat("\n\nSetores adicionais:\n")
    cat(paste(setores_list[21:min(40, length(setores_list))], collapse = ", "))
    if (length(setores_list) > 40) {
      cat(", ...")
    }
  }
} else {
  # Caso a estrutura seja diferente, mostramos apenas os dados brutos
  cat("Dados de setores em formato não-estruturado:\n")
  print(head(setores))
}
#> Dados de setores em formato não-estruturado:
#> [1] "manufacturing"          "fossil-fuel-operations" "agriculture"           
#> [4] "transportation"         "power"                  "fluorinated-gases"

1.4 Subsetores de Emissão

# Obtendo subsetores
subsetores <- get_subsectors()

# Verificando a estrutura para diagnóstico
cat("Estrutura dos dados de subsetores:\n")
#> Estrutura dos dados de subsetores:
str(subsetores, max.level = 1)
#>  chr [1:72] "aluminum" "bauxite-mining" ...
# Lidando com diferentes formatos de resposta possiveis
if (is.list(subsetores)) {
  # Se for uma lista, extraimos os nomes
  subsetores_list <- names(subsetores)
  
  # Criando dataframe com subsetores (limitado a 20 para evitar erros de tamanho)
  subsetores_df <- data.frame(Subsetor = head(subsetores_list, 20))
  
  # Mostrando tabela de subsetores
  # knitr::kable(subsetores_df, caption = "Subsetores Disponiveis na API (top 20)") |> 
  #   kableExtra::kable_styling(bootstrap_options = c("striped", "hover"), font_size = 12)
  # 
  # cat("\nTotal de subsetores disponiveis:", length(subsetores_list))
  DT::datatable(setores_df)
  # Se houver mais de 20 subsetores, mostramos o restante como texto
  if (length(subsetores_list) > 20) {
    cat("\n\nSubsetores adicionais (mostrando até 40):\n")
    cat(paste(subsetores_list[21:min(40, length(subsetores_list))], collapse = ", "))
    if (length(subsetores_list) > 40) {
      cat(", ...")
    }
  }
} else {
  # Caso a estrutura seja diferente, mostramos apenas os dados brutos
  cat("Dados de subsetores em formato não-estruturado:\n")
  print(head(subsetores))
}
#> Dados de subsetores em formato não-estruturado:
#> [1] "aluminum"                                        
#> [2] "bauxite-mining"                                  
#> [3] "biological-treatment-of-solid-waste-and-biogenic"
#> [4] "cement"                                          
#> [5] "chemicals"                                       
#> [6] "coal-mining"

1.5 Gases disponiveis

# Obtendo tipos de gases
tryCatch({
  gases <- get_gases()
  
  if (is.list(gases) || is.vector(gases)) {
    cat("Gases disponiveis:\n")
    print(gases)
  } else if (is.data.frame(gases)) {
    # knitr::kable(gases, caption = "Gases") |> 
    #   kableExtra::kable_styling(bootstrap_options = c("striped", "hover"))
    DT::datatable(gases)
  }
}, error = function(e) {
  cat("Obtendo gases via documentação:\n")
  gases_doc <- c("n2o", "co2e", "co2", "ch4", "co2e_20yr", "co2e_100yr")
  print(gases_doc)
})
#> Gases disponiveis:
#>  [1] "bc"            "c10f18"        "c2f6"          "c3f8"         
#>  [5] "c4f10"         "c5f12"         "c6f14"         "c6h6"         
#>  [9] "c-c3f6"        "c-c4f8"        "cf4"           "cfcs"         
#> [13] "ch2o"          "ch3oh"         "ch4"           "co"           
#> [17] "co2"           "co2e"          "co2e_100yr"    "co2e_20yr"    
#> [21] "h2s"           "hcfc-141b"     "hcfc-142b"     "hcs"          
#> [25] "hfc-125"       "hfc-134"       "hfc-134a"      "hfc-143"      
#> [29] "hfc-143a"      "hfc-152"       "hfc-152a"      "hfc-161"      
#> [33] "hfc-227ea"     "hfc-23"        "hfc-236cb"     "hfc-236ea"    
#> [37] "hfc-236fa"     "hfc-245ca"     "hfc-245fa"     "hfc-32"       
#> [41] "hfc-365mfc"    "hfc-41"        "hfc-43-10-mee" "hfcs"         
#> [45] "hg"            "n2o"           "nf3"           "nh3"          
#> [49] "nmvoc"         "no2"           "nox"           "o3"           
#> [53] "oc"            "pahs"          "pb"            "pfcs"         
#> [57] "pm10"          "pm2_5"         "sf6"           "so2"          
#> [61] "sox"           "vocs"

1.6 Grupos de Paises

# Obtendo grupos de paises
tryCatch({
  grupos <- get_groups()
  
  if (is.list(grupos) || is.vector(grupos)) {
    cat("Grupos disponiveis:\n")
    print(head(grupos, 10))
    cat("Total de grupos:", length(grupos))
  } else if (is.data.frame(grupos)) {
    # knitr::kable(head(grupos, 10), caption = "Amostra de Grupos") |> 
    #   kableExtra::kable_styling(bootstrap_options = c("striped", "hover"))
    # cat("Total de grupos:", nrow(grupos))
    DT::datatable(grupos)
  }
}, error = function(e) {
  cat("Não foi possivel obter informações sobre grupos.\n")
  cat("Use o endpoint /v6/definitions/groups para explorar os grupos disponiveis.")
})
#> Grupos disponiveis:
#> $ailac
#> [1] "CRI" "GTM" "HND" "PAN" "CHL" "COL" "PRY" "PER"
#> 
#> $aosis
#>  [1] "COM" "MUS" "SYC" "STP" "CPV" "GNB" "SGP" "TLS" "MDV" "ATG" "BHS" "BRB"
#> [13] "CUB" "DMA" "DOM" "GRD" "HTI" "JAM" "KNA" "LCA" "VCT" "TTO" "BLZ" "FJI"
#> [25] "PNG" "SLB" "VUT" "KIR" "MHL" "FSM" "NRU" "PLW" "COK" "NIU" "WSM" "TON"
#> [37] "TUV" "GUY" "SUR"
#> 
#> $arab_league
#>  [1] "COM" "DJI" "SOM" "DZA" "EGY" "LBY" "MAR" "SDN" "TUN" "MRT" "BHR" "IRQ"
#> [13] "JOR" "KWT" "LBN" "OMN" "QAT" "SAU" "PSE" "SYR" "ARE" "YEM"
#> 
#> $basic
#> [1] "ZAF" "CHN" "IND" "BRA"
#> 
#> $coalition_for_rainforest_nations
#>  [1] "KEN" "MDG" "MWI" "MOZ" "UGA" "ZMB" "CMR" "CAF" "COG" "COD" "GNQ" "GAB"
#> [13] "SDN" "BWA" "LSO" "NAM" "ZAF" "GHA" "LBR" "MLI" "NGA" "SLE" "CHN" "KHM"
#> [25] "IDN" "LAO" "MYS" "SGP" "THA" "VNM" "BGD" "IND" "PAK" "DMA" "DOM" "JAM"
#> [37] "LCA" "BLZ" "CRI" "GTM" "HND" "NIC" "FJI" "PNG" "SLB" "VUT" "WSM" "ARG"
#> [49] "BOL" "BRA" "ECU" "GUY" "PRY" "SUR" "URY"
#> 
#> $eig
#> [1] "KOR" "GEO" "LIE" "MCO" "CHE" "MEX"
#> 
#> $eu
#>  [1] "CYP" "BGR" "CZE" "HUN" "POL" "ROU" "SVK" "DNK" "EST" "FIN" "IRL" "LVA"
#> [13] "LTU" "SWE" "HRV" "GRC" "ITA" "MLT" "PRT" "SVN" "ESP" "AUT" "BEL" "FRA"
#> [25] "DEU" "LUX" "NLD"
#> 
#> $g20
#>  [1] "ZAF" "CHN" "JPN" "KOR" "IDN" "IND" "SAU" "TUR" "CYP" "CZE" "HUN" "POL"
#> [13] "ROU" "RUS" "SVK" "DNK" "EST" "FIN" "IRL" "LVA" "LTU" "SWE" "GBR" "HRV"
#> [25] "GRC" "ITA" "MLT" "PRT" "SVN" "ESP" "FRA" "DEU" "LUX" "NLD" "MEX" "CAN"
#> [37] "USA" "AUS" "ARG" "BRA"
#> 
#> $g7
#> [1] "JPN" "GBR" "ITA" "FRA" "DEU" "CAN" "USA"
#> 
#> $g77
#>   [1] "BDI" "COM" "DJI" "ERI" "ETH" "KEN" "MDG" "MWI" "MUS" "MOZ" "RWA" "SYC"
#>  [13] "SOM" "SSD" "UGA" "TZA" "ZMB" "ZWE" "AGO" "CMR" "CAF" "TCD" "COG" "COD"
#>  [25] "GNQ" "GAB" "STP" "DZA" "EGY" "LBY" "MAR" "SDN" "TUN" "BWA" "SWZ" "LSO"
#>  [37] "NAM" "ZAF" "BEN" "BFA" "CPV" "CIV" "GMB" "GHA" "GIN" "GNB" "LBR" "MLI"
#>  [49] "MRT" "NER" "NGA" "SEN" "SLE" "TGO" "TJK" "TKM" "CHN" "PRK" "MNG" "BRN"
#>  [61] "KHM" "IDN" "LAO" "MYS" "MMR" "PHL" "SGP" "THA" "TLS" "VNM" "AFG" "BGD"
#>  [73] "BTN" "IND" "IRN" "MDV" "NPL" "PAK" "LKA" "AZE" "BHR" "IRQ" "JOR" "KWT"
#>  [85] "LBN" "OMN" "QAT" "SAU" "PSE" "SYR" "ARE" "YEM" "ATG" "BHS" "BRB" "CUB"
#>  [97] "DMA" "DOM" "GRD" "HTI" "JAM" "KNA" "LCA" "VCT" "TTO" "BLZ" "CRI" "SLV"
#> [109] "GTM" "HND" "NIC" "PAN" "FJI" "PNG" "SLB" "VUT" "KIR" "MHL" "FSM" "NRU"
#> [121] "WSM" "TON" "ARG" "BOL" "BRA" "CHL" "COL" "ECU" "GUY" "PRY" "PER" "SUR"
#> [133] "URY" "VEN"
#> 
#> Total de grupos: 17

2. Fontes de Emissão (Assets)

A API Climate TRACE permite obter dados detalhados sobre fontes especificas de emissão:

2.1 Buscar Fontes de Emissão (Assets)

# Buscando fontes de emissão no Brasil para o setor de uso de terra
fontes_brasil <- search_assets(
  countries = "BRA",
  sectors = "forestry-and-land-use",
  year = 2022,
  limit = 5
)

# Explorando a estrutura da resposta
cat("Estrutura da resposta para assets:\n")
#> Estrutura da resposta para assets:
str(fontes_brasil, max.level = 1)
#> List of 2
#>  $ bbox  : num [1:4] -63.179 -12.38 -51.372 0.312
#>  $ assets:'data.frame':  5 obs. of  13 variables:
# Extraindo informações básicas das fontes (se disponiveis)
if (!is.null(fontes_brasil) && "features" %in% names(fontes_brasil)) {
  cat("\nExemplo de fontes encontradas:\n")
  
  # Criando dataframe com informações básicas
  fontes_info <- lapply(fontes_brasil$features, function(feature) {
    if (is.null(feature$properties)) {
      return(data.frame(id = feature$id, type = NA, name = NA))
    } else {
      return(data.frame(
        id = feature$id,
        type = ifelse(is.null(feature$properties$type), NA, feature$properties$type),
        name = ifelse(is.null(feature$properties$name), NA, feature$properties$name)
      ))
    }
  })
  
  fontes_df <- do.call(rbind, fontes_info)
  
  # Mostrando tabela com as fontes
  knitr::kable(fontes_df, caption = "Fontes de Emissão - Brasil (Setor Florestal)") |> 
    kableExtra::kable_styling(bootstrap_options = c("striped", "hover"), font_size = 12)
}

2.3 Emissões por Fonte

# Obtendo emissões agregadas por fonte
emissoes_fontes <- get_asset_emissions(
  countries = "BRA",
  sectors = "forestry-and-land-use",
  years = 2022,
  gas = "co2e"
)

# Explorando a estrutura
cat("Estrutura da resposta para emissões por fonte:\n")
#> Estrutura da resposta para emissões por fonte:
str(emissoes_fontes, max.level = 1)
#> List of 1
#>  $ BRA:'data.frame': 1 obs. of  5 variables:
# Mostrando amostra dos dados em formato de tabela
if (is.data.frame(emissoes_fontes) && nrow(emissoes_fontes) > 0) {
  knitr::kable(head(emissoes_fontes, 10), caption = "Emissões por Fonte - Brasil (2022)") |> 
    kableExtra::kable_styling(bootstrap_options = c("striped", "hover"), font_size = 12)
  
  cat("Total de registros:", nrow(emissoes_fontes))
}

3. Emissões por Pais

3.1 Emissões Agregadas por Pais

# Obtendo emissões agregadas para um grupo de paises
paises_amostra <- c("BRA", "USA", "CHN", "IND", "RUS")
emissoes_paises <- get_country_emissions(
  countries = paises_amostra,
  sector = "forestry-and-land-use",
  since = 2020,
  to = 2022
)

# Estrutura da resposta
cat("Estrutura da resposta para emissões por pais:\n")
#> Estrutura da resposta para emissões por pais:
str(emissoes_paises, max.level = 1)
#> 'data.frame':    5 obs. of  8 variables:
#>  $ country        : chr  "BRA" "CHN" "IND" "RUS" ...
#>  $ continent      : chr  "null" "null" "null" "null" ...
#>  $ rank           : int  5 1 3 4 2
#>  $ previousRank   : int  5 1 3 4 2
#>  $ assetCount     : logi  NA NA NA NA NA
#>  $ emissions      :'data.frame': 5 obs. of  5 variables:
#>  $ worldEmissions :'data.frame': 5 obs. of  5 variables:
#>  $ emissionsChange:'data.frame': 5 obs. of  5 variables:
# Criando tabela com dados principais
if (is.data.frame(emissoes_paises) && nrow(emissoes_paises) > 0) {
  # Extraindo dados principais
  emissoes_resumo <- data.frame(
    Pais = emissoes_paises$country,
    Continente = emissoes_paises$continent,
    Rank = emissoes_paises$rank
  )
  
  # Adicionando emissões de CO2 (se disponivel)
  if ("emissions" %in% names(emissoes_paises)) {
    if (is.data.frame(emissoes_paises$emissions) && "co2" %in% names(emissoes_paises$emissions)) {
      emissoes_resumo$CO2_Mt <- emissoes_paises$emissions$co2 / 1e6  # Convertendo para Mt
    }
    
    if (is.data.frame(emissoes_paises$emissions) && "co2e_100yr" %in% names(emissoes_paises$emissions)) {
      emissoes_resumo$CO2e_100yr_Mt <- emissoes_paises$emissions$co2e_100yr / 1e6
    }
  }
  
  # Adicionando nomes dos paises
  paises_info <- get_countries()
  emissoes_resumo$Nome_Pais <- paises_info$name[match(emissoes_resumo$Pais, paises_info$alpha3)]
  
  # Reordenando colunas
  if ("Nome_Pais" %in% names(emissoes_resumo)) {
    emissoes_resumo <- emissoes_resumo |> 
      select(Nome_Pais, Pais, Continente, everything())
  }
  
  # Mostrando tabela
  # knitr::kable(emissoes_resumo, caption = "Emissões por Pais (2020-2022)") |> 
  #   kableExtra::kable_styling(bootstrap_options = c("striped", "hover"), font_size = 12)
  DT::datatable(emissoes_resumo)
}

📥 Exemplos Práticos de Uso da API

GERANDO EXEMPLOS DE CÓDIGO PARA CASOS DE USO COMUNS…

Exemplo 1: Emissões de Desmatamento por Pais

# Buscando emissões do subsetor de desmatamento para os principais paises
paises_tropicais <- c("BRA", "IDN", "COD", "MYS", "PER")
desmatamento <- get_country_emissions(
  countries = paises_tropicais,
  sector = "forestry-and-land-use",
  subsectors = "forest-land-clearing",
  since = 2020,
  to = 2022
)

# Criando tabela com os resultados
if (is.data.frame(desmatamento) && nrow(desmatamento) > 0) {
  # Extraindo dados principais
  desmat_resumo <- data.frame(
    Pais = desmatamento$country,
    CO2_Mt = ifelse("emissions" %in% names(desmatamento) && 
                    "co2" %in% names(desmatamento$emissions),
                   desmatamento$emissions$co2 / 1e6, NA)
  )
  
  # Adicionando nomes dos paises
  paises_info <- get_countries()
  desmat_resumo$Nome_Pais <- paises_info$name[match(desmat_resumo$Pais, paises_info$alpha3)]
  
  # Reordenando e ordenando por emissão
  desmat_resumo <- desmat_resumo |> 
    select(Nome_Pais, Pais, CO2_Mt) |> 
    arrange(desc(CO2_Mt))
  
  # Mostrando tabela
  # knitr::kable(desmat_resumo, caption = "Emissões por Desmatamento (2020-2022)") |> 
  #   kableExtra::kable_styling(bootstrap_options = c("striped", "hover"), font_size = 12)
  DT::datatable(desmat_resumo)
}

Exemplo 2: Remoções de Carbono Florestal

# Buscando dados de remoções de carbono
remocoes <- get_country_emissions(
  countries = c("BRA", "USA", "CHN", "RUS", "CAN"),
  sector = "forestry-and-land-use",
  subsectors = "removals",
  since = 2020,
  to = 2022
)

# Criando tabela com os resultados
if (is.data.frame(remocoes) && nrow(remocoes) > 0) {
  if("emissions" %in% names(remocoes) && 
                           "co2" %in% names(remocoes$emissions)){
                      vetor_remocao_CO2_Mt <- -remocoes$emissions$co2 / 1e6
                      }else{
                             NA
                        }
  
  remoc_resumo <- data.frame(
    Pais = remocoes$country,
    Remocao_CO2_Mt = vetor_remocao_CO2_Mt
  )
  
  # Adicionando nomes dos paises
  paises_info <- get_countries()
  remoc_resumo$Nome_Pais <- paises_info$name[match(remoc_resumo$Pais, paises_info$alpha3)]
  
  # Reordenando e ordenando por remoção
  remoc_resumo <- remoc_resumo |> 
    select(Nome_Pais, Pais, Remocao_CO2_Mt) |> 
    arrange(desc(Remocao_CO2_Mt))
  
  # Mostrando tabela
  # knitr::kable(remoc_resumo, caption = "Remoções de Carbono (2020-2022)") |> 
  #   kableExtra::kable_styling(bootstrap_options = c("striped", "hover"), font_size = 12)
  DT::datatable(remoc_resumo)
}

Parâmetros Disponiveis por Endpoint

DOCUMENTANDO PARÂMETROS DE API… CRIANDO REFERÊNCIA TÉCNICA…

1. Endpoint: /v6/assets (Fontes de Emissão)

Parâmetros para /v6/assets
Parâmetro Tipo Descrição
countries array[string] Lista de códigos de paises (3 letras)
sectors array[string] Lista de setores
subsectors string Lista de subsetores
year integer Ano (2020-2050)
limit integer Máximo de itens retornados (0-1000)
offset integer Deslocamento para paginação (0-100)
continents array[string] Lista de continentes
adminId integer ID de área administrativa

2. Endpoint: /v6/assets/emissions (Emissões por Fonte)

Parâmetros para /v6/assets/emissions
Parâmetro Tipo Descrição
adminId integer ID de área administrativa
years array[integer] Lista de anos
subsectors string Lista de subsetores
sectors array[string] Lista de setores
continents array[string] Lista de continentes
groups array[string] Lista de grupos
countries array[string] Lista de códigos de paises
gas string Tipo de gás (n2o, co2e, co2, ch4, co2e_20yr, co2e_100yr)

3. Endpoint: /v6/country/emissions (Emissões por Pais)

Parâmetros para /v6/country/emissions
Parâmetro Tipo Descrição
since integer Ano inicial (2000-2050)
to integer Ano final (2000-2050)
sector array[string] Lista de setores
subsectors string Lista de subsetores
continents array[string] Lista de continentes
groups array[string] Lista de grupos
countries array[string] Lista de códigos de paises

DOCUMENTAÇÃO COMPLETA… GUIA DE REFERÊNCIA GERADO…

NOTAS DE ENCERRAMENTO

Salvando Dados Localmente

# Obtendo dados
brasil_florestal <- get_country_emissions(
  countries = "BRA", 
  sector = "forestry-and-land-use",
  since = 2015,
  to = 2022
)

# Criando pasta se não existir
if (!dir.exists("data")) dir.create("data")

# Salvando como RDS (formato nativo do R)
saveRDS(brasil_florestal, "data/brasil_florestal_2015_2022.rds")

# Salvando como CSV (para uso em outros softwares)
if (is.data.frame(brasil_florestal)) {
  write.csv(brasil_florestal, "data/brasil_florestal_2015_2022.csv", row.names = FALSE)
}

DOCUMENTAÇÃO OFICIAL: https://api.climatetrace.org