EVOLUTION-MANAGER
Edit File: app.R
# Repositorio: mapplet-r-gpm # GrupoFMO (c) 2020 # Cliente: Gobierno Provincial de Manabí # Script para cargar proyectos múltiples # app.R -> Archivo para producción # 02/09/2020 13:02 library(tidyverse) library(leaflet) library(sf) library(shiny) library(shinyjs) library(RCurl) library(dplyr) library(ggplot2) library(rjson) library(RColorBrewer) library(digest) #library(here) #library(widgetframe) setwd('/srv/shiny-server/Manabi_proyectos') mnb <- st_read("./data/Manabi.geojson", quiet = T) rss <- c("PORTOVIEJO", "ROCAFUERTE", "SANTA ANA", "JAMA", "PEDERNALES", "EL CARMEN", "CHONE", "PUERTO LÓPEZ", "JIPIJAPA", "MONTECRISTI", "24 DE MAYO", "PICHINCHA", "SUCRE", "MANTA", "JARAMIJÓ", "TOSAGUA", "JUNÍN", "SAN VICENTE", "OLMEDO", "FLAVIO ALFARO", "PAJÁN", "BOLÍVAR") #Lectura del archivo con los datos datos <- read.table('./data/datos_cantones.csv', sep=",", header = TRUE) #datos #Se lo convierte a data frame df <- data.frame(datos) #setwd('~/solinf/proyectos/gpm/mapplet-r-gpm/Manabi_proyectos') puentes <- st_read("./data/Puentes_manabi.geojson", quiet = T) ui <- fluidPage( titlePanel(""), mainPanel( leafletOutput("map") ) ) server <- function(input, output) { mnb$region <- ifelse(test = mnb$DPA_DESCAN %in% rss, yes = "Cantones objetivo", no = "Resto de cantones") mnb$datos_cantones <- ifelse(test = mnb$DPA_CANTON %in% df$dpa_canton, yes = "Cabeceras", no = "Nada") popup_cantones <- paste0("<strong>Cabecera cantonal</strong><br />", df$cabecera, "<br /> Población: ", df$poblacion ) #pal = colorFactor(palette = c("purple", "gray"), # domain = mnb$region) # Cantones mnb$edoMultiple <- case_when(mnb$region == "Cantones objetivo" ~ str_to_title(mnb$DPA_DESCAN), mnb$region != "Cantones objetivo" ~ "Resto de cantones") # Paleta pal2 <- colorFactor(palette = c( "yellow", #Portoviejo "#6d5f99", #Rocafuerte "#9f8f12", #Santa Ana "#3691a4", #Jama "#ccb22b", #Pedernales "#27697b", #El Carmen "gray", #Resto de cantones "#5faa85", #Chone "#87c6c6", #Puerto López "#c0a521", #Jipijapa "#34aabc", #Montecristi "yellow", #24 de Mayo "blue", #Pichincha "red", #Sucre "green", #Manta "#4f887a", #Jaramijó "#924aab", #Tosagua "#8a8a8a", #Junín "#4a4a4a", #San Vicente "#454f4f", #Olmedo "#2a2a2a", #Flavio alfaro "#1f4f2f", #Paján "#42fa32"), #Bolívar domain = mnb$edoMultiple) etiquetas <- sprintf( "<strong>%s</strong>", mnb$edoMultiple ) %>% lapply(htmltools::HTML) output$map <- renderLeaflet({ # Mapa #leaflet(mnb) %>% # addProviderTiles("CartoDB.Positron") %>% # addPolygons(color = "white", # dashArray = c(1,1), # fillOpacity = 0.85, # weight = 2, # fillColor = pal(mnb$region)) %>% # addLegend(title = "Leyenda", # position = "bottomright", # colors = "purple", # labels = "Cantones objetivo" # ) iconos <- awesomeIcons( icon = 'road', iconColor = "orange", markerColor = "lightgray", library = 'fa' ) popup_puentes <- paste0("<strong>",puentes$DESCRIPCIÓN.DEL.PROYECTO,"<br />Monto: </strong>", puentes$MONTO, "<br /><strong>Longitud: </strong>", puentes$LONGITUD.DE.PUENTES..m., " km<br /><strong>Cantón: </strong>", puentes$CANTÓN, "<br/><strong>Parroquia: </strong>", puentes$PARROQUIA) #puentes$DESCRIPCIÓN.DEL.PROYECTO leaflet(mnb, options = leafletOptions(zoomControl = TRUE)) %>% addProviderTiles("CartoDB.Positron") %>% addPolygons(stroke = TRUE, color = "white", dashArray = c(1,1), label = etiquetas, fillOpacity = 0.95, weight = 2, fillColor = "lightgreen", #pal2(mnb$edoMultiple), popup = ~popup_cantones)%>% #addLegend(title = "Cantones", # position = "bottomright", # colors = "green", #opacity = 1, #pal = pal2, #Muestra el listado de cantones #values = mnb$edoMultiple[mnb$edoMultiple != "Resto de cantones"], # labels = "Cantones objetivo")%>% addAwesomeMarkers(data = puentes, popup = ~popup_puentes, icon = iconos) #addMarkers(data = puentes, # popup = ~popup_puentes) }) } shinyApp(ui, server = server)