Unicamente debes copilar la funcion
puntos = function(x,y){
library(sf) # Carga de la libreria
# Crea el primer punto espacial a partir de las coordenadas x[1] y y[1].
punto = st_point(c(x[1], y[1]))
# Convierte el punto en una geometrÃa de objeto simple (Simple Feature Geometry - SFC).
punto_sfc = st_sfc(punto)
# Convierte el objeto SFC en un objeto de tipo `sf` (Spatial Feature - caracterÃstica espacial).
punto_bueno = st_as_sf(punto_sfc)
# Crea una tabla inicial con el primer punto espacial.
tabla = rbind(punto_bueno)
# Itera sobre las demás filas de la tabla y hace todo lo anterior con cada fila
for (i in 2:nrow(datos)) {
punto = st_point(c(x[i], y[i]))
punto_sfc <- st_sfc(punto)
punto_bueno = st_as_sf(punto_sfc)
tabla = rbind(tabla, punto_bueno)
}
tabla = st_set_crs(tabla, 4326)
return(tabla)
}
Carga de librerias, estas son posibles que se pueden usar:
library(haven) # Carga la librerÃa 'haven' para leer y escribir archivos SPSS, Stata y SAS.
library(foreign) # Carga la librerÃa 'foreign', utilizada para leer archivos en diferentes formatos estadÃsticos.
library(sf) # Carga la librerÃa 'sf' para manejar y analizar datos espaciales (geometrÃas vectoriales).
library(readxl) # Carga la librerÃa 'readxl' para leer archivos Excel.
Carga de datos:
datos = read_sav("C:/Users/eagel/OneDrive/Escritorio/Lalo/Escuela/Servicio Social/Agosto/Archivos Utilizados/26Agosto/Base Hidalgo Julio 2024 con MPO.SAV", )[c(1:100),]
Como se usa la funcion:
# El siguiente es un ejemplo de como hacer uso de la funcion
ejemplo = puntos(x = datos$Longitude, y = datos$Latitude)
Juntar la geometria obtenida con la base original
datos2 = cbind(datos, ejemplo) # Union en columnas
datos2 = st_as_sf(datos2) # Pasar a formato sf
Guardar lo obtenido en un archivo shp:
write_sf(datos2, "C:/Users/eagel/OneDrive/Escritorio/shp/b.shp") # Das el archivo que vas a guardar el shp y el directorio donde se guardara.