El estudio se hizo en una parcela con árboles en el corregimiento de La Buitrera, en Cali (Valle del Cauca, Colombia), en la zona rural del municipio, en el piedemonte de la cordillera Occidental, a 1151 msnm, con temperaturas medias cercanas a los 24 °C y dos temporadas de lluvia al año. Dentro de la parcela hay zonas abiertas y vegetación secundaria. El muestreo se realizó en un día nublado y húmedo, condición que se anotó porque la turgencia de la hoja (y por tanto su área medida) depende de la humedad y la temperatura del momento: un día así reduce la evapotranspiración y puede hacer que las hojas se vean más expandidas que en un día soleado.
Se eligieron 5 árboles adultos y sanos de hojas simples dentro de la parcela, con 3 a pleno sol (G7_T1, G7_T3, G7_T5) y 2 a la sombra (G7_T2, G7_T4), y se registraron sus coordenadas con el GPS del celular. De cada árbol se tomaron 10 hojas adultas, expandidas y sin daño, repartidas por toda la copa. Cada hoja se trazó sobre papel y se fotografió dentro de un marco rectangular de lados conocidos. Como las hojas varían en tamaño, se optó por usar tres marcos distintos: 95 × 195 mm, 235 × 158 mm y 100 × 158 mm. El script usó el tamaño del marco de cada foto para convertir píxeles a cm² y calcular el área. Los datos se capturaron en una plantilla común donde cada fila contiene los datos de una hoja.
Cada punto es un árbol. Haz clic en un punto para ver su foto y sus datos; arriba a la derecha puedes cambiar el fondo (se abre en satélite; también hay calles) y ocultar los árboles de sol o de sombra. Los 5 árboles están dentro de una misma parcela, lo que reduce la variación de suelo y altitud entre ellos.
if (requireNamespace("leaflet", quietly = TRUE)) {
library(leaflet)
# 1. Agregamos width y height directamente aquí.
# Cambia height = 400 por 350 si lo quieres más pequeño.
# Cambia width = "85%" por "100%" si lo quieres a todo lo ancho.
mapa <- leaflet(sitios, width = "85%", height = 400) %>%
addProviderTiles(providers$Esri.WorldImagery, group = "Satélite") %>%
addTiles(group = "Calles") %>%
addCircleMarkers(data = sitios[sitios$exposicion == "sol", ], lng = ~lon, lat = ~lat,
radius = 9, weight = 3, color = "white", fillColor = col_expo[["sol"]],
fillOpacity = 0.95, label = ~id_arbol, popup = ~popup,
popupOptions = popupOptions(maxWidth = 240), group = "Sol") %>%
addCircleMarkers(data = sitios[sitios$exposicion == "sombra", ], lng = ~lon, lat = ~lat,
radius = 9, weight = 3, color = "white", fillColor = col_expo[["sombra"]],
fillOpacity = 0.95, label = ~id_arbol, popup = ~popup,
popupOptions = popupOptions(maxWidth = 240), group = "Sombra") %>%
addLayersControl(baseGroups = c("Satélite", "Calles"), overlayGroups = c("Sol", "Sombra"),
options = layersControlOptions(collapsed = FALSE)) %>%
addLegend("bottomright", colors = unname(col_expo), labels = c("Sol", "Sombra"),
title = "Exposición", opacity = 1) %>%
addScaleBar("bottomleft")
# 2. Esto hace que el mapa quede perfectamente centrado en la página
htmltools::div(mapa, style = "display: flex; justify-content: center; margin-bottom: 20px;")
} else {
cat("El paquete 'leaflet' no está instalado.")
}Cada árbol del estudio tiene una foto de referencia. Estas imágenes permiten verificar la clasificación en sol y sombra, y ayudan a que el lector se haga una idea del sitio y de la copa de cada árbol. 3 árboles de sol (G7_T1, G7_T3, G7_T5) y 2 de sombra (G7_T2, G7_T4). Los árboles de sol reciben luz directa la mayor parte del día y no están cubiertos por otras copas ni por edificaciones, los de sombra crecen bajo la cobertura de otros árboles o en zonas con luz filtrada.
g_galeria <- if (exists("params") && !is.null(params$grupo)) params$grupo else 7
g_galeria <- as.character(g_galeria)
arb_g <- sitios[as.character(sitios$grupo) == g_galeria, ]
arb_g <- arb_g[order(arb_g$id_arbol), ]
tarjetas <- vapply(seq_len(nrow(arb_g)), function(i) {
s <- arb_g[i, ]
img <- if (is.na(s$foto)) {
"<div class='sinfoto'>foto pendiente</div>"
} else {
paste0("<img src='", knitr::image_uri(s$foto), "'>")
}
paste0("<figure>", img,
"<figcaption><b>", s$id_arbol, "</b> - ", s$exposicion,
"</figcaption></figure>")
}, character(1))
cat("\n\n<div class='galeria'>\n", paste(tarjetas, collapse = "\n"), "\n</div>\n\n")