Skip to contents

Empezando

El lcz_ts() La función le permite analizar datos de temperatura del aire asociados con zonas climáticas locales (LCZ) a lo largo del tiempo. En este tutorial, realizaremos un análisis de frecuencia horaria de la temperatura del aire en Berlín para los años 2019-2020 usando lcz_data del paquete LCZ4r.

library(LCZ4r)

# Obtén el mapa de la LCZ de tu ciudad.
lcz_map <- lcz_get_map_euro(city = "Berlin")

# Cargar datos de muestra desde LCZ4r
data("lcz_data")

Análisis básico de series de tiempo

Comencemos con un análisis básico usando lcz_ts() para observar las fluctuaciones horarias de temperatura.

# Obtenga series temporales mensuales de temperatura del aire en la LCZ
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.")
Serie temporal mensual de la temperatura del aire en la zona de cobertura local (LCZ) para Berlín

Serie temporal mensual de temperatura del aire LCZ para Berlín que muestra variaciones estacionales de temperatura en diferentes clases LCZ

Opciones de trazado con plot_type

El plot_type argumento en lcz_ts() ofrece varias visualizaciones:

  • “basic_line”: diagrama de líneas simple
  • “faceted_line”: Gráfico de líneas con facetas por LCZ o estación
  • “mapa de calor”: Mapa de calor para visualizar patrones temporales
  • “warming_stripes”: Rayas que representan variaciones de temperatura a lo largo del tiempo

A continuación se muestran ejemplos que utilizan cada tipo de trama.

1. Trazado lineal básico

# Temperatura del aire diaria para septiembre de 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 lineal básico que muestra las variaciones diarias de temperatura en septiembre de 2019

Gráfico de líneas básicas que muestra las variaciones diarias de temperatura en Berlín durante septiembre de 2019

2. Trazado de líneas facetadas por estación

# Temperatura del aire diaria de enero a marzo de 2019, desglosada por estación
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 lineal facetado que muestra los patrones de temperatura en diferentes estaciones meteorológicas

Gráfico de líneas facetadas que muestra patrones de temperatura en diferentes estaciones meteorológicas en Berlín (enero-marzo de 2019)

3. Mapa de calor de temperatura a lo largo del tiempo

# Temperatura del aire por hora el 15 de enero de 2020, con facetas de la LCZ
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 que muestra las variaciones de temperatura por hora en las distintas clases de LCZ

Mapa de calor que muestra variaciones de temperatura horarias en diferentes clases de LCZ el 15 de enero de 2020

4. Rayas cálidas

# Temperatura del aire por hora para 2020, visualizada como franjas de calentamiento
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")
Visualización de franjas de calentamiento que muestran las tendencias de temperatura en las distintas clases de LCZ

Visualización de franjas de calentamiento que muestra las tendencias de temperatura en diferentes clases de LCZ a lo largo de 2020

Dividir datos con el argumento “por”

Puede dividir los datos por categorías temporales o espaciales, como “año”, “mes”, “temporada”, “día laborable”, “fin de semana”, “añotemporada” y más.

# Temperatura del aire diaria por estaciones del año 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")
Variaciones de temperatura a lo largo de las diferentes estaciones en 2020

Variaciones de temperatura durante las diferentes estaciones en Berlín durante 2020

Dividiendo el día y la noche con el argumento “por”

También puede dividir los datos por períodos diurnos y nocturnos con by = "daylight".

# Ciclo diurno de la temperatura del aire el 15 de enero de 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")
Comparación de los patrones de temperatura diurnos y nocturnos

Comparación de los patrones de temperatura diurnos y nocturnos del 15 de enero de 2020

Combinando luz natural con meses

# Ciclo diurno de la temperatura del aire el 15 de enero y el 15 de julio de 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"))
Comparación de los ciclos de temperatura diurna en invierno y verano

Comparación de los ciclos de temperatura diurnos en invierno (enero) y verano (julio) 2020

Suavizar las tendencias de temperatura

Habilite el suavizado configurando smooth = TRUE, que agrega una línea de modelo aditivo generalizado (GAM) para mostrar la tendencia de la temperatura.

# Tendencias de la temperatura del aire diaria para 2019-2020 por estación
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)
Tendencias de temperatura con suavizado GAM para 2019-2020

Tendencias de temperatura con GAM suavizado en todas las estaciones para 2019-2020

Guardar parcelas

Para guardar un gráfico y un marco de datos, configure isave = TRUE y especifique el tipo de archivo con save_extension (por ejemplo, “png”, “jpeg”, “svg”, “pdf”). una carpeta LCZ4r_output se crea en su PC.

# Guarda el gráfico de luz diurna y el marco de datos en el 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)

Consejo: Los archivos guardados se organizarán automáticamente en el LCZ4r_output carpeta con nombres de archivos con marca de tiempo para una fácil referencia.

Devolver un marco de datos como resultado

Para guardar el resultado en R, establezca iplot = FALSE y crear un objeto.

# Devuelve el dataframe de luz diurna del 15 de enero de 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)

# Visualice la estructura del dataframe devuelto
str(my_output)

Resumen de parámetros

A continuación se ofrece una referencia rápida de los principales parámetros utilizados en lcz_ts():

Parámetro Descripción Opciones
time.freq Frecuencia de agregación temporal “hora”, “día”, “mes”, “año”
plot_type Tipo de visualización “basic_line”, “facet_line”, “heatmap”, “warming_stripes”
by Método de división de datos “temporada”, “mes”, “día laborable”, “luz del día”, “añotemporada”
smooth Añadir línea de tendencia GAM VERDADERO/FALSO
isave Guardar la salida en la PC VERDADERO/FALSO
iplot Mostrar gráfico VERDADERO/FALSO

¿Tiene comentarios o sugerencias?

¿Tiene una idea para mejorar o detectó un error? ¡Nos encantaría saber de usted! Haga clic en el botón a continuación para crear una nueva edición (GitHub) y compartir sus comentarios o sugerencias directamente con nosotros.

Abrir incidencia en GitHub