The map does not appear in a brilliant elevator and raster application

I work in a brilliant application that allows you to know places where you may be pleased to live, this is the correct knowledge of the working application:

brilliant app

I like it so far, but I would really prefer a booklet map where you could zoom in instead of a static map, but so far I have had a lot of problems with the raster that the packaging brochure was rendered or updated. Github repository this if you need repository files

This is the application code right now. Server:

library(shiny) library(raster) library(rworldmap) library(rgdal) library(dplyr) data("countriesCoarse") uno <- readRDS("uno.rds") World <- getData('worldclim', var='bio', res=10) cities <- readRDS("cities.rds") shinyServer(function(input, output) { output$distPlot <- renderPlot({ uno[World[[10]] > ifelse(input$degrees == "Celcius", (input$MaxTempC*10), (((input$MaxTempF-32)*5/9)*10))] <- NA uno[World[[11]] < ifelse(input$degrees == "Celcius", (input$MinTempC*10), (((input$MinTempF-32)*5/9)*10))] <- NA uno[World[[1]] < ifelse(input$degrees == "Celcius", min(input$RangeTempC*10), min(((input$RangeTempF-32)*5/9)*10))] <- NA uno[World[[1]] > ifelse(input$degrees == "Celcius", max(input$RangeTempC*10), max(((input$RangeTempF-32)*5/9)*10))] <- NA uno[World[[12]] < ifelse(input$degrees == "Celcius", min(input$RangePPC), min(input$RangePPF*25.4))] <- NA uno[World[[12]] > ifelse(input$degrees == "Celcius", max(input$RangePPC), max(input$RangePPF*25.4))] <- NA plot(uno, col ="red", legend = FALSE) plot(countriesCoarse, add = TRUE) }) output$downloadPlot <- downloadHandler( filename = function() { paste("WhereToLive", '.png', sep='') }, content = function(file) { png(file) uno[World[[10]] > ifelse(input$degrees == "Celcius", (input$MaxTempC*10), (((input$MaxTempF-32)*5/9)*10))] <- NA uno[World[[11]] < ifelse(input$degrees == "Celcius", (input$MinTempC*10), (((input$MinTempF-32)*5/9)*10))] <- NA uno[World[[1]] < ifelse(input$degrees == "Celcius", min(input$RangeTempC*10), min(((input$RangeTempF-32)*5/9)*10))] <- NA uno[World[[1]] > ifelse(input$degrees == "Celcius", max(input$RangeTempC*10), max(((input$RangeTempF-32)*5/9)*10))] <- NA uno[World[[12]] < ifelse(input$degrees == "Celcius", min(input$RangePPC), min(input$RangePPF*25.4))] <- NA uno[World[[12]] > ifelse(input$degrees == "Celcius", max(input$RangePPC), max(input$RangePPF*25.4))] <- NA plot(uno, col ="red", legend = FALSE) plot(countriesCoarse, add = TRUE) dev.off() }) output$visFun <- renderDataTable({ uno[World[[10]] > ifelse(input$degrees == "Celcius", (input$MaxTempC*10), (((input$MaxTempF-32)*5/9)*10))] <- NA uno[World[[11]] < ifelse(input$degrees == "Celcius", (input$MinTempC*10), (((input$MinTempF-32)*5/9)*10))] <- NA uno[World[[1]] < ifelse(input$degrees == "Celcius", min(input$RangeTempC*10), min(((input$RangeTempF-32)*5/9)*10))] <- NA uno[World[[1]] > ifelse(input$degrees == "Celcius", max(input$RangeTempC*10), max(((input$RangeTempF-32)*5/9)*10))] <- NA uno[World[[12]] < ifelse(input$degrees == "Celcius", min(input$RangePPC), min(input$RangePPF*25.4))] <- NA uno[World[[12]] > ifelse(input$degrees == "Celcius", max(input$RangePPC), max(input$RangePPF*25.4))] <- NA cities$exists <- extract(uno, cities[,2:3]) cities <- filter(cities, exists == 1) cities <- cities[,c(1,4,5,6)] cities <- filter(cities, pop > min(as.numeric(as.character(input$Population)))) cities <- filter(cities, pop < max(as.numeric(as.character(input$Population)))) cities }) output$downloadData <- downloadHandler( filename = function() { paste("cities", '.csv', sep='') }, content = function(file) { uno[World[[10]] > ifelse(input$degrees == "Celcius", (input$MaxTempC*10), (((input$MaxTempF-32)*5/9)*10))] <- NA uno[World[[11]] < ifelse(input$degrees == "Celcius", (input$MinTempC*10), (((input$MinTempF-32)*5/9)*10))] <- NA uno[World[[1]] < ifelse(input$degrees == "Celcius", min(input$RangeTempC*10), min(((input$RangeTempF-32)*5/9)*10))] <- NA uno[World[[1]] > ifelse(input$degrees == "Celcius", max(input$RangeTempC*10), max(((input$RangeTempF-32)*5/9)*10))] <- NA uno[World[[12]] < ifelse(input$degrees == "Celcius", min(input$RangePPC), min(input$RangePPF*25.4))] <- NA uno[World[[12]] > ifelse(input$degrees == "Celcius", max(input$RangePPC), max(input$RangePPF*25.4))] <- NA cities$exists <- extract(uno, cities[,2:3]) cities <- filter(cities, exists == 1) cities <- filter(cities$pop > min(input$Population)) cities <- filter(cities$pop < max(input$Population)) cities <- cities[,c(1,4,5,6)] write.csv(cities, file) } ) }) 

