Skip to contents

Primeiros Passos

A função lcz_ts() permite analisar dados de temperatura do ar associados a Zonas Climáticas Locais (LCZ) ao longo do tempo. Neste tutorial, realizaremos uma análise de frequência horária da temperatura do ar em Berlim para os anos de 2019-2020 usando o lcz_data do pacote LCZ4r.

library(LCZ4r)

# Get the LCZ map for your city
lcz_map <- lcz_get_map_euro(city = "Berlin")

# Load sample data from LCZ4r
data("lcz_data")

Análise Básica de Séries Temporais

Vamos começar com uma análise básica usando lcz_ts() para observar as flutuações horárias de temperatura.

# Get monthly LCZ-air temperature time series
lcz_ts(lcz_map, 
       data_frame = lcz_data, 
       var = "airT", 
       station_id = "station",
       time.freq = "month",
       ylab = "Air temperature [°C]",
       xlab = "Date",
       title = "LCZ - Time Series",
       caption = "Source: LCZ4r, 2024.")
Série temporal mensal de temperatura do ar por LCZ para Berlim

Série temporal mensal de temperatura do ar por LCZ para Berlim mostrando variações sazonais de temperatura entre diferentes classes LCZ

Opções de Visualização com plot_type

O argumento plot_type na função lcz_ts() oferece várias visualizações:

  • “basic_line”: Gráfico de linhas simples
  • “faceted_line”: Gráfico de linhas com facetas por LCZ ou estação
  • “heatmap”: Mapa de calor para visualizar padrões temporais
  • **“warming_stripes”“: Listras representando variações de temperatura ao longo do tempo

Abaixo estão exemplos usando cada tipo de visualização.

1. Gráfico de Linhas Básico

# Daily air temperature for September 2019
lcz_ts(lcz_map, 
       data_frame = lcz_data, 
       var = "airT", 
       station_id = "station",
       time.freq = "day",
       year = 2019, month = 9,
       plot_type = "basic_line")
Gráfico de linhas básico mostrando variações diárias de temperatura em setembro de 2019

Gráfico de linhas básico mostrando variações diárias de temperatura em Berlim durante setembro de 2019

2. Gráfico de Linhas com Facetas por Estação

# Daily air temperature from January to March 2019, faceted by station
lcz_ts(lcz_map, 
       data_frame = lcz_data, 
       var = "airT", 
       station_id = "station", 
       time.freq = "hour",
       year = 2019, month = 1:3,
       plot_type = "facet_line", 
       facet = "station")
Gráfico de linhas com facetas mostrando padrões de temperatura em diferentes estações meteorológicas

Gráfico de linhas com facetas mostrando padrões de temperatura em diferentes estações meteorológicas em Berlim (janeiro-março de 2019)

3. Mapa de Calor da Temperatura ao Longo do Tempo

# Hourly air temperature on January 15, 2020, with LCZ facets
lcz_ts(lcz_map, 
       data_frame = lcz_data, 
       var = "airT", 
       station_id = "station", 
       time.freq = "hour",
       year = 2020, month = 1, day = 15,
       plot_type = "heatmap", 
       facet = "LCZ")
Mapa de calor mostrando variações horárias de temperatura entre classes LCZ

Mapa de calor mostrando variações horárias de temperatura entre diferentes classes LCZ em 15 de janeiro de 2020

4. Listras de Aquecimento (Warming Stripes)

# Hourly air temperature for 2020, visualized as warming stripes
lcz_ts(lcz_map, 
       data_frame = lcz_data, 
       var = "airT", 
       station_id = "station", 
       time.freq = "hour", 
       year = 2020, month = 1:12,
       plot_type = "warming_stripes",
       facet = "LCZ")
Visualização de listras de aquecimento mostrando tendências de temperatura entre classes LCZ

Visualização de listras de aquecimento mostrando tendências de temperatura entre diferentes classes LCZ ao longo de 2020

Dividindo Dados com o Argumento “by”

Você pode dividir os dados por categorias temporais ou espaciais como “year”, “month”, “season”, “weekday”, “weekend”, “yearseason”, entre outras.

