Este es el segundo R Markdown Notebook para el curso Geomatica Basica 2023. Este mismo ilustra cómo hacer mapas temáticos que muestren la participación municipal de los dos grupos de cultivos más importantes para un departamento determinado, en nuestro caso Risaralda. Usaremos como fuente principal los archivos csv guardados en la libreta EVA, así como un shapefile de municipios obtenido en clase.
Esta sera la configuracion utilizada para la lectura y analisis de los archivos de interes
#run the following lines from the command line: #install.packages(‘dplyr’) #install.packages(‘readxl’) #install.packages(’sf)
library(sf)
## Warning: package 'sf' was built under R version 4.2.3
## Linking to GEOS 3.9.3, GDAL 3.5.2, PROJ 8.2.1; sf_use_s2() is TRUE
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(readr)
list.files("C:/Cuaderno1/datos", pattern=c('csv'))
## [1] "co.csv" "OTROS_PERMANENTES2018.csv"
## [3] "TUBERCULOSYPLATANOS2018.csv"
list.files("C:/Cuaderno1/MUNICIPIOS.shp")
## character(0)
(OTROS_PERMANENTES2018 = read_csv("C:/Cuaderno1/datos/OTROS_PERMANENTES2018.csv", show_col_types = FALSE))
## # A tibble: 14 × 4
## COD_MUN MUNICIPIO GRUPO_CUL max_prod
## <dbl> <chr> <chr> <dbl>
## 1 66075 BALBOA OTROS PERMANENTES 192273
## 2 66687 SANTUARIO OTROS PERMANENTES 98273
## 3 66400 LA VIRGINIA OTROS PERMANENTES 26029
## 4 66088 BELEN DE UMBRIA OTROS PERMANENTES 10139
## 5 66001 PEREIRA OTROS PERMANENTES 9742
## 6 66572 PUEBLO RICO OTROS PERMANENTES 8855
## 7 66594 QUINCHIA OTROS PERMANENTES 5110
## 8 66682 SANTA ROSA DE CABAL OTROS PERMANENTES 4817
## 9 66440 MARSELLA OTROS PERMANENTES 4612
## 10 66318 GUATICA OTROS PERMANENTES 4096
## 11 66045 APIA OTROS PERMANENTES 3716
## 12 66383 LA CELIA OTROS PERMANENTES 3403
## 13 66456 MISTRATO OTROS PERMANENTES 1336
## 14 66170 DOS QUEBRADAS OTROS PERMANENTES 1260
Ahora leeremos los municipios de nuestro departamento
library(stringr)
# this shapefile must have a 4326 EPSG code
# this shapefile was obtained in class using QGIS
(mun.tmp = st_read("C:/Cuaderno1/MUNICIPIOS.shp"))
## Reading layer `MUNICIPIOS' from data source `C:\Cuaderno1\MUNICIPIOS.shp' using driver `ESRI Shapefile'
## Simple feature collection with 14 features and 14 fields
## Geometry type: POLYGON
## Dimension: XY
## Bounding box: xmin: -76.3595 ymin: 4.670201 xmax: -75.411 ymax: 5.475137
## Geodetic CRS: WGS 84
## Simple feature collection with 14 features and 14 fields
## Geometry type: POLYGON
## Dimension: XY
## Bounding box: xmin: -76.3595 ymin: 4.670201 xmax: -75.411 ymax: 5.475137
## Geodetic CRS: WGS 84
## First 10 features:
## fid ID_0 ISO NAME_0 ID_1 NAME_1 ID_2 NAME_2 TYPE_2
## 1 1 53 COL Colombia 25 Risaralda 838 Apía Municipio
## 2 2 53 COL Colombia 25 Risaralda 839 Balboa Municipio
## 3 3 53 COL Colombia 25 Risaralda 840 Belén de Umbría Municipio
## 4 4 53 COL Colombia 25 Risaralda 841 Dosquebradas Municipio
## 5 5 53 COL Colombia 25 Risaralda 842 Guática Municipio
## 6 6 53 COL Colombia 25 Risaralda 843 La Celia Municipio
## 7 7 53 COL Colombia 25 Risaralda 844 La Virginia Municipio
## 8 8 53 COL Colombia 25 Risaralda 845 Marsella Municipio
## 9 9 53 COL Colombia 25 Risaralda 846 Mistrato Municipio
## 10 10 53 COL Colombia 25 Risaralda 847 Pereira Municipio
## ENGTYPE_2 NL_NAME_2 VARNAME_2 AREA AREA1
## 1 Municipality <NA> <NA> 255 255.15373
## 2 Municipality <NA> <NA> 149 148.75731
## 3 Municipality <NA> <NA> 175 175.30133
## 4 Municipality <NA> Dos Quebradas 71 70.88232
## 5 Municipality <NA> <NA> 101 101.06658
## 6 Municipality <NA> <NA> 73 73.21514
## 7 Municipality <NA> <NA> 31 30.59224
## 8 Municipality <NA> <NA> 164 164.16023
## 9 Municipality <NA> <NA> 566 566.09186
## 10 Municipality <NA> <NA> 652 651.78611
## geometry
## 1 POLYGON ((-76.1697 4.965092...
## 2 POLYGON ((-76.0186 4.869299...
## 3 POLYGON ((-75.986 5.228999,...
## 4 POLYGON ((-75.6566 4.751701...
## 5 POLYGON ((-75.8978 5.264499...
## 6 POLYGON ((-76.05933 4.93264...
## 7 POLYGON ((-75.9068 4.920801...
## 8 POLYGON ((-75.723 4.921799,...
## 9 POLYGON ((-75.8978 5.264499...
## 10 POLYGON ((-75.7459 4.7087, ...
mun.tmp = mun.tmp %>%
mutate(NAME_1 = toupper(NAME_1),
NAME_2 = toupper(NAME_2),
NAME_2 = str_replace_all(NAME_2, 'Á', 'A'),
NAME_2 = str_replace_all(NAME_2, 'É', 'E'),
NAME_2 = str_replace_all(NAME_2, 'Í', 'I'),
NAME_2 = str_replace_all(NAME_2, 'Ó', 'O'),
NAME_2 = str_replace_all(NAME_2, 'Ú', 'U'),
NAME_2 = str_replace_all(NAME_2, 'DOSQUEBRADAS', 'DOS QUEBRADAS'),)
Procedemos a limpiar con algunos atributos que son de interes:
# verifique la salida del objeto en el último fragmento y
# Cambiar los nombres de los atributos segun sus datos
mun.tmp %>% select(ID_0, ID_2, AREA1) -> municipios
Ahora, lea el archivo csv de las ciudades:
# Este archivo se descargó de simplemaps como se describe anteriormente
(cities = read_csv("C:/Cuaderno1/datos/co.csv"))
## Rows: 1104 Columns: 9
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (5): city, country, iso2, admin_name, capital
## dbl (4): lat, lng, population, population_proper
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
## # A tibble: 1,104 × 9
## city lat lng country iso2 admin_name capital popul…¹ popul…²
## <chr> <dbl> <dbl> <chr> <chr> <chr> <chr> <dbl> <dbl>
## 1 Bogotá 4.71 -74.1 Colombia CO Bogotá primary 7968095 7743955
## 2 Timbío 2.34 -76.7 Colombia CO Cauca minor 4444444 4444444
## 3 Medellín 6.23 -75.6 Colombia CO Antioquia admin 2529403 2529403
## 4 Cali 3.42 -76.5 Colombia CO Valle del Ca… admin 2471474 2471474
## 5 Barranquilla 11.0 -74.8 Colombia CO Atlántico admin 1326588 1274250
## 6 Cartagena 10.4 -75.5 Colombia CO Bolívar admin 1036412 1036412
## 7 Bucaramanga 7.13 -73 Colombia CO Santander admin 870752 581130
## 8 Palermo 2.89 -75.4 Colombia CO Huila minor 800000 800000
## 9 Cúcuta 7.89 -72.5 Colombia CO Norte de San… admin 750000 750000
## 10 Soledad 10.9 -74.8 Colombia CO Atlántico minor 698852 455796
## # … with 1,094 more rows, and abbreviated variable names ¹population,
## # ²population_proper
# Convierta el marco de datos en un objeto de función simple
sf.cities <- st_as_sf(x = cities,
coords = c("lng", "lat"))
Observe el CRS faltante. Agreguemos el CRS usando el código EPSG:
st_crs(sf.cities) <- 4326
Como estamos interesados en un solo departamento, necesitamos crear una unión espacial:
# encontrar puntos (ciudades) dentro de polígonos (nuestros municipios)
sf.cities.joined <- st_join(sf.cities, municipios, join = st_within)
Para mostrar el objeto unido:
sf.cities.joined
## Simple feature collection with 1104 features and 10 fields
## Geometry type: POINT
## Dimension: XY
## Bounding box: xmin: -81.7006 ymin: -4.2167 xmax: -67.4667 ymax: 13.3817
## Geodetic CRS: WGS 84
## # A tibble: 1,104 × 11
## city country iso2 admin…¹ capital popul…² popul…³ geometry
## * <chr> <chr> <chr> <chr> <chr> <dbl> <dbl> <POINT [°]>
## 1 Bogo… Colomb… CO Bogotá primary 7968095 7743955 (-74.0722 4.7111)
## 2 Timb… Colomb… CO Cauca minor 4444444 4444444 (-76.6839 2.3445)
## 3 Mede… Colomb… CO Antioq… admin 2529403 2529403 (-75.5906 6.2308)
## 4 Cali Colomb… CO Valle … admin 2471474 2471474 (-76.5222 3.4206)
## 5 Barr… Colomb… CO Atlánt… admin 1326588 1274250 (-74.8019 10.9833)
## 6 Cart… Colomb… CO Bolívar admin 1036412 1036412 (-75.5 10.4)
## 7 Buca… Colomb… CO Santan… admin 870752 581130 (-73 7.1333)
## 8 Pale… Colomb… CO Huila minor 800000 800000 (-75.4375 2.8917)
## 9 Cúcu… Colomb… CO Norte … admin 750000 750000 (-72.5039 7.8942)
## 10 Sole… Colomb… CO Atlánt… minor 698852 455796 (-74.75 10.9167)
## # … with 1,094 more rows, 3 more variables: ID_0 <dbl>, ID_2 <dbl>,
## # AREA1 <dbl>, and abbreviated variable names ¹admin_name, ²population,
## # ³population_proper
Tenga en cuenta que obtuvimos un marco de datos sf con cada fila de ciudades anexadas con las columnas de nuestros municipios. Las ciudades ubicadas en un departamento diferente tienen muchas NAs.
Ahora, vamos a filtrar las filas que corresponden a nuestro departamento (en este caso Risaralda):
risaralda.cities = dplyr::filter(sf.cities.joined, admin_name=='Risaralda')
risaralda.cities
## Simple feature collection with 14 features and 10 fields
## Geometry type: POINT
## Dimension: XY
## Bounding box: xmin: -76.1667 ymin: 4.8143 xmax: -75.6167 ymax: 5.3379
## Geodetic CRS: WGS 84
## # A tibble: 14 × 11
## city country iso2 admin…¹ capital popul…² popul…³ geometry
## * <chr> <chr> <chr> <chr> <chr> <dbl> <dbl> <POINT [°]>
## 1 Pere… Colomb… CO Risara… admin 590554 590554 (-75.6946 4.8143)
## 2 Dosq… Colomb… CO Risara… minor 179301 179301 (-75.6833 4.8333)
## 3 Sant… Colomb… CO Risara… minor 73028 73028 (-75.6167 4.8667)
## 4 Quin… Colomb… CO Risara… minor 34005 34005 (-75.7296 5.3379)
## 5 La V… Colomb… CO Risara… minor 32330 32330 (-75.8333 4.9167)
## 6 Mars… Colomb… CO Risara… minor 24131 24131 (-75.75 4.9167)
## 7 Belé… Colomb… CO Risara… minor 21450 21450 (-75.8667 5.2)
## 8 Mist… Colomb… CO Risara… minor 16203 16203 (-75.8833 5.3)
## 9 Guát… Colomb… CO Risara… minor 15306 15306 (-75.8 5.3167)
## 10 Pueb… Colomb… CO Risara… minor 14429 14429 (-76.1667 5.25)
## 11 Sant… Colomb… CO Risara… minor 11787 11787 (-75.9623 5.0725)
## 12 Apía Colomb… CO Risara… minor 10707 10707 (-75.95 5.1)
## 13 La C… Colomb… CO Risara… minor 9000 9000 (-76.0039 5.0019)
## 14 Balb… Colomb… CO Risara… minor 6333 6333 (-75.95 4.9167)
## # … with 3 more variables: ID_0 <dbl>, ID_2 <dbl>, AREA1 <dbl>, and abbreviated
## # variable names ¹admin_name, ²population, ³population_proper
class(risaralda.cities$geometry)
## [1] "sfc_POINT" "sfc"
Obtuvimos – ciudades que estan localizadas en Risaralda
#Corremos las siguientes lineas con las librerias necesarias:
#install.packages("tmap")
#install.packages("ggplot2")
#install.packages("classInt")
library(tmap)
## Warning: package 'tmap' was built under R version 4.2.3
library(ggplot2)
library(ggrepel)
## Warning: package 'ggrepel' was built under R version 4.2.3
library(classInt)
## Warning: package 'classInt' was built under R version 4.2.3
Recordemos que el objeto municipios no tiene atributos EVA. En cambio, los objetos otros permanentes, que contienen estadísticas de cultivo, es un objeto no espacial. Nuestra próxima tarea es unir el objeto de estadísticas a los objetos espaciales para tener los datos relevantes en un solo objeto.
Para poder realizar la unión, necesitamos una clave compartida, es decir, un atributo común. En este caso lo tenemos en ambos objetos, ese es el código municipal.
### se deben verificar con los nuestros datos
class(OTROS_PERMANENTES2018$COD_MUN)
## [1] "numeric"
class(OTROS_PERMANENTES2018$MUNICIPIO)
## [1] "character"
class(OTROS_PERMANENTES2018$GRUPO_CUL)
## [1] "character"
class(municipios$ID_2)
## [1] "numeric"
Por esta razon debemos arreglar esto:
municipios$ID_2 = as.character(municipios$ID_2)
Ahora estamos listos para realizar la union
munic_otros_permanentes = left_join(mun.tmp, OTROS_PERMANENTES2018,
by = c("NAME_2" = "MUNICIPIO"))
unique(mun.tmp$NAME_2)
## [1] "APIA" "BALBOA" "BELEN DE UMBRIA"
## [4] "DOS QUEBRADAS" "GUATICA" "LA CELIA"
## [7] "LA VIRGINIA" "MARSELLA" "MISTRATO"
## [10] "PEREIRA" "PUEBLO RICO" "QUINCHIA"
## [13] "SANTA ROSA DE CABAL" "SANTUARIO"
unique(OTROS_PERMANENTES2018$MUNICIPIO)
## [1] "BALBOA" "SANTUARIO" "LA VIRGINIA"
## [4] "BELEN DE UMBRIA" "PEREIRA" "PUEBLO RICO"
## [7] "QUINCHIA" "SANTA ROSA DE CABAL" "MARSELLA"
## [10] "GUATICA" "APIA" "LA CELIA"
## [13] "MISTRATO" "DOS QUEBRADAS"
sum(is.na(munic_otros_permanentes$max_prod))
## [1] 0
munic_otros_permanentes
## Simple feature collection with 14 features and 17 fields
## Geometry type: POLYGON
## Dimension: XY
## Bounding box: xmin: -76.3595 ymin: 4.670201 xmax: -75.411 ymax: 5.475137
## Geodetic CRS: WGS 84
## First 10 features:
## fid ID_0 ISO NAME_0 ID_1 NAME_1 ID_2 NAME_2 TYPE_2
## 1 1 53 COL Colombia 25 RISARALDA 838 APIA Municipio
## 2 2 53 COL Colombia 25 RISARALDA 839 BALBOA Municipio
## 3 3 53 COL Colombia 25 RISARALDA 840 BELEN DE UMBRIA Municipio
## 4 4 53 COL Colombia 25 RISARALDA 841 DOS QUEBRADAS Municipio
## 5 5 53 COL Colombia 25 RISARALDA 842 GUATICA Municipio
## 6 6 53 COL Colombia 25 RISARALDA 843 LA CELIA Municipio
## 7 7 53 COL Colombia 25 RISARALDA 844 LA VIRGINIA Municipio
## 8 8 53 COL Colombia 25 RISARALDA 845 MARSELLA Municipio
## 9 9 53 COL Colombia 25 RISARALDA 846 MISTRATO Municipio
## 10 10 53 COL Colombia 25 RISARALDA 847 PEREIRA Municipio
## ENGTYPE_2 NL_NAME_2 VARNAME_2 AREA AREA1 COD_MUN
## 1 Municipality <NA> <NA> 255 255.15373 66045
## 2 Municipality <NA> <NA> 149 148.75731 66075
## 3 Municipality <NA> <NA> 175 175.30133 66088
## 4 Municipality <NA> Dos Quebradas 71 70.88232 66170
## 5 Municipality <NA> <NA> 101 101.06658 66318
## 6 Municipality <NA> <NA> 73 73.21514 66383
## 7 Municipality <NA> <NA> 31 30.59224 66400
## 8 Municipality <NA> <NA> 164 164.16023 66440
## 9 Municipality <NA> <NA> 566 566.09186 66456
## 10 Municipality <NA> <NA> 652 651.78611 66001
## GRUPO_CUL max_prod geometry
## 1 OTROS PERMANENTES 3716 POLYGON ((-76.1697 4.965092...
## 2 OTROS PERMANENTES 192273 POLYGON ((-76.0186 4.869299...
## 3 OTROS PERMANENTES 10139 POLYGON ((-75.986 5.228999,...
## 4 OTROS PERMANENTES 1260 POLYGON ((-75.6566 4.751701...
## 5 OTROS PERMANENTES 4096 POLYGON ((-75.8978 5.264499...
## 6 OTROS PERMANENTES 3403 POLYGON ((-76.05933 4.93264...
## 7 OTROS PERMANENTES 26029 POLYGON ((-75.9068 4.920801...
## 8 OTROS PERMANENTES 4612 POLYGON ((-75.723 4.921799,...
## 9 OTROS PERMANENTES 1336 POLYGON ((-75.8978 5.264499...
## 10 OTROS PERMANENTES 9742 POLYGON ((-75.7459 4.7087, ...
breaks <- classIntervals(OTROS_PERMANENTES2018$max_prod, n = 6, style = 'fisher')
#Etiquetas
lab_vec <- vector(length = length(breaks$brks)-1)
rounded_breaks <- round(breaks$brks,2)
lab_vec[1] <- paste0('[', rounded_breaks[1],' - ', rounded_breaks[2],']')
for(i in 2:(length(breaks$brks) - 1)){
lab_vec[i] <- paste0('(',rounded_breaks[i], ' - ', rounded_breaks[i+1], ']')}
Ahora un mapa estatico:
munic_otros_permanentes <- munic_otros_permanentes %>%
mutate(faktor_class = factor(cut(max_prod, breaks$brks, include.lowest = T), labels = lab_vec))
# cambiar el nombre del atributo
munic_otros_permanentes$max_prod = munic_otros_permanentes$faktor_class
# obtener las coordenadas de los centroides
munic_otros_permanentes$mid <- sf::st_centroid(munic_otros_permanentes$geometry)
# Obtener los valores de longitud
LONG = st_coordinates(munic_otros_permanentes$mid)[,1]
# Obtener los valores de latitud
LAT = st_coordinates(munic_otros_permanentes$mid)[,2]
ggplot(data = munic_otros_permanentes) +
geom_sf(aes(fill = max_prod)) +
geom_label_repel(aes(x = LONG, y = LAT, label = risaralda.cities$city),
label.padding = unit(0.05,"lines"),
label.r = unit(0.025, "lines"),
label.size = 0.05)
Aquí, utilizaremos los datos de EVA para el grupo de “-”, que representa la segunda mayor producción en 2018 en Risaralda.
Necesitamos realizar pasos similares a los anteriores:
(TUBERCULOSYPLATANOS2018 = read_csv("C:/Cuaderno1/datos/TUBERCULOSYPLATANOS2018.csv",show_col_types = FALSE))
## # A tibble: 14 × 4
## COD_MUN MUNICIPIO GRUPO_CUL max_prod
## <dbl> <chr> <chr> <dbl>
## 1 66088 BELEN DE UMBRIA TUBERCULOS Y PLATANOS 36600
## 2 66682 SANTA ROSA DE CABAL TUBERCULOS Y PLATANOS 35102
## 3 66440 MARSELLA TUBERCULOS Y PLATANOS 17501
## 4 66045 APIA TUBERCULOS Y PLATANOS 15332
## 5 66075 BALBOA TUBERCULOS Y PLATANOS 13244
## 6 66001 PEREIRA TUBERCULOS Y PLATANOS 12592
## 7 66318 GUATICA TUBERCULOS Y PLATANOS 9730
## 8 66383 LA CELIA TUBERCULOS Y PLATANOS 8029
## 9 66687 SANTUARIO TUBERCULOS Y PLATANOS 5647
## 10 66594 QUINCHIA TUBERCULOS Y PLATANOS 4600
## 11 66170 DOS QUEBRADAS TUBERCULOS Y PLATANOS 4430
## 12 66456 MISTRATO TUBERCULOS Y PLATANOS 2190
## 13 66572 PUEBLO RICO TUBERCULOS Y PLATANOS 540
## 14 66400 LA VIRGINIA TUBERCULOS Y PLATANOS 498
TUBERCULOSYPLATANOS2018$COD_MUN = as.character(TUBERCULOSYPLATANOS2018$COD_MUN)
MUNIC_TUBERCULOSYPLATANOS2018 = left_join(mun.tmp, TUBERCULOSYPLATANOS2018,
by = c("NAME_2" = "MUNICIPIO"))
MUNIC_TUBERCULOSYPLATANOS2018
## Simple feature collection with 14 features and 17 fields
## Geometry type: POLYGON
## Dimension: XY
## Bounding box: xmin: -76.3595 ymin: 4.670201 xmax: -75.411 ymax: 5.475137
## Geodetic CRS: WGS 84
## First 10 features:
## fid ID_0 ISO NAME_0 ID_1 NAME_1 ID_2 NAME_2 TYPE_2
## 1 1 53 COL Colombia 25 RISARALDA 838 APIA Municipio
## 2 2 53 COL Colombia 25 RISARALDA 839 BALBOA Municipio
## 3 3 53 COL Colombia 25 RISARALDA 840 BELEN DE UMBRIA Municipio
## 4 4 53 COL Colombia 25 RISARALDA 841 DOS QUEBRADAS Municipio
## 5 5 53 COL Colombia 25 RISARALDA 842 GUATICA Municipio
## 6 6 53 COL Colombia 25 RISARALDA 843 LA CELIA Municipio
## 7 7 53 COL Colombia 25 RISARALDA 844 LA VIRGINIA Municipio
## 8 8 53 COL Colombia 25 RISARALDA 845 MARSELLA Municipio
## 9 9 53 COL Colombia 25 RISARALDA 846 MISTRATO Municipio
## 10 10 53 COL Colombia 25 RISARALDA 847 PEREIRA Municipio
## ENGTYPE_2 NL_NAME_2 VARNAME_2 AREA AREA1 COD_MUN
## 1 Municipality <NA> <NA> 255 255.15373 66045
## 2 Municipality <NA> <NA> 149 148.75731 66075
## 3 Municipality <NA> <NA> 175 175.30133 66088
## 4 Municipality <NA> Dos Quebradas 71 70.88232 66170
## 5 Municipality <NA> <NA> 101 101.06658 66318
## 6 Municipality <NA> <NA> 73 73.21514 66383
## 7 Municipality <NA> <NA> 31 30.59224 66400
## 8 Municipality <NA> <NA> 164 164.16023 66440
## 9 Municipality <NA> <NA> 566 566.09186 66456
## 10 Municipality <NA> <NA> 652 651.78611 66001
## GRUPO_CUL max_prod geometry
## 1 TUBERCULOS Y PLATANOS 15332 POLYGON ((-76.1697 4.965092...
## 2 TUBERCULOS Y PLATANOS 13244 POLYGON ((-76.0186 4.869299...
## 3 TUBERCULOS Y PLATANOS 36600 POLYGON ((-75.986 5.228999,...
## 4 TUBERCULOS Y PLATANOS 4430 POLYGON ((-75.6566 4.751701...
## 5 TUBERCULOS Y PLATANOS 9730 POLYGON ((-75.8978 5.264499...
## 6 TUBERCULOS Y PLATANOS 8029 POLYGON ((-76.05933 4.93264...
## 7 TUBERCULOS Y PLATANOS 498 POLYGON ((-75.9068 4.920801...
## 8 TUBERCULOS Y PLATANOS 17501 POLYGON ((-75.723 4.921799,...
## 9 TUBERCULOS Y PLATANOS 2190 POLYGON ((-75.8978 5.264499...
## 10 TUBERCULOS Y PLATANOS 12592 POLYGON ((-75.7459 4.7087, ...
# mirar este ejemplo https://r-tmap.github.io/tmap-book/layout.html
facet = "max_prod"
oleag_map =
tm_shape(MUNIC_TUBERCULOSYPLATANOS2018) + tm_polygons(facet) + tm_text(text = "NAME_2", size = 0.7, fontfamily = "sans") +
tm_shape(risaralda.cities) + tm_symbols(shape = 2, col = "red", size = 0.20) +
tm_credits("Data source: UPRA (2020)", fontface = "bold") +
tm_layout(main.title = "Produccion de Tuberculos y Platanos 2018",
main.title.fontface = "bold.italic",
legend.title.fontfamily = "monospace") +
tm_scale_bar(position = c("left", "bottom"))
tmap_mode("view")
## tmap mode set to interactive viewing
oleag_map
## Credits not supported in view mode.
## Symbol shapes other than circles or icons are not supported in view mode.
Cuaderno realizado en base a: Lizarazo, I. Reading and processing municipal agricultural statistics for 2020.https://rpubs.com/ials2un/thematic_maps_v2.
sessionInfo()
## R version 4.2.2 (2022-10-31 ucrt)
## Platform: x86_64-w64-mingw32/x64 (64-bit)
## Running under: Windows 10 x64 (build 22621)
##
## 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
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] classInt_0.4-9 ggrepel_0.9.3 ggplot2_3.4.1 tmap_3.3-3 stringr_1.5.0
## [6] readr_2.1.4 dplyr_1.1.0 sf_1.0-12
##
## loaded via a namespace (and not attached):
## [1] sass_0.4.5 bit64_4.0.5 vroom_1.6.3
## [4] jsonlite_1.8.4 viridisLite_0.4.1 bslib_0.4.2
## [7] highr_0.10 sp_1.6-0 yaml_2.3.7
## [10] pillar_1.8.1 lattice_0.20-45 glue_1.6.2
## [13] digest_0.6.31 RColorBrewer_1.1-3 leaflet.providers_1.9.0
## [16] colorspace_2.1-0 htmltools_0.5.4 XML_3.99-0.14
## [19] pkgconfig_2.0.3 raster_3.6-20 stars_0.6-1
## [22] s2_1.1.3 scales_1.2.1 terra_1.7-29
## [25] tzdb_0.3.0 tibble_3.1.8 proxy_0.4-27
## [28] farver_2.1.1 generics_0.1.3 ellipsis_0.3.2
## [31] cachem_1.0.6 withr_2.5.0 leafsync_0.1.0
## [34] cli_3.6.0 mime_0.12 magrittr_2.0.3
## [37] crayon_1.5.2 evaluate_0.20 fansi_1.0.4
## [40] lwgeom_0.2-11 class_7.3-20 tools_4.2.2
## [43] hms_1.1.2 lifecycle_1.0.3 munsell_0.5.0
## [46] compiler_4.2.2 jquerylib_0.1.4 e1071_1.7-13
## [49] rlang_1.0.6 units_0.8-2 grid_4.2.2
## [52] tmaptools_3.1-1 dichromat_2.0-0.1 rstudioapi_0.14
## [55] htmlwidgets_1.6.2 crosstalk_1.2.0 leafem_0.2.0
## [58] base64enc_0.1-3 rmarkdown_2.20 wk_0.7.2
## [61] gtable_0.3.1 codetools_0.2-18 abind_1.4-5
## [64] DBI_1.1.3 markdown_1.5 R6_2.5.1
## [67] knitr_1.42 fastmap_1.1.0 bit_4.0.5
## [70] utf8_1.2.3 KernSmooth_2.23-20 stringi_1.7.12
## [73] parallel_4.2.2 Rcpp_1.0.10 vctrs_0.5.2
## [76] png_0.1-8 leaflet_2.1.2 tidyselect_1.2.0
## [79] xfun_0.37