Resumen
Para iniciar la práctica del curso, llevada a cabo en las salas de informática de la Universidad Nacional de Colombia, se realizaron una serie de mapas con los departamentos y municipios de Colombia.
Una vez instaladas las librerias en Rstudio para llevar a cabo la elaboración de los mapas y el cuaderno, se llaman de la siguiente manera:
library(tidyverse)
library(sf)
library(GADMTools)
Obtener datos administrativos de un país
Cada país posee un código de tres letras en la base de datos de Rstudio, en nuestro caso usaremos COL para llamar a Colombia, y al nombre del vector se le asignará el mismo nombre.
Para el primer gráfico se ejecutará el siguiente código, siendo el level=0 el llamado al país en su totalidad, sin ningún tipo de división politíca.
Colombia<-gadm_sf_loadCountries(c("COL"), level=0, basefile="./")
Colombia
$basename
[1] "./"
$sf
Simple feature collection with 1 feature and 2 fields
geometry type: MULTIPOLYGON
dimension: XY
bbox: xmin: -81.84153 ymin: -4.228429 xmax: -66.87033 ymax: 15.91247
epsg (SRID): 4326
proj4string: +proj=longlat +datum=WGS84 +no_defs
ISO NAME_0 geometry
1 COL Colombia MULTIPOLYGON (((-78.97958 1...
$level
[1] 0
$hasBGND
[1] FALSE
attr(,"class")
[1] "gadm_sf"
Ahora vamos a visualizar el mapa de Colombia—>
gadm_plot(Colombia)
Para el segundo gráfico el nombre de la variable será Departamentos, y se escribirá el mismo código a excepción de que level=1 corresponde al llamado de la división del país en departamentos. Y al igual que el anterior, se visualizará.
Departamentos<-gadm_sf_loadCountries(c("COL"), level=1, basefile="./")
trying URL 'https://biogeo.ucdavis.edu/data/gadm3.6/Rsf/gadm36_COL_1_sf.rds'
Content type '' length 782954 bytes (764 KB)
downloaded 764 KB
gadm_plot(Departamentos)
Conociendo los códigos anteriores, se hace el mismo proceso con los Municipios (level=2).
Municipios<-gadm_sf_loadCountries(c("COL"), level=2, basefile="./")
trying URL 'https://biogeo.ucdavis.edu/data/gadm3.6/Rsf/gadm36_COL_2_sf.rds'
Content type '' length 1092557 bytes (1.0 MB)
downloaded 1.0 MB
gadm_plot(Municipios)
Ahora que ya sabemos los conceptos básicos respecto a datos espaciales en Rstudio, se toman tres departamentos de Colombia, asignados previamente en clase, y se les aplica lo aprendido con un toque de estética.
Se eligieron los departamentos pertenecientes al Eje Cafetero (Quindío, Risaralda y Caldas). Donde el departamento más pequeño corresponde al Quindío, y el más grande a Caldas.
Eje_Cafetero <-gadm_subset(Departamentos, level=1, regions=(c("Quindío", "Risaralda", "Caldas")))
gadm_plot(Eje_Cafetero) %>% gadm_showNorth("tl") %>% gadm_showScale('bl')
Si no se conocen los nombres de todos departamentos de Colombia, se puede crear una lista para visualizarlos.
listNames(Departamentos, 1)
[1] "Amazonas" "Antioquia"
[3] "Arauca" "Atlántico"
[5] "Bolívar" "Boyacá"
[7] "Caldas" "Caquetá"
[9] "Casanare" "Cauca"
[11] "Cesar" "Chocó"
[13] "Córdoba" "Cundinamarca"
[15] "Guainía" "Guaviare"
[17] "Huila" "La Guajira"
[19] "Magdalena" "Meta"
[21] "Nariño" "Norte de Santander"
[23] "Putumayo" "Quindío"
[25] "Risaralda" "San Andrés y Providencia"
[27] "Santander" "Sucre"
[29] "Tolima" "Valle del Cauca"
[31] "Vaupés" "Vichada"
Para un mayor entendimiento de los gráficos, la estética es vital:
(sbox<- gadm_getBbox(Eje_Cafetero))
xmin ymin xmax ymax
-76.359497 4.135801 -74.648903 5.762600
str(sbox)
'bbox' Named num [1:4] -76.36 4.14 -74.65 5.76
- attr(*, "names")= chr [1:4] "xmin" "ymin" "xmax" "ymax"
- attr(*, "crs")=List of 2
..$ epsg : int 4326
..$ proj4string: chr "+proj=longlat +datum=WGS84 +no_defs"
..- attr(*, "class")= chr "crs"
(AREA_ESTUDIO<- gadm_crop(Departamentos, xmin= -76.40, ymin= 4.10, xmax= -74.60, ymax= 5.84))
although coordinates are longitude/latitude, st_intersection assumes that they are planar
attribute variables are assumed to be spatially constant throughout all geometries
$basename
[1] "./"
$sf
Simple feature collection with 9 features and 5 fields
geometry type: POLYGON
dimension: XY
bbox: xmin: -76.4 ymin: 4.1 xmax: -74.6 ymax: 5.84
epsg (SRID): 4326
proj4string: +proj=longlat +datum=WGS84 +no_defs
ISO NAME_0 NAME_1 TYPE_1 ENGTYPE_1
12 COL Colombia Antioquia Departamento Department
29 COL Colombia Boyacá Departamento Department
30 COL Colombia Caldas Departamento Department
4 COL Colombia Chocó Departamento Department
6 COL Colombia Cundinamarca Departamento Department
17 COL Colombia Quindío Departamento Department
18 COL Colombia Risaralda Departamento Department
22 COL Colombia Tolima Departamento Department
24 COL Colombia Valle del Cauca Departamento Department
geometry
12 POLYGON ((-75.6143 5.515099...
29 POLYGON ((-74.6 5.74204, -7...
30 POLYGON ((-75.3569 4.890801...
4 POLYGON ((-76.15588 5.84, -...
6 POLYGON ((-74.6 4.2511, -74...
17 POLYGON ((-75.6632 4.241701...
18 POLYGON ((-75.7459 4.7087, ...
22 POLYGON ((-75.7288 4.1, -75...
24 POLYGON ((-76.4 4.71447, -7...
$level
[1] 1
$hasBGND
[1] FALSE
attr(,"class")
[1] "gadm_sf"
gadm_plot(AREA_ESTUDIO)
Obtención de un simple feature (“sf”) —> Nos proporciona información con respecto a los datos espaciales de la zona estudiada, en nuestro caso Colombia.
Departamentos$sf
Simple feature collection with 32 features and 5 fields
geometry type: MULTIPOLYGON
dimension: XY
bbox: xmin: -81.84153 ymin: -4.228429 xmax: -66.87033 ymax: 15.91247
epsg (SRID): 4326
proj4string: +proj=longlat +datum=WGS84 +no_defs
First 10 features:
ISO NAME_0 NAME_1 TYPE_1 ENGTYPE_1
1 COL Colombia Amazonas Comisaría Commissiary
12 COL Colombia Antioquia Departamento Department
23 COL Colombia Arauca Intendencia Intendancy
27 COL Colombia Atlántico Departamento Department
28 COL Colombia Bolívar Departamento Department
29 COL Colombia Boyacá Departamento Department
30 COL Colombia Caldas Departamento Department
31 COL Colombia Caquetá Intendencia Intendancy
32 COL Colombia Casanare Intendencia Intendancy
2 COL Colombia Cauca Departamento Department
geometry
1 MULTIPOLYGON (((-69.43138 -...
12 MULTIPOLYGON (((-76.99986 8...
23 MULTIPOLYGON (((-69.92316 6...
27 MULTIPOLYGON (((-74.8816 10...
28 MULTIPOLYGON (((-75.79681 1...
29 MULTIPOLYGON (((-74.2158 5....
30 MULTIPOLYGON (((-75.3569 4....
31 MULTIPOLYGON (((-73.88365 -...
32 MULTIPOLYGON (((-72.6363 4....
2 MULTIPOLYGON (((-77.97681 2...
#install.packages("mapview")
library(mapview)
-Aplicar color y leyendas al mapa de Colombia con los departamentos, al mismo tiempo que se genera un mapa dinámico (suprimir los mensajes del paquete mapview para mayor comodidad).
suppressPackageStartupMessages(library(mapview))
Departamentos$sf %>% mapview(zcol= "NAME_1", legend= TRUE, col.regions=sf.colors)
Ahora realizar el mismo proceso con los Municipios:
Municipios$sf
Simple feature collection with 1065 features and 6 fields
geometry type: MULTIPOLYGON
dimension: XY
bbox: xmin: -81.84153 ymin: -4.228429 xmax: -66.87033 ymax: 15.91247
epsg (SRID): 4326
proj4string: +proj=longlat +datum=WGS84 +no_defs
First 10 features:
ISO NAME_0 NAME_1 NAME_2
15629 COL Colombia Amazonas El Encanto
15634 COL Colombia Amazonas La Chorrera
15699 COL Colombia Amazonas La Pedrera
16578 COL Colombia Amazonas Leticia
15505 COL Colombia Amazonas Mirití-Paraná
16577 COL Colombia Amazonas Puerto Nariño
15494 COL Colombia Amazonas Puerto Santander
16055 COL Colombia Amazonas Tarapacá
14570 COL Colombia Antioquia Abejorral
14343 COL Colombia Antioquia Abriaquí
TYPE_2 ENGTYPE_2
15629 Corregimiento Departamento Corregimiento Departamento
15634 Corregimiento Departamento Corregimiento Departamento
15699 Corregimiento Departamento Corregimiento Departamento
16578 Municipio Municipality
15505 Corregimiento Departamento Corregimiento Departamento
16577 Municipio Municipality
15494 Corregimiento Departamento Corregimiento Departamento
16055 Corregimiento Departamento Corregimiento Departamento
14570 Municipio Municipality
14343 Municipio Municipality
geometry
15629 MULTIPOLYGON (((-73.43552 -...
15634 MULTIPOLYGON (((-71.9802 -1...
15699 MULTIPOLYGON (((-72.61586 -...
16578 MULTIPOLYGON (((-70.0579 -4...
15505 MULTIPOLYGON (((-70.2188 -0...
16577 MULTIPOLYGON (((-70.28952 -...
15494 MULTIPOLYGON (((-71.4002 -0...
16055 MULTIPOLYGON (((-70.1296 -3...
14570 MULTIPOLYGON (((-75.5753 5....
14343 MULTIPOLYGON (((-76.0697 6....
Municipios$sf %>% mapview(zcol= "NAME_2", legend= TRUE, col.regions=sf.colors)
Ahora se juntarán lo aprendido hasta el momento, y se aplicará a los departamentos elegidos.
Eje_cafetero_mun <-gadm_subset(Municipios, level=1, regions=(c("Quindío", "Risaralda", "Caldas")))
gadm_plot(Eje_cafetero_mun) %>% gadm_showNorth("tl") %>% gadm_showScale('bl')
El gráfico en caja de los mucicipios completos de cada departamento, no nos proporciona mucha información, debido a que no se diferencian los límites entre departamentos como se muestra a continuación:
(AREA_ESTUDIO<- gadm_crop(Municipios, xmin= -76.40, ymin= 4.10, xmax= -74.60, ymax= 5.84))
although coordinates are longitude/latitude, st_intersection assumes that they are planar
attribute variables are assumed to be spatially constant throughout all geometries
$basename
[1] "./"
$sf
Simple feature collection with 156 features and 6 fields
geometry type: GEOMETRY
dimension: XY
bbox: xmin: -76.4 ymin: 4.1 xmax: -74.6 ymax: 5.84
epsg (SRID): 4326
proj4string: +proj=longlat +datum=WGS84 +no_defs
First 10 features:
ISO NAME_0 NAME_1 NAME_2 TYPE_2
14570 COL Colombia Antioquia Abejorral Municipio
14637 COL Colombia Antioquia Andes Municipio
14638 COL Colombia Antioquia Argelia Municipio
14626 COL Colombia Antioquia Betania Municipio
14566 COL Colombia Antioquia Bolívar Municipio
14687 COL Colombia Antioquia Caramanta Municipio
14506 COL Colombia Antioquia El Carmen de Viboral Municipio
14554 COL Colombia Antioquia Fredonia Municipio
14613 COL Colombia Antioquia Hispania Municipio
14663 COL Colombia Antioquia Jardín Municipio
ENGTYPE_2 geometry
14570 Municipality POLYGON ((-75.5753 5.717701...
14637 Municipality POLYGON ((-75.8312 5.6518, ...
14638 Municipality POLYGON ((-75.0945 5.653901...
14626 Municipality POLYGON ((-76.1327 5.650701...
14566 Municipality POLYGON ((-76.1292 5.7408, ...
14687 Municipality POLYGON ((-75.6143 5.515099...
14506 Municipality POLYGON ((-75.23257 5.84, -...
14554 Municipality POLYGON ((-75.6716 5.793199...
14613 Municipality POLYGON ((-75.9829 5.787, -...
14663 Municipality POLYGON ((-75.8312 5.6518, ...
$level
[1] 2
$hasBGND
[1] FALSE
attr(,"class")
[1] "gadm_sf"
gadm_plot(AREA_ESTUDIO)
Se realiza el simple feature con el vector creado de los municipios del eje cafetero.
Eje_cafetero_mun$sf
Simple feature collection with 51 features and 6 fields
geometry type: MULTIPOLYGON
dimension: XY
bbox: xmin: -76.3595 ymin: 4.135801 xmax: -74.6489 ymax: 5.7626
epsg (SRID): 4326
proj4string: +proj=longlat +datum=WGS84 +no_defs
First 10 features:
ISO NAME_0 NAME_1 NAME_2 TYPE_2 ENGTYPE_2
14649 COL Colombia Caldas Aguadas Municipio Municipality
14773 COL Colombia Caldas Anserma Municipio Municipality
14761 COL Colombia Caldas Aranzazú Municipio Municipality
14833 COL Colombia Caldas Belalcázar Municipio Municipality
14834 COL Colombia Caldas Chinchiná Municipio Municipality
14750 COL Colombia Caldas Filadelfia Municipio Municipality
14634 COL Colombia Caldas La Dorada Municipio Municipality
14731 COL Colombia Caldas La Merced Municipio Municipality
14805 COL Colombia Caldas Manizales Municipio Municipality
14766 COL Colombia Caldas Manzanares Municipio Municipality
geometry
14649 MULTIPOLYGON (((-75.3399 5....
14773 MULTIPOLYGON (((-75.6908 5....
14761 MULTIPOLYGON (((-75.3997 5....
14833 MULTIPOLYGON (((-75.7841 5....
14834 MULTIPOLYGON (((-75.6204 4....
14750 MULTIPOLYGON (((-75.5888 5....
14634 MULTIPOLYGON (((-74.8504 5....
14731 MULTIPOLYGON (((-75.6437 5....
14805 MULTIPOLYGON (((-75.636 5.0...
14766 MULTIPOLYGON (((-75.1662 5....
Luego se grafica, dando a conocer un mapa mucho más informativo de nuestros departamentos (Quíndio, Risaralda y Caldas), con la mayoría de sus municipios.
Eje_cafetero_mun$sf %>% mapview(zcol= "NAME_2", legend= TRUE, col.regions=sf.colors)
class(Eje_cafetero_mun)
[1] "gadm_sf"
Por último, para guardar los municipios en extensión .shp en el mismo directorio donde se está trabajando el Notebook se usa el siguiente código:
Eje_cafetero_mun<-st_write(Eje_cafetero_mun$sf,"Eje_cafetero_mun.shp")
Writing layer `Eje_cafetero_mun' to data source `Eje_cafetero_mun.shp' using driver `ESRI Shapefile'
Writing 51 features with 6 fields and geometry type Multi Polygon.
Seguir con el siguiente cuaderno Explorando atributos, para darle uso al archivo shapefile.