Paquete de folletos en R

El folleto es una de las bibliotecas JavaScript de código abierto más populares para mapas interactivos compatibles con dispositivos móviles. Es utilizado ampliamente por muchas de las principales organizaciones del mundo. Para usar esta misma funcionalidad en el lenguaje R, tenemos la biblioteca de paquetes de folletos. El paquete Leaflet R es una biblioteca fácil de usar que está diseñada con simplicidad, rendimiento y usabilidad en general.

Características:

  • Admite mapas interactivos que brindan funciones como panorámica y zoom.
  • Admite varios elementos para la composición de mapas, como mosaicos de mapas, marcadores, polígonos, líneas, ventanas emergentes y GeoJSON.
  • Admite la creación de mapas dinámicos completos desde la propia R Console.
  • Objetos de mapa fáciles de incrustar en varios archivos de rebajas.
  • También puede mostrar mapas en proyecciones no esféricas de Mercator
  • Aumente las características del mapa utilizando los complementos elegidos del repositorio de complementos de folletos

Instalación:

Podemos instalar la biblioteca de folletos en el lenguaje R usando:

# installs the leaflet package
install.packages("leaflet")

Ejecute el comando anterior en la consola R y seleccione el espejo cran deseado para instalar el paquete Leaflet R.

Creación de mapas interactivos utilizando el paquete de folletos

Para crear un widget de mapa usando el paquete de folletos en R Language, usamos la función leaflet(). La función leaflet() devuelve un objeto de mapa que se puede ver en sí mismo o se puede modificar agregando más capas. El widget de folleto básico muestra un widget de mapa vacío sin mosaicos ni marcadores.

Sintaxis: mapa <- folleto()

Ejemplo: Objeto de mapa básico hecho usando la función leaflet().

R

# load leaflet library
library(leaflet)
  
# create map widget
map <- leaflet()
  
# print map widget
map

Producción:

Agregar mosaicos al mapa

Dado que el código anterior crea un widget de mapa que está vacío. Para agregarle mosaicos para la creación del mapa deseado, usamos la función addTiles() del paquete de folletos. De forma predeterminada, si no se pasa ningún argumento, se crea un mosaico de mapa de OpenStreetMap en la parte superior del widget de mapa. Para mosaico de mapa personalizado, pasamos ese mapa como argumento a la función addTiles().

Sintaxis: map <- folleto() %>%addTiles()

Ejemplo: mapa básico con mosaico de OpenStreetMap.

R

# load leaflet library
library(leaflet)
  
# create map widget with OpenStreetMap tile
map <- leaflet() %>%
       addTiles()
  
# print map widget
map

Producción:

Agregar marcadores en el mapa

Ahora que hemos creado un mapa básico, en sí mismo no es tan útil. ahora podemos agregar marcadores en el mapa usando la función addMarkers() del paquete de folletos. podemos agregar tantos marcadores como necesitemos simplemente agregando nuevas capas.

Sintaxis: map <- leaflet() %>%addTiles() %>% addMarkers( lng, lat, popup)

Parámetros:

  • lng: determina la longitud de la posición del marcador
  • lat: determina la latitud de la posición del maeker
  • ventana emergente: determina el texto que se mostraría en la ventana emergente del marcador

Ejemplo: Mapa interactivo con un marcador en Delhi India.

R

# load leaflet library
library(leaflet)
  
# create map widget with OpenStreetMap tile
# added marker at Delhi India
map <- leaflet() %>%
       addTiles() %>%
       addMarkers(lng=77.1025, lat=28.7041, 
                  popup="Delhi, India")
  
# print map widget
map

Producción:

Control de capas

Podemos agregar múltiples capas al mapa del folleto usando la función addTiles() o addMarker(). Ahora, si queremos darle al usuario la opción de qué capa quiere mirar, podemos hacerlo usando el control de capas. Las capas se pueden asignar a grupos con nombre. Para nombrar un grupo en el folleto, agregamos un argumento de grupo a esa capa. Ahora, el usuario puede activar y desactivar estos grupos. Los Grupos base que forman los elementos básicos del mapa, por ejemplo, los mosaicos, se seleccionan con botones de radio para que solo pueda elegir uno a la vez, y los Grupos superpuestos que pueden tener varias capas activas al mismo tiempo obtienen casillas de verificación.

Para implementar el control de capas, agregue nombres de grupo a capas individuales con el argumento group = Y agregue la capa de control de capas usando addLayersControl().

Sintaxis: prospecto() %> addTiles(grupo = “Uno”) %>% addProviderTiles(proveedores$Esri.WorldImagery, grupo = “Dos”) %>% addLayersControl(baseGroups = c(“Uno”, “Dos”) opciones = LayersControlOptions(contraído = FALSO))

Ejemplo: Mapa de folleto básico con dos opciones para mosaicos y dos marcadores con casillas de verificación.

R

# load library leaflet
library(leaflet)
  
# draw map
leaflet() % >%
# add first tile
addTiles(group="One") % >%
# add second tile
addProviderTiles(providers$Esri.WorldImagery,
                 group="Two") % >%
# add first marker
addMarkers(lng=25.505206, lat=65.9767231,
           group="mark1") % >%
# add second marker
addMarkers(lng=-45.445206, lat=45.5327231,
           group="mark2") % >%
# add Layer controls
addLayersControl(baseGroups=c("One", "two"),
                 overlayGroups=c("mark1", "mark2"),
                 options=layersControlOptions(collapsed=FALSE))

Producción:

Trazar datos en la parte superior del mapa

Los objetos espaciales en su entorno R también se pueden agregar como capas de mapa, siempre que tengan un CRS definido con un datum. Podemos usar esos puntos de datos en la parte superior del mapa del folleto usando la función addMarkers() o addPloygons() según el tipo de conjunto de datos. Si el conjunto de datos es unidimensional, usamos marcadores y para datos multidimensionales usamos polígonos.

Ejemplo: variables de datos trazadas como marcadores en la parte superior del mapa del folleto. El conjunto de datos utilizado en el ejemplo se puede descargar aquí .

R

# load library
library(sf)
library(leaflet)
# read dataset
dataset <- st_read("wqp_sites.shp")
  
# draw plot with markers at dataset point
leaflet() %>%
  addTiles() %>%
  addMarkers(data = dataset)

Producción:

Publicación traducida automáticamente

Artículo escrito por mishrapriyank17 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *