📘 Tutorial: Cargar un archivo Excel o CSV y convertirlo a proyección EPSG:4326 (WGS84) en R

Este tutorial muestra cómo cargar datos desde un archivo Excel (.xlsx) o CSV (.csv) con coordenadas, y luego convertirlos en un objeto espacial con la proyección geográfica EPSG:4326 utilizando el paquete sf.


🧩 1️⃣ Instalar y cargar los paquetes necesarios

# Instalar paquetes (solo la primera vez)
install.packages(c("readxl", "sf", "dplyr"))

# Cargar las librerías
library(readxl)   # Para leer archivos Excel (.xlsx)
library(sf)       # Para manejar datos espaciales y proyecciones
library(dplyr)    # Para manipular datos

📂 2️⃣ Cargar el archivo Excel

Tu archivo Excel debe tener columnas con las coordenadas, por ejemplo lon y lat.

# Cargar archivo Excel
data_excel <- read_excel("datos/puntos.xlsx")

# Revisar las primeras filas
head(data_excel)

# Cambiar nombres de columnas si es necesario
data_excel <- data_excel %>%
  rename(Longitud = lon, Latitud = lat)

📄 3️⃣ Cargar el archivo CSV (alternativa)

Si tus datos están en formato CSV:

# Cargar archivo CSV
data_csv <- read.csv("datos/puntos.csv", sep = ",", dec = ".", header = TRUE)

# Revisar las primeras filas
head(data_csv)

# Cambiar nombres si es necesario
data_csv <- data_csv %>%
  rename(Longitud = lon, Latitud = lat)

🌍 4️⃣ Convertir los datos a objeto espacial (sf)

Tanto data_excel como data_csv pueden convertirse en un objeto espacial sf.
Si tus coordenadas están en grados decimales, usa directamente EPSG:4326.

# Para datos del Excel
puntos_excel_sf <- st_as_sf(data_excel, coords = c("Longitud", "Latitud"), crs = 4326)

# Para datos del CSV
puntos_csv_sf <- st_as_sf(data_csv, coords = c("Longitud", "Latitud"), crs = 4326)

Si tus coordenadas están en otro sistema (por ejemplo UTM), primero asigna ese CRS y luego reproyecta a 4326:

# Ejemplo: tus datos están en UTM zona 19S (EPSG:32719)
puntos_excel_sf <- st_as_sf(data_excel, coords = c("x", "y"), crs = 32719)

# Reproyectar a WGS84
puntos_excel_sf <- st_transform(puntos_excel_sf, 4326)

🗺️ 5️⃣ Verificar la proyección

st_crs(puntos_excel_sf)

Debe mostrar algo como:

Coordinate Reference System:
  EPSG: 4326 
  WGS 84

💾 6️⃣ Exportar a Shapefile o GeoPackage

Puedes guardar tu capa espacial en formato shapefile o geopackage:

# Crear carpeta de salida si no existe
dir.create("shapefiles", showWarnings = FALSE)

# Guardar como shapefile
st_write(puntos_excel_sf, "shapefiles/puntos_4326.shp", delete_layer = TRUE)

# Guardar como GeoPackage (opcional)
st_write(puntos_excel_sf, "shapefiles/puntos_4326.gpkg", delete_layer = TRUE)

✅ Recomendaciones


📘 Referencias útiles:

📘 Autor: Eduardo Fuentes-Lillo 🧩 Proyecto: Curso SENCE-IEB — Gestión y modelamiento de datos de biodiversidad
📅 Actualizado: Octubre 2025