Obtener Red Vial Departamental del Perú
Source:R/get_red_vial_departamental.R
get_red_vial_departamental.RdDescarga y carga la información de la Red Vial Departamental actualizada por PROVÍAS NACIONAL a julio 2022, según Clasificador de Rutas aprobado mediante Decreto Supremo 011-2016-MTC y sus modificatorias. Los datos incluyen geometría tipo MULTILINESTRING e información sobre trayectorias, estado y superficie de las carreteras departamentales. Permite filtrado escalonado por departamento y provincia.
Usage
get_red_vial_departamental(
departamento = NULL,
provincia = NULL,
show_progress = TRUE,
force_update = FALSE
)Arguments
- departamento
Character vector. Nombre(s) del/los departamento(s) a descargar. Opciones válidas: "AMAZONAS", "ANCASH", "APURIMAC", "AREQUIPA", "AYACUCHO", "CAJAMARCA", "CALLAO", "CUSCO", "HUANCAVELICA", "HUANUCO", "ICA", "JUNIN", "LA LIBERTAD", "LAMBAYEQUE", "LIMA", "LORETO", "MADRE DE DIOS", "MOQUEGUA", "PASCO", "PIURA", "PUNO", "SAN MARTIN", "TACNA", "TUMBES", "UCAYALI". No distingue entre mayúsculas y minúsculas. Si es
NULL, muestra la lista de departamentos disponibles.- provincia
Character vector. Nombre(s) de la(s) provincia(s) para filtrar dentro del/los departamento(s) especificado(s). Opcional.
- show_progress
Logical. Si
TRUE(por defecto), muestra mensajes informativos sobre el progreso de la descarga. SiFALSE, ejecuta de forma silenciosa.- force_update
Logical. Si
TRUE, fuerza una nueva descarga del archivo incluso si existe en caché. Por defectoFALSE.
Value
Un objeto sf (simple feature) con geometría tipo MULTILINESTRING
que contiene información de la red vial departamental, incluyendo:
Geometría MULTILINESTRING (trayectoria de la vía)
nombdep: Nombre del departamentonombprov: Nombre de la provinciatrayectori: Descripción de la trayectoria de la rutaiddpto: Código del departamentojerarq: Jerarquía de la ruta (RD = Red Departamental)estado: Estado numérico de la vía (1, 2, 3, 4)codruta: Código de la ruta (ej. PI-102, CU-105)superfic: Código de tipo de superficie (1-4)longitud: Longitud del tramo en kilómetrosestado_l: Estado descriptivo (BUENO, REGULAR, MALO)superfic_l: Tipo de superficie (PAVIMENTADO, AFIRMADO, SIN AFIRMAR, TROCHA)
Si se solicitan múltiples departamentos, retorna un objeto sf combinado.
Details
La función descarga datos desde OSF (Open Science Framework) y los almacena en caché durante la sesión de R. Los datos están en formato GeoPackage (.gpkg).
Fuente de los datos:
Fuente: PROVÍAS NACIONAL - Ministerio de Transportes y Comunicaciones
Actualización: Julio 2022
Base legal: Decreto Supremo 011-2016-MTC y modificatorias
Nivel: Red Vial Departamental
Aplicación: Planificación vial y análisis de conectividad territorial
Clasificación de superficie:
1 = PAVIMENTADO
2 = AFIRMADO
3 = SIN AFIRMAR
4 = TROCHA
Clasificación de estado:
1 = BUENO
2 = REGULAR
3 = MALO
4 = MUY MALO
Filtrado jerárquico: Los filtros se aplican en cascada:
Primero se cargan los departamentos especificados
Luego se filtran las provincias (si se especifican)
El caché se almacena en: tempdir()/DEMARCA_cache/red_vial_departamental/
NOTA: Las geometrías son tipo MULTILINESTRING (multilíneas) y representan las trayectorias de las carreteras departamentales.
References
PROVÍAS NACIONAL - MTC. Base Cartográfica de la Red Vial Nacional 2022.
Decreto Supremo 011-2016-MTC - Clasificador de Rutas del Sistema Nacional de Carreteras (SINAC).
Repositorio DEMARCA en OSF: https://osf.io/qy4j6/
Examples
if (FALSE) { # \dontrun{
# Ver departamentos disponibles
get_red_vial_departamental()
# Cargar red vial de un departamento completo
vias_cusco <- get_red_vial_departamental(departamento = "CUSCO")
# Filtrar por provincia específica
vias_cusco_prov <- get_red_vial_departamental(
departamento = "CUSCO",
provincia = "CUSCO"
)
# Cargar múltiples departamentos
vias_sur <- get_red_vial_departamental(
departamento = c("CUSCO", "PUNO", "AREQUIPA")
)
# Visualización con ggplot2
library(ggplot2)
library(dplyr)
# Mapa de red vial por tipo de superficie
ggplot(vias_cusco) +
geom_sf(aes(color = superfic_l), linewidth = 0.8) +
scale_color_manual(
values = c(
"PAVIMENTADO" = "darkblue",
"AFIRMADO" = "darkgreen",
"SIN AFIRMAR" = "orange",
"TROCHA" = "brown"
),
name = "Tipo de Superficie"
) +
labs(
title = "Red Vial Departamental de Cusco",
subtitle = "Por Tipo de Superficie - PROVÍAS 2022",
caption = "Fuente: PROVÍAS NACIONAL | Visor - SDOT"
) +
theme_minimal()
# Mapa por estado de conservación
ggplot(vias_cusco) +
geom_sf(aes(color = estado_l), linewidth = 1) +
scale_color_manual(
values = c(
"BUENO" = "darkgreen",
"REGULAR" = "orange",
"MALO" = "red"
),
name = "Estado"
) +
labs(
title = "Estado de Conservación de la Red Vial",
subtitle = "Departamento de Cusco",
caption = "Fuente: PROVÍAS NACIONAL | Visor - SDOT"
) +
theme_minimal()
# Análisis de longitud por tipo de superficie
vias_cusco |>
st_drop_geometry() |>
group_by(superfic_l) |>
summarise(
total_km = sum(longitud, na.rm = TRUE),
n_tramos = n(),
km_promedio = mean(longitud, na.rm = TRUE)
) |>
arrange(desc(total_km))
# Análisis por estado y superficie
vias_cusco |>
st_drop_geometry() |>
group_by(estado_l, superfic_l) |>
summarise(
longitud_total = sum(longitud, na.rm = TRUE),
.groups = "drop"
) |>
arrange(desc(longitud_total))
# Filtrar vías pavimentadas en buen estado
vias_buenas <- vias_cusco |>
filter(superfic_l == "PAVIMENTADO", estado_l == "BUENO")
# Análisis por provincia
vias_cusco |>
st_drop_geometry() |>
group_by(nombprov) |>
summarise(
longitud_total = sum(longitud, na.rm = TRUE),
n_rutas = n_distinct(codruta),
.groups = "drop"
) |>
arrange(desc(longitud_total))
# Visualizar una provincia específica
vias_prov <- vias_cusco |>
filter(nombprov == "CUSCO")
ggplot(vias_prov) +
geom_sf(aes(color = codruta), linewidth = 1.2) +
labs(
title = "Red Vial de la Provincia de Cusco",
subtitle = "Códigos de Ruta",
caption = "Fuente: PROVÍAS NACIONAL"
) +
theme_minimal() +
theme(legend.position = "right")
# Estadísticas generales
vias_cusco |>
st_drop_geometry() |>
summarise(
longitud_total = sum(longitud, na.rm = TRUE),
n_rutas = n_distinct(codruta),
n_provincias = n_distinct(nombprov),
km_pavimentado = sum(longitud[superfic_l == "PAVIMENTADO"], na.rm = TRUE),
pct_pavimentado = (km_pavimentado / longitud_total) * 100
)
} # }