Mapa de Rezagos de Manuel Cavazos

#Directorio
#setwd("C:/Users/manue/Documents/Rezago")

# datos <- read.csv("datos_3.csv")


#Leaflet Map of Social Backwardness

library(leaflet)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
#library(ggmap)
#library(rgdal)
library(htmltools)
#library(mapview)
#library(htmlwidgets)
library(sf)
## Linking to GEOS 3.6.1, GDAL 2.1.3, PROJ 4.9.3
#Load counties shape file.
#load data
#library(raster)

estados <- st_read("https://github.com/JuveCampos/MexicoSinIslas/raw/master/Sin_islas.geojson")
## Reading layer `OGRGeoJSON' from data source `https://github.com/JuveCampos/MexicoSinIslas/raw/master/Sin_islas.geojson' using driver `GeoJSON'
## Simple feature collection with 32 features and 7 fields
## geometry type:  POLYGON
## dimension:      XY
## bbox:           xmin: -117.1264 ymin: 14.53401 xmax: -86.74038 ymax: 32.71877
## epsg (SRID):    4326
## proj4string:    +proj=longlat +datum=WGS84 +no_defs
datos <- read.csv("/Users/admin/Downloads/datos_3.csv"
                  #, encoding = "UTF-8"
                  )
##Filtered Data

datos_muy_alto <- datos %>%
  filter(gdo_rez == "Muy alto") %>%
  filter(pobtot >=1000 & pobtot <=5000)

datos_alto <- datos %>%
  filter(gdo_rez == "Alto") %>%
  filter(pobtot >=1000 & pobtot <=5000)

datos_medio <- datos %>%
  filter(gdo_rez == "Medio") %>%
  filter(pobtot >=1000 & pobtot <=5000)

datos_bajo <- datos %>%
  filter(gdo_rez == "Bajo") %>%
  filter(pobtot >=1000 & pobtot <=5000)

datos_muy_bajo <- datos %>%
  filter(gdo_rez == "Muy bajo") %>%
  filter(pobtot >=1000 & pobtot <=5000)

##Labaels

#Create label for solved cases
#Rezago muy Alto
datos_muy_alto$label <- paste("<p>", datos_muy_alto$nom_ent, "</p>", #no mames
                              "<p>", datos_muy_alto$nom_mun, "</p>",
                              "<p>", datos_muy_alto$nom_loc, "</p>",
                              "<p>", datos_muy_alto$pobtot, "</p>",
                              "<p>", datos_muy_alto$i_cel, "</p>",
                              "<p>", datos_muy_alto$lici, "</p>",
                               sep="")


datos_alto$label <- paste("<p>", datos_alto$nom_ent, "</p>",
                          "<p>", datos_alto$nom_mun, "</p>",
                          "<p>", datos_alto$nom_loc, "</p>",
                          "<p>", datos_alto$pobtot, "</p>",
                          "<p>", datos_alto$i_cel, "</p>",
                          "<p>", datos_alto$lici, "</p>",
                          sep="")

                       

datos_medio$label <- paste("<p>", datos_medio$nom_ent, "</p>",
                           "<p>", datos_medio$nom_mun, "</p>",
                           "<p>", datos_medio$nom_loc, "</p>",
                           "<p>", datos_medio$pobtot, "</p>",
                           "<p>", datos_medio$i_cel, "</p>",
                           "<p>", datos_medio$lici, "</p>",
                            sep="")

datos_bajo$label <- paste("<p>", datos_bajo$nom_ent, "</p>",
                          "<p>", datos_bajo$nom_mun, "</p>",
                          "<p>", datos_bajo$nom_loc, "</p>",
                          "<p>", datos_bajo$pobtot, "</p>",
                          "<p>", datos_bajo$i_cel, "</p>",
                          "<p>", datos_bajo$lici, "</p>",
                          sep="")

datos_muy_bajo$label <- paste("<p>", datos_muy_bajo$nom_ent, "</p>",
                              "<p>", datos_muy_bajo$nom_mun, "</p>",
                              "<p>", datos_muy_bajo$nom_loc, "</p>",
                              "<p>", datos_muy_bajo$pobtot, "</p>",
                              "<p>", datos_muy_bajo$i_cel, "</p>",
                              "<p>", datos_muy_bajo$lici, "</p>",
                              sep="")


m <- leaflet() %>%
  setView(lng = -102, lat = 23, zoom = 4) %>%
  addProviderTiles(providers$Esri.WorldTerrain) %>%
  addPolygons(data = estados,
              color = "#660000", 
              weight = 1, 
              smoothFactor = 0.5) %>%
  addCircleMarkers(lng = datos_muy_alto$long, 
                   lat = datos_muy_alto$lat,
                   color = "red",
                   weight = 1,
                   radius = 4,
                   fillOpacity = 1,
                   group = "Muy alto",
                   label = lapply(datos_muy_alto$label, HTML)) %>%
  addCircleMarkers(lng = datos_alto$long, 
                   lat = datos_alto$lat,
                   color = "orange",
                   weight = 1,
                   radius = 4,
                   fillOpacity = 1,
                   group = "Alto",
                   label = lapply(datos_alto$label, HTML))  %>%
  addCircleMarkers(lng = datos_medio$long, 
                   lat = datos_medio$lat,
                   color = "yellow",
                   weight = 1,
                   radius = 4,
                   fillOpacity = 1,
                   group = "Medio",
                   label = lapply(datos_medio$label, HTML))%>%
  addCircleMarkers(lng = datos_bajo$long, 
                   lat = datos_bajo$lat,
                   color = "green",
                   weight = 1,
                   radius = 4,
                   fillOpacity = 1,
                   group = "Bajo",
                   label = lapply(datos_bajo$label, HTML)) %>%
  addCircleMarkers(lng = datos_muy_bajo$long, 
                   lat = datos_muy_bajo$lat,
                   color = "blue",
                   weight = 1,
                   radius = 4,
                   fillOpacity = 1,
                   group = "Muy bajo", 
                   label = lapply(datos_muy_bajo$label, HTML)) %>%
  addLayersControl(overlayGroups = c("Muy alto", "Alto", "Medio", "Bajo", "Muy bajo"),
                   options = layersControlOptions(collapsed=F))

m
#saveRDS(m, "Users/admin/Downloads/")

#save dynamic version of map
#library(webshot)
#install_phantomjs()

#library(htmlwidgets)
#saveWidget(m, file = "localidades_rezago_1000_5000.html")