# Daily air temperature by seasons of 2020
lcz_ts(lcz_map, 
       data_frame = lcz_data, 
       var = "airT", 
       station_id = "station", 
       time.freq = "day",
       year = 2020,
       plot_type = "basic_line", 
       by = "season")
Variações de temperatura entre diferentes estações em 2020

Variações de temperatura entre diferentes estações em Berlim durante 2020

Dividindo Períodos Noturnos e Diurnos com o Argumento “by”

Você também pode dividir os dados por períodos noturnos e diurnos com by = "daylight".

# Diurnal cycle of air temperature on January 15, 2020
lcz_ts(lcz_map, 
       data_frame = lcz_data, 
       var = "airT", 
       station_id = "station", 
       time.freq = "hour",
       year = 2020, month = 1, day = 15,
       plot_type = "heatmap", 
       by = "daylight")
Comparação de padrões de temperatura diurnos e noturnos

Comparação de padrões de temperatura diurnos e noturnos em 15 de janeiro de 2020

Combinando Diurno com Meses

# Diurnal cycle of air temperature on January 15 and July 15, 2020
lcz_ts(lcz_map, 
       data_frame = lcz_data, 
       var = "airT", 
       station_id = "station", 
       time.freq = "hour",
       year = 2020, month = c(1, 7), day = 15,
       plot_type = "basic_line", 
       by = c("daylight", "monthyear"))
Comparação de ciclos diurnos de temperatura no inverno e verão

Comparação de ciclos diurnos de temperatura no inverno (janeiro) e verão (julho) de 2020

Suavização de Tendências de Temperatura

Habilite a suavização definindo smooth = TRUE, que adiciona uma linha de modelo aditivo generalizado (GAM) para mostrar a tendência de temperatura.

# Trends of daily air temperature for 2019-2020 by station
lcz_ts(lcz_map, 
       data_frame = lcz_data, 
       var = "airT", 
       station_id = "station", 
       time.freq = "hour",
       year = 2019:2020,
       plot_type = "basic_line", 
       smooth = TRUE)
Tendências de temperatura com suavização GAM para 2019-2020

Tendências de temperatura com suavização GAM entre estações para 2019-2020

Salvar Gráficos

Para salvar um gráfico e um dataframe, defina isave = TRUE e especifique o tipo de arquivo com save_extension (por exemplo, “png”, “jpeg”, “svg”, “pdf”). Uma pasta LCZ4r_output é criada no seu PC.

# Save daylight plot and dataframe to PC
lcz_ts(lcz_map, 
       data_frame = lcz_data, 
       var = "airT", 
       station_id = "station", 
       time.freq = "hour",
       year = 2020, month = 1, day = 15,
       plot_type = "basic_line", 
       by = "daylight", 
       isave = TRUE)

Dica: Os arquivos salvos serão automaticamente organizados na pasta LCZ4r_output com nomes de arquivo timestampados para fácil referência.

Retornar um Dataframe como Resultado

Para salvar o resultado no R, defina iplot = FALSE e crie um objeto.

# Return daylight dataframe for January 15, 2020
my_output <- lcz_ts(lcz_map, 
                    data_frame = lcz_data, 
                    var = "airT", 
                    station_id = "station", 
                    time.freq = "hour",
                    year = 2020, month = 1, day = 15,
                    plot_type = "basic_line", 
                    by = "daylight", 
                    iplot = FALSE)

# View the structure of the returned dataframe
str(my_output)

Resumo dos Parâmetros

Aqui está uma referência rápida para os principais parâmetros usados em lcz_ts():

Parâmetro Descrição Opções
time.freq Frequência de agregação temporal “hour”, “day”, “month”, “year”
plot_type Tipo de visualização “basic_line”, “facet_line”, “heatmap”, “warming_stripes”
by Método de divisão dos dados “season”, “month”, “weekday”, “daylight”, “yearseason”
smooth Adicionar linha de tendência GAM TRUE/FALSE
isave Salvar saída no PC TRUE/FALSE
iplot Exibir gráfico TRUE/FALSE

Tem sugestões ou feedback?

Você tem uma ideia para melhoria ou encontrou um erro? Adoraríamos saber! Clique no botão abaixo para criar uma nova issue (GitHub) e compartilhar seu feedback ou sugestões diretamente conosco.

Open GitHub issue