En este tutorial genero códigos QR desde R para cinco fuentes de datos climáticos y geoespaciales que uso a diario. Con un vector de URLs y un bucle de pocas líneas, R escribe un PNG por enlace, listo para una presentación, un póster o una clase.

Un QR resuelve un problema concreto: el público no puede hacer clic en una diapositiva proyectada ni en un afiche impreso. Hacerlo en R, y no en un generador web, deja el proceso reproducible y lo escala a 5 o a 500 enlaces sin repetir clics.

Las cinco fuentes

Cada QR apunta a un portal de datos abiertos. El nombre corto de la tercera columna es el que usa el código para nombrar cada PNG.

FuenteQué ofreceNombre en el código
IDEAM – DHIMESeries hidrometeorológicas de las estaciones de Colombiaideam
SIAC – Portal de Datos Abiertos MADSCapas ambientales oficiales del Ministerio de Ambientesiac
Copernicus Data Space EcosystemImágenes Sentinel y servicios Copernicus, de acceso librecope
WorldClim 2.1Climatología 1970–2000 y 19 variables bioclimáticas, de 30 s a 10 minwcli
CHIRPS v3Precipitación a 0.05°, de 1981 a casi el presentechrp

El código

El script completo cabe en 20 líneas y solo depende del paquete qrcode. Al correrlo, la carpeta qr/ queda con cinco archivos: qr_ideam.png, qr_siac.png, qr_cope.png, qr_wcli.png y qr_chrp.png.


# Load libraries ----------------------------------------------------------
pacman::p_load(qrcode)

# URLs --------------------------------------------------------------------
urls <- c(
  ideam = "https://www.ideam.gov.co/dhime",
  siac  = "https://siac-datosabiertos-mads.hub.arcgis.com",
  cope  = "https://dataspace.copernicus.eu/",
  wcli  = "https://worldclim.org/data/worldclim21.html",
  chrp  = "https://chc.ucsb.edu/data/chirps3"
)

# Generate QR codes -------------------------------------------------------
dir.create("qr", showWarnings = FALSE)

for (name in names(urls)) {
  code <- qr_code(urls[[name]], ecl = "M")
  png(file.path("./qr/", paste0("qr_", name, ".png")), width = 1000, height = 1000)
  par(mar = c(0, 0, 0, 0))
  plot(code)
  dev.off()
}

Buenas prácticas antes de imprimir

Un QR impreso no se corrige, así que vale la pena revisar tres cosas antes de mandarlo a un afiche.

  • Escanea cada QR con el celular. Confirma que abre la página que esperas. Por ejemplo, el enlace del IDEAM abre la portada de DHIME; la descarga de datos está en atencionciudadano.ideam.gov.co.
  • Elige el nivel de corrección según el uso. "L" (7 %) o "M" (15 %) bastan para pantalla. Usa "H" (30 %) si vas a poner un logo encima con add_logo().
  • Para impresión, usa vector. El mismo paquete escribe SVG, que escala a cualquier tamaño sin pixelarse. Dentro del bucle, basta con una línea:
Posted in

Deja un comentario