Comment agréger dynamiquement un raster dans Shiny?Agrégation d'un raster avec une entrée dans R
-à-dire en utilisant un exemple .flt fichier: https://www.ngdc.noaa.gov/mgg/global/relief/ETOPO2/ETOPO2v2-2006/ETOPO2v2c/raw_binary/
library("dplyr")
library("ggplot2")
library("shiny")
library("raster")
ui <- fluidPage(
mainPanel(
plotOutput("canvasHere")
),
sliderInput("sliderRes", label = h5("Resolution reduction"),
min = 1, max = 100, value = 5)
) ## UI end
shinyServer <- function(input, output) {
BMgradient <- raster("/home/berg/Downloads/ETOPO2v2c_f4_LSB/ETOPO2v2c_f4_LSB.flt",crs=NA,template=NULL)
##resolutionFactor <- input$sliderRes
resolutionFactor <- 5
BMgradient <- aggregate(BMgradient, fact=resolutionFactor, fun=max)
p <- rasterToPoints(BMgradient)
bmdf <- data.frame(p)
colnames(bmdf) <- c("bbb", "ccc", "varFillBBB")
output$canvasHere <- renderPlot({
ggplot()+
geom_tile(data=bmdf,aes(bbb,ccc,fill=varFillBBB))
})
}
print("Processed code")
runApp(list(ui = ui, server = shinyServer))
Maintenant, d'habitude je venais de régler une variable dans le serveur en utilisant:
resolutionFactor <- input$sliderRes
Toutefois, cette doesn ne semble pas fonctionner pour l'agrégation raster, et je dois juste utiliser un facteur de résolution statique tels que: resolutionFactor <- 5
Comment est-ce que je peux faire cela dynamiquement via un curseur dans l'interface utilisateur?