En este R notebook se va a ilustrar como calcular atributos geomorfometricos del terreno de Bolivar a partir de modelos de elevación digitales cuadrculados.
library(terra)
library(sf)
library(leaflet)
library(elevatr)
library(exactextractr)
library(MultiscaleDTM)
list.files("./Bolivar")
## [1] "AREAS.gpkg" "cities2.gpkg"
## [3] "DEPTO_BOLIVAR.gpkg" "Elevacion_Bolivar.tif"
## [5] "Examen2.nb.html" "LINEAS.gpkg"
## [7] "Municipios_Bolivar.gpkg" "VIAS.gpkg"
En este análisis podemos observar
Superposición de datos: Se van a superponer los municipios con la elevación para analizar qué municipios tienen terrenos más accidentados.
Análisis de Accesibilidad: Usando VIAS.gpkg, se va a calcular la distancia de cada municipio a la vía más cercana.
Cálculo de Pendientes: Si el archivo Elevacion_Bolivar.tif es un DEM, se va a calcular la pendiente de toda la región y luego extraer los valores medios para cada municipio.
Mapas y Visualización: Se crearán mapas temáticos mostrando la pendiente media por municipio, la ubicación de las ciudades, y la infraestructura vial.
(dem = terra::rast("Bolivar/Elevacion_Bolivar.tif"))
## class : SpatRaster
## dimensions : 456, 292, 1 (nrow, ncol, nlyr)
## resolution : 0.008333333, 0.008333333 (x, y)
## extent : -76.18333, -73.75, 7, 10.8 (xmin, xmax, ymin, ymax)
## coord. ref. : lon/lat WGS 84
## source : Elevacion_Bolivar.tif
## name : Elevacion_Bolivar
dem2 = terra::aggregate(dem,2, "mean")
list.files("./Bolivar")
## [1] "AREAS.gpkg" "cities2.gpkg"
## [3] "DEPTO_BOLIVAR.gpkg" "Elevacion_Bolivar.tif"
## [5] "Examen2.nb.html" "LINEAS.gpkg"
## [7] "Municipios_Bolivar.gpkg" "VIAS.gpkg"
munic <- sf::st_read("Bolivar/Municipios_Bolivar.gpkg")
## Reading layer `municipios_corregidos__municipios_col' from data source
## `C:\Users\Tecnologia\OneDrive\Escritorio\EXAMEN2\Bolivar\Municipios_Bolivar.gpkg'
## using driver `GPKG'
## Simple feature collection with 46 features and 11 fields
## Geometry type: MULTIPOLYGON
## Dimension: XY
## Bounding box: xmin: -76.19063 ymin: 6.99916 xmax: -73.74578 ymax: 10.80147
## Geodetic CRS: MAGNA-SIRGAS
munic
## Simple feature collection with 46 features and 11 fields
## Geometry type: MULTIPOLYGON
## Dimension: XY
## Bounding box: xmin: -76.19063 ymin: 6.99916 xmax: -73.74578 ymax: 10.80147
## Geodetic CRS: MAGNA-SIRGAS
## First 10 features:
## dpto_ccdgo mpio_ccdgo mpio_cdpmp dpto_cnmbr mpio_cnmbr
## 1 13 001 13001 BOLÍVAR CARTAGENA DE INDIAS
## 2 13 006 13006 BOLÍVAR ACHÍ
## 3 13 030 13030 BOLÍVAR ALTOS DEL ROSARIO
## 4 13 042 13042 BOLÍVAR ARENAL
## 5 13 052 13052 BOLÍVAR ARJONA
## 6 13 062 13062 BOLÍVAR ARROYOHONDO
## 7 13 074 13074 BOLÍVAR BARRANCO DE LOBA
## 8 13 140 13140 BOLÍVAR CALAMAR
## 9 13 160 13160 BOLÍVAR CANTAGALLO
## 10 13 188 13188 BOLÍVAR CICUCO
## mpio_crslc mpio_tipo mpio_narea mpio_nano
## 1 1599 MUNICIPIO 598.7197 2023
## 2 Ordenanza 15 de Abril 18 de 1934 MUNICIPIO 951.7327 2023
## 3 Ordenanza 30 de diciembre 13 de 1994 MUNICIPIO 303.6931 2023
## 4 ORD 18 DE MAYO 16 DE 1996 MUNICIPIO 461.9800 2023
## 5 1770 MUNICIPIO 587.4255 2023
## 6 ORD 41 DE DICIEMBRE 02 DE 1997 MUNICIPIO 163.8096 2023
## 7 Ordenanza 29 del 29 de Abril de 1931 MUNICIPIO 430.7990 2023
## 8 Ordenanza 42 del 27 de Abril de 1923 MUNICIPIO 255.3533 2023
## 9 Ordenanza 30 de diciembre 13 de 1994 MUNICIPIO 881.5109 2023
## 10 Ordenanza 30 de diciembre 30 de 1994 MUNICIPIO 133.1765 2023
## shape_Leng shape_Area geom
## 1 4.2717567 0.04941053 MULTIPOLYGON (((-76.17389 9...
## 2 1.8382023 0.07817633 MULTIPOLYGON (((-74.53501 8...
## 3 0.9940520 0.02495546 MULTIPOLYGON (((-74.11303 8...
## 4 1.5596893 0.03792205 MULTIPOLYGON (((-73.88046 8...
## 5 1.3248047 0.04843955 MULTIPOLYGON (((-75.30055 1...
## 6 0.7834860 0.01351417 MULTIPOLYGON (((-75.10957 1...
## 7 1.6013700 0.03540758 MULTIPOLYGON (((-74.09199 8...
## 8 1.2921521 0.02106529 MULTIPOLYGON (((-75.00496 1...
## 9 1.7164727 0.07217474 MULTIPOLYGON (((-73.89546 7...
## 10 0.5172575 0.01095646 MULTIPOLYGON (((-74.65075 9...
Los 46 municipios están representados con polígonos múltiples (MULTIPOLYGON), lo que sugiere que algunos municipios pueden estar fragmentados en varias partes (por ejemplo, islas o territorios no contiguos). Extensión espacial: Latitud mínima y máxima: desde aproximadamente 8.35° hasta 10.84° Longitud mínima y máxima: desde aproximadamente -75.97° hasta -73.85° Estos valores nos indican que los municipios cubren un rango amplio dentro del territorio de Bolívar.
dem3 = terra::crop(dem2,munic, mask= TRUE)
(dem_plane = project(dem3, "EPSG:9377"))
## class : SpatRaster
## dimensions : 229, 147, 1 (nrow, ncol, nlyr)
## resolution : 1840.002, 1840.002 (x, y)
## extent : 4648361, 4918842, 2331890, 2753250 (xmin, xmax, ymin, ymax)
## coord. ref. : MAGNA-SIRGAS 2018 / Origen-Nacional (EPSG:9377)
## source(s) : memory
## name : Elevacion_Bolivar
## min value : 0.000
## max value : 1788.302
(munic_plane = sf::st_transform(munic, "EPSG:9377"))
## Simple feature collection with 46 features and 11 fields
## Geometry type: MULTIPOLYGON
## Dimension: XY
## Bounding box: xmin: 4649651 ymin: 2331596 xmax: 4917940 ymax: 2752513
## Projected CRS: MAGNA-SIRGAS 2018 / Origen-Nacional
## First 10 features:
## dpto_ccdgo mpio_ccdgo mpio_cdpmp dpto_cnmbr mpio_cnmbr
## 1 13 001 13001 BOLÍVAR CARTAGENA DE INDIAS
## 2 13 006 13006 BOLÍVAR ACHÍ
## 3 13 030 13030 BOLÍVAR ALTOS DEL ROSARIO
## 4 13 042 13042 BOLÍVAR ARENAL
## 5 13 052 13052 BOLÍVAR ARJONA
## 6 13 062 13062 BOLÍVAR ARROYOHONDO
## 7 13 074 13074 BOLÍVAR BARRANCO DE LOBA
## 8 13 140 13140 BOLÍVAR CALAMAR
## 9 13 160 13160 BOLÍVAR CANTAGALLO
## 10 13 188 13188 BOLÍVAR CICUCO
## mpio_crslc mpio_tipo mpio_narea mpio_nano
## 1 1599 MUNICIPIO 598.7197 2023
## 2 Ordenanza 15 de Abril 18 de 1934 MUNICIPIO 951.7327 2023
## 3 Ordenanza 30 de diciembre 13 de 1994 MUNICIPIO 303.6931 2023
## 4 ORD 18 DE MAYO 16 DE 1996 MUNICIPIO 461.9800 2023
## 5 1770 MUNICIPIO 587.4255 2023
## 6 ORD 41 DE DICIEMBRE 02 DE 1997 MUNICIPIO 163.8096 2023
## 7 Ordenanza 29 del 29 de Abril de 1931 MUNICIPIO 430.7990 2023
## 8 Ordenanza 42 del 27 de Abril de 1923 MUNICIPIO 255.3533 2023
## 9 Ordenanza 30 de diciembre 13 de 1994 MUNICIPIO 881.5109 2023
## 10 Ordenanza 30 de diciembre 30 de 1994 MUNICIPIO 133.1765 2023
## shape_Leng shape_Area geom
## 1 4.2717567 0.04941053 MULTIPOLYGON (((4651494 259...
## 2 1.8382023 0.07817633 MULTIPOLYGON (((4831254 253...
## 3 0.9940520 0.02495546 MULTIPOLYGON (((4877650 253...
## 4 1.5596893 0.03792205 MULTIPOLYGON (((4903123 249...
## 5 1.3248047 0.04843955 MULTIPOLYGON (((4748173 270...
## 6 0.7834860 0.01351417 MULTIPOLYGON (((4768965 268...
## 7 1.6013700 0.03540758 MULTIPOLYGON (((4880001 254...
## 8 1.2921521 0.02106529 MULTIPOLYGON (((4780557 270...
## 9 1.7164727 0.07217474 MULTIPOLYGON (((4901224 237...
## 10 0.5172575 0.01095646 MULTIPOLYGON (((4818705 257...
Los municipios presentan una variabilidad significativa en términos de área y pendiente. Algunos tienen superficies extensas, mientras que otros son considerablemente más pequeños. La pendiente media es un indicador clave para evaluar el relieve, afectando aspectos como accesibilidad, drenaje y planificación territorial.
La información recopilada es útil para múltiples aplicaciones, como ordenamiento territorial, estudios ambientales y desarrollo de infraestructura, permitiendo un análisis detallado de la distribución geográfica y las características del territorio.
(Slp_asp = MultiscaleDTM::SlpAsp(
dem_plane, w = c(3, 3), unit = "degrees", method = "queen", metrics = c("slope", "aspect"), na.rm = TRUE, include_scale = FALSE, mask_aspect = TRUE
))
## class : SpatRaster
## dimensions : 229, 147, 2 (nrow, ncol, nlyr)
## resolution : 1840.002, 1840.002 (x, y)
## extent : 4648361, 4918842, 2331890, 2753250 (xmin, xmax, ymin, ymax)
## coord. ref. : MAGNA-SIRGAS 2018 / Origen-Nacional (EPSG:9377)
## source(s) : memory
## names : slope, aspect
## min values : 5.715478e-04, 0.01637174
## max values : 1.162626e+01, 359.88914880
En esta parte, se pueden observar las siguientes caracterísiticas:
-Variables registradas: Slope (Pendiente): Representa la inclinación del terreno. Su valor mínimo es 0.00057 y el máximo 11.63, indicando que el relieve varía entre zonas planas y otras con pendientes más pronunciadas. Aspect (Orientación): Define la dirección en la que se inclina la pendiente, con valores entre 0.016° y 359.89°, abarcando todas las posibles orientaciones del terreno.
(slope = subset(Slp_asp, 1))
## class : SpatRaster
## dimensions : 229, 147, 1 (nrow, ncol, nlyr)
## resolution : 1840.002, 1840.002 (x, y)
## extent : 4648361, 4918842, 2331890, 2753250 (xmin, xmax, ymin, ymax)
## coord. ref. : MAGNA-SIRGAS 2018 / Origen-Nacional (EPSG:9377)
## source(s) : memory
## name : slope
## min value : 5.715478e-04
## max value : 1.162626e+01
(aspect = subset(Slp_asp, 2))
## class : SpatRaster
## dimensions : 229, 147, 1 (nrow, ncol, nlyr)
## resolution : 1840.002, 1840.002 (x, y)
## extent : 4648361, 4918842, 2331890, 2753250 (xmin, xmax, ymin, ymax)
## coord. ref. : MAGNA-SIRGAS 2018 / Origen-Nacional (EPSG:9377)
## source(s) : memory
## name : aspect
## min value : 0.01637174
## max value : 359.88914880
En este raster podemos observar El valor 0.01637 grados es casi igual a 0 grados, lo que indica una orientación hacia el norte. El valor 359.89 grados está muy cerca de los 360 grados, lo que indica una orientación hacia el norte nuevamente.
Las pendientes orientadas hacia el norte o el sur pueden tener diferencias significativas en temperatura y humedad, especialmente en áreas montañosas, debido a la incidencia del sol.
terra::hist(aspect,
main = "Bolivar's aspect",
xlab = "aspect (in degrees)")
(slope_perc = tan(slope*(pi/180))*100)
## class : SpatRaster
## dimensions : 229, 147, 1 (nrow, ncol, nlyr)
## resolution : 1840.002, 1840.002 (x, y)
## extent : 4648361, 4918842, 2331890, 2753250 (xmin, xmax, ymin, ymax)
## coord. ref. : MAGNA-SIRGAS 2018 / Origen-Nacional (EPSG:9377)
## source(s) : memory
## name : slope
## min value : 9.975391e-04
## max value : 2.057482e+01
En este análisis se puede decir que los valores de la pendiente son los siguientes:
La pendiente es una medida que puede ser representada en grados o como un valor adimensional que refleja la relación entre el cambio de altura y la distancia horizontal. En este caso, los valores mínimos y máximos del raster representan las siguientes situaciones:
Valor mínimo (0.0009975): Este valor extremadamente bajo indica una pendiente casi plana o casi horizontal, es probable que represente áreas de planicie o terrenos muy suaves.
Valor máximo (20.57482): Este valor alto indica una pendiente muy empinada o terreno montañoso. Este valor refleja áreas en las que el cambio de altura es significativo en relación con la distancia horizontal
El raster de pendiente nos permite analizar las variaciones del terreno en términos de inclinación. Las áreas con pendientes bajas son típicamente planas, mientras que las pendientes altas indican áreas más montañosas o con fuertes pendientes. Aquí hay algunas consideraciones:
Zonas de Baja Pendiente: Las zonas de baja pendiente están asociadas principalmente con áreas costera y de valle, donde el terreno es mayormente plano. Estas áreas son propensas para actividades agrícolas, construcción de infraestructuras y asentamientos humanos. Zonas de Alta Pendiente: Las zonas de alta pendiente corresponden generalmente a montañas, colinas o zonas de relieve accidentado. En Bolívar, estas áreas se encuentran principalmente en el sur del departamento, en zonas como la Serranía de San Lucas. Las pendientes empinadas afectan el tipo de vegetación, el uso del suelo y las actividades humanas. También son importantes para el estudio de riesgos como deslizamientos de tierra.
terra::hist(slope_perc,
main = "Bolivar slope",
xlab = "slope (in percentage)")
m <- c(0, 3, 1,
3, 7, 2,
12, 25, 4,
25, 50, 5,
50, 75, 6,
75, 160, 7)
m <- matrix(m, ncol = 3, byrow = TRUE)
rc <- classify(slope_perc, m, right = TRUE)
En este caso, Los valores de pendiente original, expresados en porcentaje, se han dividido en seis rangos con base en su inclinación, de la siguiente manera:
-Pendientes Muy Bajas (0 - 3%) → Categoría 1
-Representan áreas prácticamente planas o ligeramente onduladas. Suelen ser aptas para urbanización, agricultura y transporte. Pendientes Bajas (3 - 7%) → Categoría 2
-Son terrenos con una leve inclinación, donde aún es posible desarrollar actividades agrícolas y construcción, aunque con ciertas restricciones. Pendientes Moderadas (12 - 25%) → Categoría 4
-Suelo con inclinaciones más significativas, donde comienzan a dificultarse actividades agrícolas y constructivas. Pueden estar asociadas a zonas de transición entre llanuras y áreas montañosas. Pendientes Fuertes (25 - 50%) → Categoría 5
-Relieves pronunciados que pueden aumentar el riesgo de erosión e inestabilidad del suelo. Generalmente se encuentran en áreas montañosas o laderas. Pendientes Muy Fuertes (50 - 75%) → Categoría 6
-Áreas de fuerte inclinación, generalmente poco aptas para desarrollo humano o agrícola. Requieren medidas de conservación de suelos y control de erosión. Pendientes Extremas (75 - 160%) → Categoría 7
-Terrenos con inclinaciones abruptas, asociados a cordilleras, acantilados o formaciones rocosas. Uso humano muy limitado y con alta susceptibilidad a deslizamientos.
(munic$mean_slope <- exactextractr::exact_extract(slope_perc, munic, 'mean'))
## | | | 0% | |== | 2% | |=== | 4% | |===== | 7% | |====== | 9% | |======== | 11% | |========= | 13% | |=========== | 15% | |============ | 17% | |============== | 20% | |=============== | 22% | |================= | 24% | |================== | 26% | |==================== | 28% | |===================== | 30% | |======================= | 33% | |======================== | 35% | |========================== | 37% | |=========================== | 39% | |============================= | 41% | |============================== | 43% | |================================ | 46% | |================================= | 48% | |=================================== | 50% | |===================================== | 52% | |====================================== | 54% | |======================================== | 57% | |========================================= | 59% | |=========================================== | 61% | |============================================ | 63% | |============================================== | 65% | |=============================================== | 67% | |================================================= | 70% | |================================================== | 72% | |==================================================== | 74% | |===================================================== | 76% | |======================================================= | 78% | |======================================================== | 80% | |========================================================== | 83% | |=========================================================== | 85% | |============================================================= | 87% | |============================================================== | 89% | |================================================================ | 91% | |================================================================= | 93% | |=================================================================== | 96% | |==================================================================== | 98% | |======================================================================| 100%
## [1] 0.51928073 0.48881286 1.53004575 7.01034737 0.51361084 0.72855258
## [7] 1.04507649 0.81626552 3.07808399 0.06856294 0.60025609 0.97517657
## [13] 1.93599260 1.44923520 0.21316686 0.10166328 0.20834775 0.76558751
## [19] 0.05109363 0.59898895 5.34213209 0.03868799 3.76240349 3.66852689
## [25] 0.06221353 0.16254294 2.53930640 0.14739253 1.24391174 0.03948459
## [31] 2.50052285 0.71785736 2.12658286 2.04234934 3.69413996 0.93657458
## [37] 0.82484806 5.47610331 2.94866395 0.21529903 0.05732608 3.51356387
## [43] 1.37284946 0.88086349 1.64505017 0.86276269
hist(munic$mean_slope,
main = "Bolivar mean slope",
xlab = "slope (in percentage)")
Este histograma revela que la pendiente en Bolivar tiende a ser baja en la mayoría de las áreas, con una disminución en la frecuencia de pendientes más altas. En conclusión la topografía de Bolívar es predominantemente plana o de pendiente suave.
(munic$class <- exactextractr::exact_extract(rc, munic, 'mode'))
## | | | 0% | |== | 2% | |=== | 4% | |===== | 7% | |====== | 9% | |======== | 11% | |========= | 13% | |=========== | 15% | |============ | 17% | |============== | 20% | |=============== | 22% | |================= | 24% | |================== | 26% | |==================== | 28% | |===================== | 30% | |======================= | 33% | |======================== | 35% | |========================== | 37% | |=========================== | 39% | |============================= | 41% | |============================== | 43% | |================================ | 46% | |================================= | 48% | |=================================== | 50% | |===================================== | 52% | |====================================== | 54% | |======================================== | 57% | |========================================= | 59% | |=========================================== | 61% | |============================================ | 63% | |============================================== | 65% | |=============================================== | 67% | |================================================= | 70% | |================================================== | 72% | |==================================================== | 74% | |===================================================== | 76% | |======================================================= | 78% | |======================================================== | 80% | |========================================================== | 83% | |=========================================================== | 85% | |============================================================= | 87% | |============================================================== | 89% | |================================================================ | 91% | |================================================================= | 93% | |=================================================================== | 96% | |==================================================================== | 98% | |======================================================================| 100%
## [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2
## [39] 1 1 1 1 1 1 1 1
hist(munic$class,
main = "Bolivar reclassified slope",
xlab = "slope (as a category)")
En este histograma vemos que se revela que la pendiente en el municipio de Bolívar se concentra principalmente en la categoría 1.0, lo que sugiere que la topografía es predominantemente plana o de pendiente suave. La categoría 2.0, que representa pendientes más pronunciadas, tiene una frecuencia mucho menor, y otras categorías no están representadas en el histograma.
terra::hist(slope_perc)
(rc.geo = project(rc, "EPSG:4326"))
## class : SpatRaster
## dimensions : 229, 149, 1 (nrow, ncol, nlyr)
## resolution : 0.01666736, 0.01666736 (x, y)
## extent : -76.21639, -73.73296, 6.998685, 10.81551 (xmin, xmax, ymin, ymax)
## coord. ref. : lon/lat WGS 84 (EPSG:4326)
## source(s) : memory
## name : slope
## min value : 1.00000
## max value : 11.55511
(slope.geo = project(slope_perc, "EPSG:4326"))
## class : SpatRaster
## dimensions : 229, 149, 1 (nrow, ncol, nlyr)
## resolution : 0.01666736, 0.01666736 (x, y)
## extent : -76.21639, -73.73296, 6.998685, 10.81551 (xmin, xmax, ymin, ymax)
## coord. ref. : lon/lat WGS 84 (EPSG:4326)
## source(s) : memory
## name : slope
## min value : 0.001760152
## max value : 18.373416901
palredgreen <- colorNumeric(c("darkseagreen3", "yellow2", "orange", "brown2","darkred"),
values(slope.geo),
na.color = "transparent")
leaflet(munic) %>% addTiles() %>% setView(-75.19, lat = 9.9, zoom = 9) %>%
addPolygons(color = "gray", weight = 1.0, smoothFactor = 0.5,
opacity = 0.4, fillOpacity = 0.10,
popup = paste("Municipio: ", munic$mpio_cnmbr, "<br>",
"Slope class: ", munic$class, "<br>")) %>%
addRasterImage(slope.geo, colors = palredgreen, opacity = 0.8) %>%
addLegend(pal = palredgreen, values = values(slope.geo),
title = "Pendiente de terreno del departamento de Bolivar (%")
En este mapa se muestra la distribución espacial de la pendiente del terreno en el departamento de Bolívar, Colombia. Los colores representan diferentes rangos de pendiente, y la leyenda indica la relación entre los colores y los valores de pendiente. * Ubicación: El mapa está centrado en las coordenadas (-75.19, 9.9) y tiene un nivel de zoom 9. Esto nos permite ver una porción del departamento de Bolívar, incluyendo municipios como Cartagena, Turbaco y otros. La leyenda muestra que la pendiente se ha clasificado en diferentes rangos, y cada rango está representado por un color. Los colores más cálidos (amarillo, naranja, rojo) indican pendientes más pronunciadas, mientras que los colores más fríos (verde, azul) indican pendientes más suaves.
pal_aspect <- colorNumeric(
palette = c("blue", "green", "yellow", "orange", "red", "pink", "purple", "lightblue"),
domain = values(aspect),
na.color = "transparent"
)
leaflet(munic) %>%
addTiles() %>%
setView(-75.3, lat = 9.3, zoom = 8) %>% # Coordenadas del Departamento de Sucre
addPolygons(color = "gray", weight = 1.0, smoothFactor = 0.5,
opacity = 0.4, fillOpacity = 0.10,
popup = paste("Municipio: ", munic$mpio_cnmbr, "<br>",
"Clase de Pendiente: ", munic$class, "<br>")) %>%
addRasterImage(aspect, colors = pal_aspect, opacity = 0.8) %>%
addLegend(pal = pal_aspect, values = values(aspect),
title = "Direccion terreno basado en DTM (Grados)", opacity = 0.7) %>%
addControl(
html = "<div style='background-color: white; padding: 10px; border-radius: 5px; border: 2px solid black; opacity: 0.8; font-size: 14px;'>
<b>Direction Legend</b><br>
<span style='color: blue;'>Norte</span><br>
<span style='color: green;'>Noreste</span><br>
<span style='color: yellow;'>Este</span><br>
<span style='color: orange;'>Sureste</span><br>
<span style='color: red;'>Sur</span><br>
<span style='color: pink;'>Suroeste</span><br>
<span style='color: purple;'>Oeste</span><br>
<span style='color: lightblue;'>Noroeste</span><br>
</div>",
position = "bottomright",
className = "leaflet-control-legend"
)
En primer lugar podemos observar una distribución de colores, en donde se representa la orientación del relieve en grados. Cada color en la leyenda indica una dirección específica:
Azul: Norte (0°) Verde: Noreste (45°) Amarillo: Este (90°) Naranja: Sureste (135°) Rojo: Sur (180°) Rosado: Suroeste (225°) Púrpura: Oeste (270°) Celeste: Noroeste (315°)
A partir de ello, se identifican zonas con orientación homogénea, lo que sugiere áreas de relieve más regular. En contraste, las áreas con colores más mezclados indican una mayor variabilidad en la dirección del terreno, lo que puede estar relacionado con formaciones montañosas o valles. En la parte norte del mapa (cerca de la costa Caribe), los colores parecen estar más agrupados, lo que sugiere un terreno más uniforme y menos accidentado.
sessionInfo()
## R version 4.4.2 (2024-10-31 ucrt)
## Platform: x86_64-w64-mingw32/x64
## Running under: Windows 11 x64 (build 22631)
##
## Matrix products: default
##
##
## locale:
## [1] LC_COLLATE=Spanish_Colombia.utf8 LC_CTYPE=Spanish_Colombia.utf8
## [3] LC_MONETARY=Spanish_Colombia.utf8 LC_NUMERIC=C
## [5] LC_TIME=Spanish_Colombia.utf8
##
## time zone: America/Bogota
## tzcode source: internal
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] MultiscaleDTM_0.9.1 exactextractr_0.10.0 elevatr_0.99.0
## [4] leaflet_2.2.2 sf_1.0-19 terra_1.8-15
##
## loaded via a namespace (and not attached):
## [1] generics_0.1.3 sass_0.4.9 class_7.3-22 KernSmooth_2.23-24
## [5] lattice_0.22-6 digest_0.6.37 magrittr_2.0.3 rgl_1.3.17
## [9] evaluate_1.0.3 grid_4.4.2 fastmap_1.2.0 jsonlite_1.8.9
## [13] e1071_1.7-16 DBI_1.2.3 promises_1.3.2 purrr_1.0.2
## [17] scales_1.3.0 crosstalk_1.2.1 codetools_0.2-20 jquerylib_0.1.4
## [21] cli_3.6.3 shiny_1.10.0 rlang_1.1.5 units_0.8-5
## [25] munsell_0.5.1 base64enc_0.1-3 cachem_1.1.0 yaml_2.3.10
## [29] tools_4.4.2 raster_3.6-31 dplyr_1.1.4 colorspace_2.1-1
## [33] httpuv_1.6.15 png_0.1-8 vctrs_0.6.5 R6_2.5.1
## [37] mime_0.12 proxy_0.4-27 lifecycle_1.0.4 classInt_0.4-11
## [41] htmlwidgets_1.6.4 pkgconfig_2.0.3 pillar_1.10.1 progressr_0.15.1
## [45] bslib_0.8.0 later_1.4.1 glue_1.8.0 Rcpp_1.0.14
## [49] tidyselect_1.2.1 tibble_3.2.1 xfun_0.50 rstudioapi_0.17.1
## [53] knitr_1.49 farver_2.1.2 xtable_1.8-4 htmltools_0.5.8.1
## [57] rmarkdown_2.29 compiler_4.4.2 sp_2.1-4