library(sf)
library(dplyr)
library(rmapshaper)
library(ggplot2)

Nombres de distritos del Perú

1874 distritos, 196 provincias, 25 regiones.

Los nombres han sido modificados para no contener letras con acentos (e.g. "ñ") o símbolos (e.g. "_").

Shapefiles y geometrías del Perú

Al 03/01/2021, Perú tiene 1874 distritos. La información debe provenir del MINAM, sin embargo, al momento de redacción los archivos no son accesibles: https://geoservidor.minam.gob.pe/recursos/intercambio-de-datos/

Los shapefiles oficiales disponibles son:

El archivo "shp_PER_adm3.Rdata", accesible desde la libreria/paquete de InnovaLab, tiene 1874 distritos generados a partir de los datos de GEOGPSPerú 2.

Por motivos de espacio, el archivo solo conserva el 10% de los polígonos originales (reduciendo el tamaño del archivo de ~60mb a ~1mb).

shp <- st_read("../WIP/Poblacion_Estimada_2020_por_distrito_GEO_GPS_PERU_Juan_Pablo_Suyo_Pomalia_931381206", 
        stringsAsFactors = F) %>% dplyr::select(reg.code=CCDD,reg=NOMBDEP,
                                                prov.code=CCPP,prov=NOMBPROV,
                                                distr.code=CCDI,distr=NOMBDIST,
                                                capital=CAPITAL,ubigeo=UBIGEO,
                                                geometry)%>% 
  # st_transform(4326) %>% 
  ms_simplify(keep=0.1,keep_shapes=T) %>%
  dplyr::mutate(ubigeo = replace(ubigeo,ubigeo=="150144","150118"))%>%
  dplyr::group_by(ubigeo) %>% 
  dplyr::summarize(geometry = st_union(geometry)) %>% ungroup() %>%
  left_join(st_read("../WIP/Poblacion_Estimada_2020_por_distrito_GEO_GPS_PERU_Juan_Pablo_Suyo_Pomalia_931381206", 
             stringsAsFactors = F)%>% as.data.frame(.) %>% dplyr::select(reg.code=CCDD,reg=NOMBDEP,
                                                     prov.code=CCPP,prov=NOMBPROV,
                                                     distr.code=CCDI,distr=NOMBDIST,
                                                     capital=CAPITAL,ubigeo=UBIGEO))


shp <- shp %>%
  mutate(distr =gsub("_", " ",
                     gsub("-", " ", iconv(distr,
                                          from="UTF-8",
                                          to="ASCII//TRANSLIT"), 
                          fixed=TRUE),
                     fixed=TRUE),
         prov = iconv(prov,
                      from="UTF-8",
                      to="ASCII//TRANSLIT"),
         reg = iconv(reg,
                     from="UTF-8",
                     to="ASCII//TRANSLIT"),
         distr = ifelse(distr=="HUAYA","HUALLA",
                      ifelse(distr=="MAZAMARI   PANGOA","MAZAMARI",
                             ifelse(distr=="LARAOS" & prov=="HUAROCHIRI","SAN PEDRO DE LARAOS",distr))),
         distr=gsub("?", "",distr, 
                          fixed=TRUE),
         distr= replace(distr,distr=="HUAYLLO" & prov=="AYMARAES","IHUAYLLO"))

saveRDS(shp,"./shp_PER_adm3.Rdata")  


healthinnovation/lis documentation built on June 19, 2024, 6:06 a.m.