¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. Data Scientist y lenguaje R
  3. Cartografía
Extrait - Data Scientist y lenguaje R Autoformación en los aspectos básicos de la inteligencia artificial en el universo... (2a edición)
Extractos del libro
Data Scientist y lenguaje R Autoformación en los aspectos básicos de la inteligencia artificial en el universo... (2a edición) Volver a la página de compra del libro

Cartografía

¿Por qué estudiar las representaciones cartográficas?

En los capítulos anteriores, en particular en el capítulo Complementos útiles, hemos esbozado la inferencia espacio-temporal usando kriging, series de tiempo, campos vectoriales y variogramas, donde la idea general era que las features que podemos asociar a una coordenada espacial en 2D o 3D muchas veces dependen de estas coordenadas, es decir, de los valores de determinadas features sobre otras coordenadas más o menos lejanas y del tiempo. Además, las formas o topologías aparecen o existen de manera previa, de la misma forma que en las imágenes habituales. Para convencerse de esto, intente imaginar la representación en un mapa de los elementos característicos de la formación y evolución de un huracán.

También hemos estudiado el filtrado de imágenes, que muchas veces permite que aparezcan topologías en ellas, como, por ejemplo, contornos significativos. Además, el capítulo anterior nos proporcionó las claves para la difusión de nuestros resultados.

Pero todavía nos falta un punto clave para poder expresar información geográfica: mapas básicos y sistemas de coordenadas realistas (normalmente con coordenadas terrestres). Estos mapas básicos pueden ser de diferente naturaleza semántica gracias a las features que incorporan: físicas...

Acceder a la información geográfica

Para utilizar la información geográfica, debe identificar la codificación de los datos asociados; en particular, el sistema geodésico en el que se codifican las posiciones y/o el sistema de proyección en el que se proyectarán las posiciones en su mapa. El sistema geodésico más conocido se llama WGS84 (World Geodetic System 1984). Es el que se corresponde con las coordenadas GPS, y suele estar asociado al sistema de proyección UTM (Universal Transverse Mercator), que los alemanes llaman Gauss-Krüger.

Existen muchos sistemas geodésicos y de proyección, pero céntrese en lo que viene a continuación, que le permitirá abordar otros sistemas con más seguridad. Tómese el tiempo necesario para comprender correctamente estas nociones, para que no se pierda con los parámetros y notaciones de los paquetes geográficos que podría estar utilizando.

Aquí hay un ejemplo de coordenadas WGS84 en la representación utilizada por Google. 

                       longitude      latitude 
Lima, Perú          -77.04275       -12.04637 
París, Francia        2.352222       48.85661 
New York, NY, USA   -74.005973       40.71278 
Tokio, Japón        139.691706       35.68949 

Aquí se puede ver que las coordenadas están expresadas en grados decimales respecto al meridiano de Greenwich y el ecuador. París y Tokio están en el cuadrante noreste y los valores son positivos, Lima está en el cuadrante suroeste y los valores son negativos, Nueva York está en el cuadrante noroeste y su longitud es negativa.

Los grados decimales (DDD) son más fáciles de manipular que otras representaciones...

Creación de mapas estáticos con R

Hay muchos paquetes útiles para crear mapas usando R, por lo que nos vamos a centrar en algunos paquetes muy conocidos o fáciles de utilizar.

Después de descargar un archivo shape (.shp) del sitio de StatSilk, usaremos una función antigua (ahora en desuso) del paquete maptools para leerlo y visualizar el resultado.

library(maptools)                    # referencia para los mapas 
s <- readShapeSpatial("map/map.shp") # lectura formato shape 
summary(s)                           # no muy sencillo de leer... 
plot(s)                              # Francia 

Object of class SpatialPolygonsDataFrame 
Coordinates: 
        min       max 
x -5.143751  9.560416 
y 41.333752 51.093193 
Is projected: NA 
proj4string : [NA] 
 
Data attributes: 
MM_UID     CODE      NAME1          NAME2      DIVISION 
           FR.AB     France          Ain        Region 
... 

Reconocemos las coordenadas GPS de Francia continental (Córcega incluida).

images/13EP01V2.PNG

Área metropolitana de Francia por departamentos, en su forma más sencilla

Ahora vamos a leer los mismos datos con el paquete sf y visualizar este mapa de Francia en dos features diferentes (departamentos y antiguas regiones administrativas). Se invoca la función plot después de identificar la firma del objeto que se va a mostrar. Como esto proviene del paquete sf, el plot que se utiliza es el que se define en el paquete. 

library(sf)                               # para tener sf::st_read 
s_ <-sf::st_read("map/map.shp", stringsAsFactors = FALSE) 
summary(s_) 
plot(s_[,c("CODE","NAME1","geometry"), ]) # departamentos y regiones 

Los polígonos están coloreados según los departamentos o las regiones.

images/13EP02V2.PNG

Francia metropolitana...

Creación de mapas dinámicos con R

Ahora vamos a implementar mapas interactivos «raster» + «shape». Vamos a crear dos mapas que van a estar sincronizados, es decir, el movimiento en uno va a provocar el movimiento de un puntero sobre el otro.

library(mapview)      # mapas interactivos 
 
                      # lo más sencillo 
                      # [NO IMPRESO EN EL LIBRO] 
mapview(c_lorena, 
        zcol = c("Z_MOYEN"), 
        legend           = TRUE) 
 
mapview(s_lorena,     # lectura shape 
        zcol = c("NAME2"), 
        legend = TRUE) 
 
                       # [EJEMPLO INTERESANTE] 
                       # mapas sincronizados 
library(RColorBrewer)  # gestión de colores 
clrs <- colorRampPalette(brewer.pal(9, "Greens")) 
mapview(c_lorena, 
               zcol = c("Z_MOYEN"), 
            ...