interface:

 library(shiny) library(raster) library(rworldmap) library(rgdal) data("countriesCoarse") shinyUI(fluidPage( titlePanel("Where should you live according to your climate preferences?"), sidebarLayout( sidebarPanel( h3("Select your climate preferences"), p("Using worldclim database, and knowing your climate prefeneces, you can now using this tool get an idea of where in the world you should live."), p("Just use the sliders to anwer the simple questions we ask and you will get a map together with a downloadable table of where the climate suits you."), selectInput(inputId = "degrees", label = "Temp units:", choices = c("Celcius"= "Celcius", "Fahrenheit" = "Fahrenheit")), submitButton("Update View", icon("refresh")), conditionalPanel(condition = "input.degrees == 'Celcius'", sliderInput(inputId = "MaxTempC", label = "What the average maximum temperature you want to endure during the summer?", min = 0, max = 50, value = 30), sliderInput(inputId = "MinTempC", label = "What the average minimum temperature you want to endure during the winter?", min = -40, max = 60, value = 0), sliderInput(inputId = "RangeTempC", label = "What your prefered temperature range?", min = -10, max = 30, value = c(0, 20)), sliderInput(inputId = "RangePPC", label = "What your prefered precipitation range?", min = 0, max = 5000, value = c(0, 5000))), conditionalPanel(condition = "input.degrees == 'Fahrenheit'", sliderInput(inputId = "MaxTempF", label = "What the average maximum temperature you want to endure during the summer?", min = 0, max = 120, value = 90), sliderInput(inputId = "MinTempF", label = "What the average minimum temperature you want to endure during the winter?", min = -40, max = 60, value = 32), sliderInput(inputId = "RangeTempF", label = "What your prefered temperature range?", min = -40, max = 90, value = c(32, 70)), sliderInput(inputId = "RangePPF", label = "What your prefered precipitation range?", min = 0, max = 200, value = c(0, 200))), sliderInput(inputId = "Population", label = "how big of a town do you want to live in (Population)?", min = 0, max = 20000000, value = c(0, 20000000, by = 1))) , # Show a plot of the generated distribution mainPanel( plotOutput("distPlot"), downloadButton('downloadPlot', 'Download Plot'), dataTableOutput("visFun"), downloadButton('downloadData', 'Download Table') ) ) )) 

It is still so good, but when I try to change it to use the booklet map, it does not work very well, because the leaf map does not appear, I tried this:

Server:

 library(shiny) library(raster) library(rworldmap) library(rgdal) library(dplyr) library(leaflet) library(sp) data("countriesCoarse") uno <- readRDS("uno.rds") World <- getData('worldclim', var='bio', res=10) cities <- readRDS("cities.rds") shinyServer(function(input, output) { output$map <- renderLeaflet({ uno[World[[10]] > ifelse(input$degrees == "Celcius", (input$MaxTempC*10), (((input$MaxTempF-32)*5/9)*10))] <- NA uno[World[[11]] < ifelse(input$degrees == "Celcius", (input$MinTempC*10), (((input$MinTempF-32)*5/9)*10))] <- NA uno[World[[1]] < ifelse(input$degrees == "Celcius", min(input$RangeTempC*10), min(((input$RangeTempF-32)*5/9)*10))] <- NA uno[World[[1]] > ifelse(input$degrees == "Celcius", max(input$RangeTempC*10), max(((input$RangeTempF-32)*5/9)*10))] <- NA uno[World[[12]] < ifelse(input$degrees == "Celcius", min(input$RangePPC), min(input$RangePPF*25.4))] <- NA uno[World[[12]] > ifelse(input$degrees == "Celcius", max(input$RangePPC), max(input$RangePPF*25.4))] <- NA l <- leaflet() %>% setView(0, 0, zoom = 1) l <- l %>% addRasterImage(uno) l }) output$downloadPlot <- downloadHandler( filename = function() { paste("WhereToLive", '.png', sep='') }, content = function(file) { png(file) uno[World[[10]] > ifelse(input$degrees == "Celcius", (input$MaxTempC*10), (((input$MaxTempF-32)*5/9)*10))] <- NA uno[World[[11]] < ifelse(input$degrees == "Celcius", (input$MinTempC*10), (((input$MinTempF-32)*5/9)*10))] <- NA uno[World[[1]] < ifelse(input$degrees == "Celcius", min(input$RangeTempC*10), min(((input$RangeTempF-32)*5/9)*10))] <- NA uno[World[[1]] > ifelse(input$degrees == "Celcius", max(input$RangeTempC*10), max(((input$RangeTempF-32)*5/9)*10))] <- NA uno[World[[12]] < ifelse(input$degrees == "Celcius", min(input$RangePPC), min(input$RangePPF*25.4))] <- NA uno[World[[12]] > ifelse(input$degrees == "Celcius", max(input$RangePPC), max(input$RangePPF*25.4))] <- NA plot(uno, col ="red", legend = FALSE) plot(countriesCoarse, add = TRUE) dev.off() }) output$visFun <- renderDataTable({ uno[World[[10]] > ifelse(input$degrees == "Celcius", (input$MaxTempC*10), (((input$MaxTempF-32)*5/9)*10))] <- NA uno[World[[11]] < ifelse(input$degrees == "Celcius", (input$MinTempC*10), (((input$MinTempF-32)*5/9)*10))] <- NA uno[World[[1]] < ifelse(input$degrees == "Celcius", min(input$RangeTempC*10), min(((input$RangeTempF-32)*5/9)*10))] <- NA uno[World[[1]] > ifelse(input$degrees == "Celcius", max(input$RangeTempC*10), max(((input$RangeTempF-32)*5/9)*10))] <- NA uno[World[[12]] < ifelse(input$degrees == "Celcius", min(input$RangePPC), min(input$RangePPF*25.4))] <- NA uno[World[[12]] > ifelse(input$degrees == "Celcius", max(input$RangePPC), max(input$RangePPF*25.4))] <- NA cities$exists <- extract(uno, cities[,2:3]) cities <- filter(cities, exists == 1) cities <- cities[,c(1,4,5,6)] cities <- filter(cities, pop > min(as.numeric(as.character(input$Population)))) cities <- filter(cities, pop < max(as.numeric(as.character(input$Population)))) cities }) output$downloadData <- downloadHandler( filename = function() { paste("cities", '.csv', sep='') }, content = function(file) { uno[World[[10]] > ifelse(input$degrees == "Celcius", (input$MaxTempC*10), (((input$MaxTempF-32)*5/9)*10))] <- NA uno[World[[11]] < ifelse(input$degrees == "Celcius", (input$MinTempC*10), (((input$MinTempF-32)*5/9)*10))] <- NA uno[World[[1]] < ifelse(input$degrees == "Celcius", min(input$RangeTempC*10), min(((input$RangeTempF-32)*5/9)*10))] <- NA uno[World[[1]] > ifelse(input$degrees == "Celcius", max(input$RangeTempC*10), max(((input$RangeTempF-32)*5/9)*10))] <- NA uno[World[[12]] < ifelse(input$degrees == "Celcius", min(input$RangePPC), min(input$RangePPF*25.4))] <- NA uno[World[[12]] > ifelse(input$degrees == "Celcius", max(input$RangePPC), max(input$RangePPF*25.4))] <- NA cities$exists <- extract(uno, cities[,2:3]) cities <- filter(cities, exists == 1) cities <- filter(cities$pop > min(input$Population)) cities <- filter(cities$pop < max(input$Population)) cities <- cities[,c(1,4,5,6)] write.csv(cities, file) } ) }) 

and

interface:

 library(shiny) library(raster) library(rworldmap) library(rgdal) library(leaflet) data("countriesCoarse") shinyUI(fluidPage( titlePanel("Where should you live according to your climate preferences?"), sidebarLayout( sidebarPanel( h3("Select your climate preferences"), p("Using worldclim database, and knowing your climate prefeneces, you can now using this tool get an idea of where in the world you should live."), p("Just use the sliders to anwer the simple questions we ask and you will get a map together with a downloadable table of where the climate suits you."), selectInput(inputId = "degrees", label = "Temp units:", choices = c("Celcius"= "Celcius", "Fahrenheit" = "Fahrenheit")), submitButton("Update View", icon("refresh")), conditionalPanel(condition = "input.degrees == 'Celcius'", sliderInput(inputId = "MaxTempC", label = "What the average maximum temperature you want to endure during the summer?", min = 0, max = 50, value = 30), sliderInput(inputId = "MinTempC", label = "What the average minimum temperature you want to endure during the winter?", min = -40, max = 60, value = 0), sliderInput(inputId = "RangeTempC", label = "What your prefered temperature range?", min = -10, max = 30, value = c(0, 20)), sliderInput(inputId = "RangePPC", label = "What your prefered precipitation range?", min = 0, max = 5000, value = c(0, 5000))), conditionalPanel(condition = "input.degrees == 'Fahrenheit'", sliderInput(inputId = "MaxTempF", label = "What the average maximum temperature you want to endure during the summer?", min = 0, max = 120, value = 90), sliderInput(inputId = "MinTempF", label = "What the average minimum temperature you want to endure during the winter?", min = -40, max = 60, value = 32), sliderInput(inputId = "RangeTempF", label = "What your prefered temperature range?", min = -40, max = 90, value = c(32, 70)), sliderInput(inputId = "RangePPF", label = "What your prefered precipitation range?", min = 0, max = 200, value = c(0, 200))), sliderInput(inputId = "Population", label = "how big of a town do you want to live in (Population)?", min = 0, max = 20000000, value = c(0, 20000000, by = 1))) , # Show a plot of the generated distribution mainPanel( leafletOutput("map", width = "100%", height = "100%"), downloadButton('downloadPlot', 'Download Plot'), dataTableOutput("visFun"), downloadButton('downloadData', 'Download Table') ) ) )) 

This does not cause any errors, but the map is not rendering, and I have the following warnings

 Listening on http://127.0.0.1:7231 Warning in rgdal::rawTransform(projfrom, projto, nrow(xy), xy[, 1], xy[, : 54 projected point(s) not finite Warning in rgdal::rawTransform(projfrom, projto, nrow(xy), xy[, 1], xy[, : 54 projected point(s) not finite Warning in rgdal::rawTransform(projfrom, projto, nrow(xy), xy[, 1], xy[, : 54 projected point(s) not finite 
+6
source share
1 answer

The problem is the height your chart, which cannot be relative.

Just replace it with an absolute value and it will be displayed, for example:

 leafletOutput("map", width = "100%", height = 400) 
+2
source

All Articles