Ho creato una mappa semplice volantino in lucido dove il lucido server.R
assomiglia a questo:Come velocizzare opuscolo sul server lucido
(si prega di ottenere l'RDS-dati da Dropbox per esempio riproducibile)
Server.R
test_polygons <- readRDS('test_polygons.RDS') # Sind die Polygon-Shapefiles transformiert auf WGS84 für Bezirke
#some merging....
#we use sample data instead
[email protected]$sample <- runif(nrow([email protected]))
#Create some nice popups
world_popup <- function(modell){
niveau <- [email protected][, modell]
probs <- seq(0, 1, length.out = 5 + 1)
niveau <- cut(niveau, breaks=quantile(niveau, probs, na.rm = TRUE, names = FALSE), labels=paste('level', 0:4), include.lowest = TRUE)
niveau <- as.character(niveau)
niveau <- factor(niveau, labels=)
paste0("<strong>Bezirk: </strong>",
as.character([email protected]$ID),
"<br><strong><br>",
"</strong>",
"<strong>Level: </strong>",
niveau
)
}
tiles <- "http://{s}.tile.stamen.com/toner-lite/{z}/{x}/{y}.png"
attribution <- 'Map tiles by <a target="_blank" href="http://stamen.com">Stamen Design</a>, under <a target="_blank" href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a>. Map data by <a target="_blank" href="http://www.naturalearthdata.com/">Natural Earth</a>.'
# produce the leaflet map ====
pal <- colorQuantile("YlOrRd", NULL, n = 5)
m.sample <- leaflet(data = test_polygons) %>%
addTiles(urlTemplate = tiles,
attribution = attribution) %>%
setView(13.782778, 47.61, zoom = 7) %>%
addPolygons(fillColor = ~pal(test_polygons$sample),
fillOpacity = 0.8,
color = "#000000",
weight = 1,
popup = world_popup('sample'))
# start the server part
server <- function(input, output, session) {
output$query <- renderText({
as.character(parseQueryString(session$clientData$url_search))
})
output$mymap <- renderLeaflet({
m.sample
})
}
ui.R
Mentre l'interfaccia utente è abbastanza semplice:
require(leaflet)
require(shiny)
ui <- fluidPage(
column(width=12,
leafletOutput("mymap", height="200px")#, height="700px")
)
)
Questo funziona bene sul mio computer desktop. Tuttavia, non appena provo ad accedervi sul mio server, il leaflet-map si carica lentamente. Soprattutto se modifico l'altezza, per esempio, al 100% non si blocca affatto. Quindi ecco le mie domande:
- Come velocizzare il processo di caricamento.
- E 'possibile caricare alcune parti in anticipo poiché tutto è reattivo in questo contesto.
- Posso creare una mappa che è indipendente dal lucido - probabilmente questo si sta caricando più velocemente.
- È possibile che i miei poligoni abbiano molti dettagli?
Grazie mille per il vostro aiuto!
Penso che il poligono sia enorme per un'applicazione web. Prova a semplificare prima il poligono e vedi se migliora. –
si può dare un'occhiata a mapview, costruito su foglio illustrativo, ma più veloce con set di dati di grandi dimensioni (penso che utilizzino js con set di dati più grandi) – MLavoie