Использование множества маркеров с листовкой в сочетании с блестящим сервером
Я разработал Shiny-приложение, в котором я использую пакет листовки для построения большого числа точек (~25 000) на географическом фоне. Когда я запускаю приложение из R-studio, все работает очень хорошо. На этом же сервере у меня работает блестящий сервер. Я размещаю несколько приложений на этом сервере без каких-либо проблем. Я развернул приложение на глянцевом сервере, чтобы сделать его доступным для конечных пользователей.
Проблема
На глянце-сервере похоже, что у приложения есть проблемы с обработкой количества маркеров (~25.000). Приложение "зависает", я ничего не могу сделать, но перезапустить приложение. С меньшим количеством точек (<10.000) проблем нет.
Я не мог найти эту проблему где-либо еще.
Есть идеи, что это за проблема и как ее решить?
Вот мой код, который я использовал для проверки проблемы
shinyServer(function(input, output) {
# Deel Interactive Map
plot_data <- reactive({
columns <- c("lng",
"lat",
"perc_gtv");
dt_installaties[1:input$nr_points,
columns,
with=FALSE];
})
output$map_branche <- renderLeaflet({
leaflet() %>%
setView(lng = 5.5,
lat = 52.5,
zoom = 8) %>%
addProviderTiles("OpenStreetMap.HOT")
})
# Observer that changes the markers as the nr of points is
# being changed
observe({
pal <- colorBin(palette = c("red","green"),
domain = c(0,200),
bins = 7)
leafletProxy("map_branche",
data = plot_data()) %>%
clearMarkers() %>%
addCircleMarkers(
lng = ~lng,
lat = ~lat,
color = ~pal(perc_gtv),
fillOpacity = 0.9)
})
})
shinyUI(
fluidPage(
fluidRow(
numericInput(
"nr_points",
label = h4("Points to plot"),
value = 5000,
min = 1,
max = nrow(dt_installaties)
)
),
mainPanel(
leafletOutput("map_branche")
)
)
)
Моя конфигурация
- платформа: x86_64-redhat-linux-gnu
- R: 3.2.2 R-studio: 0.98.1103
- Leaflet: 1.0.0
- Блестящий: 0.12.2
- Shiny-сервер: публичная / бесплатная версия