Descarga de datos: https://www.dropbox.com/s/f849ra8l6umo9d8/crops.tif?dl=0
Tengo varias imágenes rasterizadas del mundo que, en última instancia, me gustaría trazar dentro de un mapa interactivo de folletos; un ejemplo está enlazado arriba. Con el trazado básico de R, soy capaz de trazar la imagen .tif y utilizar raster::click
para poder hacer clic en cualquier lugar del mapa y que el valor de la leyenda asociada se imprima en la consola de R. El código es muy sencillo:
library(raster)
library(leaflet)
setwd("C:/Users/administrator.me/Desktop")
crop <- raster("C:/Users/administrator.me/Desktop/crops/crops.tif")
plot(crop)
click(crop)
De nuevo, el resultado es una imagen rasterizada del mundo sobre la que se puede hacer clic y que escupe el valor asociado (como si se utilizara el identify
en QGIS):
Esto es bastante simple, pero al final me gustaría tener esta imagen rasterizada como capa de fondo en un mapa interactivo de Leaflet para R. Lo he trazado con el código adicional:
library(leaflet)
pal <- colorNumeric("Spectral", values(crop),
na.color = "transparent")
leaflet() %>% addTiles() %>%
addRasterImage(crop, colors = pal, opacity = 1) %>%
addLegend(pal = pal, values = values(crop),
opacity = 1,
title = "Crop Calendar")
Esto esencialmente traza la misma imagen que la anterior, sólo que sobre un mapa base y con opciones de paneo/zoom. Me gustaría ser capaz de utilizar el mismo raster::click
evento en el mapa interactivo de folletos. He leído un poco sobre los eventos de clic en Leaflet (ejemplo aquí ], pero parece que son principalmente para marcadores o polígonos predefinidos. ¿Es posible hacer esto con una imagen rasterizada con cuadrícula? ¿Puedo crear un evento de clic que dé una ventana emergente del valor asociado a la cuadrícula sobre la que se hace clic?