Ola jtrecenti,
Obrigado pela sugestão, eu rodo essa função só uma vez na hora de carregar os banco de dados, depois dentro do app eu chamo sempre o objeto simplified_shape_mun que é o meu dataframe já simplificado.
Agora que resolvi o problema da simplificação, tenho um segundo problema, ou seja, pra não carregar os mapas cada vez que aperto o botão confirmar dos meus inputs de entrada eu vi que existe o LeafletProxy.
Tentei implementá-lo mas não consigo que funcione.
o meu código é:
quintiles = unique(quantile(df_mapa$Tx_weight, probs = (0:5)/5,na.rm = T))
pal_mortalidade <- colorBin("YlOrRd", domain = df_mapa$Tx_weight, bins = quintiles)
labels <- sprintf(
"<strong>%s</strong><br/>%g Taxa </sup>",
df_mapa$UF,df_mapa$Tx_weight) %>% lapply(htmltools::HTML)
mortalidade <- leaflet(df_mapa, options = leafletOptions(minZoom = 3,zoomSnap = 0.1,zoomDelta =
0.1) ) %>% addTiles() %>% addPolygons(
fillColor = ~pal_mortalidade(df_mapa$Tx_weight),
weight = 0.5,
opacity = 1,
color = "white",
dashArray = "3",
fillOpacity = 0.7,
label = labels,
layerId = ~UF,
highlightOptions = highlightOptions(color = "black", weight = 2,
bringToFront = TRUE)) %>%
addResetMapButton() %>% addLegend(pal = pal_mortalidade, values = ~variavel, opacity = 0.7,
title = NULL,position = "bottomright")%>%
onRender(
"function(el, x) {
L.easyPrint({
sizeModes: ['Current', 'A4Landscape', 'A4Portrait'],
filename: 'mymap',
exportOnly: true,
hideControlContainer: false
}).addTo(this);
}"
)
output$plot_mapa_mortalidade <- renderLeaflet({
mortalidade
})
observeEvent(mortalidade, {
leafletProxy("plot_mapa_mortalidade", data = mortalidade) %>%
setShapeStyle(layerId = ~estado_cod, fillColor=~pal_mortalidade$Tx_weight, color = white)
})
Obrigado
Alberto Sironi