En este artículo explicaré brevemente la forma de importar datos de
coordenadas (latitud/longitud) de Excel a un formato de texto plano CSV y su
posterior lectura en el entorno de desarrollo de RStudio mediante el paquete sf
(Simple Features for R) con el objetivo de crear un archivo shapefile de
puntos.
RStudio es un entorno de desarrollo integrado (IDE) para programar en R,
cuya naturaleza de software libre (código abierto) ha permitido que se desarrollen
gran cantidad de paquetes útiles en distintas disciplinas. Para el manejo de información
geográfica (vectorial) destacan principalmente dos paquetes: sp y sf. Es
importante mencionar que el paquete sf es de reciente creación y dadas sus
potencialidades se perfila como sucesor natural de sp.
La simple tarea de importación de puntos (lat/lon) con el objetivo de
crear un shapefile está ampliamente documentada en el caso de programas
comerciales tales como ArcGIS y en el caso de software libre QGIS. En ambos
casos, el procedimiento es similar y le resultará familiar a los lectores el
proceso a continuación descrito en RStudio con la particularidad que se hace a
través de líneas de comando.
Si bien es cierto que debemos conocer el manejo básico del lenguaje R,
tampoco es un impedimento para realizar esta sencilla labor. A continuación el
lector se encontrará con una valiosa oportunidad para adentrarse en las
operaciones básicas y su aplicación en el manejo de información geográfica.
Partimos de una tabla que incluye dos columnas correspondientes a las
coordenadas de longitud y latitud. Es sencillo, las copiamos y pegamos en un
libro de Excel, a continuación lo guardamos con el nombre "lat_lon” y en
tipo elegimos CSV (delimitado por comas). El archivo lat_lon.csv será guardado
en una carpeta con el nombre “RStudio” en el disco local C de tu computadora (C:\RStudio\lat_lon.csv).
LATD
|
LONGD
|
18.0453
|
-93.9667
|
18.0014
|
-93.6192
|
17.9739
|
-93.7683
|
18.0656
|
-93.6247
|
18.0214
|
-93.4989
|
18.048117
|
-94.076539
|
El paquete sf se encarga de representar los elementos geográficos a
partir de estructuras de datos tales como vectores, listas, matrices, entre
otros. Para poder emplearlo es necesario hacer la instalación del paquete sf en el entorno de RStudio y el
establecimiento de la ruta de trabajo.
A continuación se muestran las líneas de comando que debemos de utilizar
para realizar el procedimiento completo. Los comentarios aparecen antecedidos
por el símbolo # y los comandos nativos de R y el paquete sf aparecen de color
rojo.
#Instalación del
paquete sf
install.packages("sf")
#Activación del
paquete sf
library(sf)
## Linking to GEOS 3.6.1, GDAL 2.2.3, PROJ 4.9.3
#Se determina la ruta
de trabajo (previo generamos una carpeta en disco C que se llame RSTudio)
#En RStudio las rutas
se establecen con diagonal invertida y entre comillas
setwd("C:/RStudio")
Dado que el archivo con extensión CSV se encuentra en la carpeta de
trabajo establecida previamente, ya no es necesario escribir toda la ruta,
basta con indicar el nombre del mismo y guardarlo en una variable llamada
“coordenadas”.
#Importar coordenadas
(lat/lon) a partir del archivo lat_lon.csv
coordenadas
<- read.csv("lat_lon.csv")
Para asegurarnos que los datos se importaron de manera correcta podemos
visualizarlo.
#Visualizamos los
datos
View(coordenadas)
Para agregar las coordenadas es necesario indicarle a RStudio los campos
correspondientes a X e Y o en este caso de latitud y longitud tal cual vienen
escritos en el archivo CSV. Para este ejemplo se guarda en una nueva variable
denominada “coordenadas1”. De manera simultánea se agrega el sistema de
coordenadas que en este caso corresponde a geográficas (crs = 4326, Lat/Long
datum WGS84).
#Comando que
convierte un objeto a un sf objeto que permite agregar coordenadas (lat/lon)y
se establece el sistema de coordenadas.
coordenadas1 <- st_as_sf(coordenadas, coords = c("LONGD", "LATD"), crs = 4326)
Tenemos la opción de visualizarlo (graficarlo) desde RStudio mencionando
la variable “coordenadas1” y la instrucción “plot”.
#Visualizamos los
puntos
plot(coordenadas1$geometry, axes= T)
Obtienes un gráfico estructurado de la siguiente manera.
Procedemos a la exportación a formato shapefile el cual se guarda en el
directorio que se ha venido trabajando con el nombre “puntos.shp”.
#Guardar en formato
shape
st_write(coordenadas1,"puntos.shp",delete_layer = TRUE)
#Si el proceso se
generó de manera correcta te aparece algo como se muestra abajo.
Writing layer `puntos' to data source `puntos.shp' using driver `ESRI Shapefile'
features: 6
fields: 0
geometry type: Point
Dirígete al directorio “C:\RStudio “ y comprobaras que fue creado el
archivo de puntos compuesto por 4 elementos (shp, shx, prj, dbf).
Finalmente el archivo se generó de manera correcta e incluye el sistema
de coordenadas especificado, para comprobarlo abrimos el archivo “puntos.shp”
en cualquier visor de información geográfica e inspeccionamos las propiedades
del mismo.