Este es el segundo cuaderno R Markdown para el curso Geomatica Basica 2023, Muestra los mapas de los cultivos agrícolas de mayor producción en el departamento del Choco. Se Usara como fuente principal un archivo excel que contiene las Evaluaciones Agropecuarias Municipales (EVA) producidas por la UPRA para el año 2020.
Esta sera la configuracion utilizada para la lectura y analicis del archivo EVA
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)
library(sf)
## Linking to GEOS 3.9.3, GDAL 3.5.2, PROJ 8.2.1; sf_use_s2() is TRUE
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats 1.0.0 ✔ stringr 1.5.0
## ✔ ggplot2 3.4.1 ✔ tibble 3.2.0
## ✔ lubridate 1.9.2 ✔ tidyr 1.3.0
## ✔ purrr 1.0.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
En este espacio vamos a leer el archivo con los datos de estadísticas agropecuarias municipales, cultivos, ciudades y los describimos.
list.files("C:/Cuaderno2/", pattern=c('csv'))
## [1] "CEREALES2018.csv" "co.csv" "COL_cities.csv" "eva.csv"
## [5] "TYP2018.csv"
Ahora, procedamos a leer los archivos basados en EVA obtenidos del primer cuaderno:
(PLATANO= read.csv("C:/Cuaderno1/TYP2018.csv"))
## COD_MUN MUNICIPIO GRUPO_CULTIVO max_prod
## 1 27615 RIOSUCIO TUBERCULOS Y PLATANOS 90460
## 2 27150 CARMEN DEL DARIEN TUBERCULOS Y PLATANOS 77726
## 3 27025 ALTO BAUDO TUBERCULOS Y PLATANOS 22050
## 4 27001 QUIBDO TUBERCULOS Y PLATANOS 20790
## 5 27099 BOJAYA TUBERCULOS Y PLATANOS 20120
## 6 27800 UNGUIA TUBERCULOS Y PLATANOS 19520
## 7 27430 MEDIO BAUDO TUBERCULOS Y PLATANOS 6921
## 8 27495 NUQUI TUBERCULOS Y PLATANOS 5865
## 9 27250 LITORAL DEL SAN JUAN TUBERCULOS Y PLATANOS 5000
## 10 27425 MEDIO ATRATO TUBERCULOS Y PLATANOS 4056
## 11 27075 BAHIA SOLANO TUBERCULOS Y PLATANOS 3520
## 12 27006 ACANDI TUBERCULOS Y PLATANOS 3000
## 13 27660 SAN JOSE DEL PALMAR TUBERCULOS Y PLATANOS 2338
## 14 27372 JURADO TUBERCULOS Y PLATANOS 2244
## 15 27050 ATRATO TUBERCULOS Y PLATANOS 2150
## 16 27450 MEDIO SAN JUAN TUBERCULOS Y PLATANOS 2100
## 17 27135 EL CANTON DEL SAN PABLO TUBERCULOS Y PLATANOS 1770
## 18 27077 BAJO BAUDO TUBERCULOS Y PLATANOS 1740
## 19 27491 NOVITA TUBERCULOS Y PLATANOS 1600
## 20 27073 BAGADO TUBERCULOS Y PLATANOS 1515
## 21 27361 ISTMINA TUBERCULOS Y PLATANOS 1470
## 22 27600 RIO QUITO TUBERCULOS Y PLATANOS 1050
## 23 27580 RIO IRO TUBERCULOS Y PLATANOS 840
## 24 27245 CARMEN DEL ATRATO TUBERCULOS Y PLATANOS 800
## 25 27413 LLORO TUBERCULOS Y PLATANOS 600
## 26 27810 UNION PANAMERICANA TUBERCULOS Y PLATANOS 350
## 27 27205 CONDOTO TUBERCULOS Y PLATANOS 270
## 28 27745 SIPI TUBERCULOS Y PLATANOS 252
## 29 27160 CERTEGUI TUBERCULOS Y PLATANOS 178
## 30 27787 TADO TUBERCULOS Y PLATANOS 175
(municipios= st_read("C:/Users/usuario/Desktop/2023/2023-1/GEOMATICA/Proyecto_23.03/COL_adm2.shp"))
## Reading layer `COL_adm2' from data source
## `C:\Users\usuario\Desktop\2023\2023-1\GEOMATICA\Proyecto_23.03\COL_adm2.shp'
## using driver `ESRI Shapefile'
## Simple feature collection with 21 features and 12 fields
## Geometry type: MULTIPOLYGON
## Dimension: XY
## Bounding box: xmin: -78.31375 ymin: 3.992801 xmax: -76.0173 ymax: 8.658194
## Geodetic CRS: WGS 84
## Simple feature collection with 21 features and 12 fields
## Geometry type: MULTIPOLYGON
## Dimension: XY
## Bounding box: xmin: -78.31375 ymin: 3.992801 xmax: -76.0173 ymax: 8.658194
## Geodetic CRS: WGS 84
## First 10 features:
## ID_0 ISO NAME_0 ID_1 NAME_1 ID_2 NAME_2 TYPE_2
## 1 NA COL Colombia 13 Chocó 469 Acandí Municipio
## 2 NA COL Colombia 13 Chocó 470 Alto Baudó Municipio
## 3 NA COL Colombia 13 Chocó 471 Bagadó Municipio
## 4 NA COL Colombia 13 Chocó 472 Bahía Solano <NA>
## 5 NA COL Colombia 13 Chocó 473 Bajo Baudó <NA>
## 6 NA COL Colombia 13 Chocó 474 Bojayá Municipio
## 7 NA COL Colombia 13 Chocó 475 Condoto Municipio
## 8 NA COL Colombia 13 Chocó 476 El Cantón del San Pablo Municipio
## 9 NA COL Colombia 13 Chocó 477 El Carmen de Atrato Municipio
## 10 NA COL Colombia 13 Chocó 478 El Litoral del San Juan Municipio
## ENGTYPE_2 NL_NAME_2 VARNAME_2 AREA
## 1 Municipality <NA> <NA> 81465
## 2 Municipality <NA> Pie de Pato 190772
## 3 Municipality <NA> <NA> 112207
## 4 <NA> <NA> <NA> 108223
## 5 <NA> <NA> Piza|Pizarro 442761
## 6 Municipality <NA> <NA> 311662
## 7 Municipality <NA> <NA> 89121
## 8 Municipality <NA> San Pablo 58158
## 9 Municipality <NA> El Carmen 91935
## 10 Municipality <NA> Litoral Del San Juan 491488
## geometry
## 1 MULTIPOLYGON (((-77.10431 8...
## 2 MULTIPOLYGON (((-76.8387 5....
## 3 MULTIPOLYGON (((-76.0173 5....
## 4 MULTIPOLYGON (((-77.45625 6...
## 5 MULTIPOLYGON (((-77.33264 4...
## 6 MULTIPOLYGON (((-76.8514 6....
## 7 MULTIPOLYGON (((-76.703 4.9...
## 8 MULTIPOLYGON (((-76.6074 5....
## 9 MULTIPOLYGON (((-76.1327 5....
## 10 MULTIPOLYGON (((-77.49014 4...
(ciudades = read_csv("co.csv"))
## Rows: 1102 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,102 × 9
## city lat lng country iso2 admin_name capital popul…¹ popul…²
## <chr> <dbl> <dbl> <chr> <chr> <chr> <chr> <dbl> <dbl>
## 1 Bogotá 4.61 -74.1 Colombia CO Bogotá primary 9464000 7963000
## 2 Medellín 6.24 -75.6 Colombia CO Antioquia admin 2529403 2529403
## 3 Cali 3.44 -76.5 Colombia CO Valle del Ca… admin 2471474 2471474
## 4 Barranquilla 11.0 -74.8 Colombia CO Atlántico admin 1274250 1274250
## 5 Cartagena 10.4 -75.5 Colombia CO Bolívar admin 1036412 1036412
## 6 Soacha 4.58 -74.2 Colombia CO Cundinamarca minor 995268 995268
## 7 Palermo 2.89 -75.4 Colombia CO Huila minor 800000 800000
## 8 Cúcuta 7.91 -72.5 Colombia CO Norte de San… admin 750000 750000
## 9 Soledad 10.9 -74.8 Colombia CO Atlántico minor 698852 342556
## 10 Pereira 4.81 -75.7 Colombia CO Risaralda admin 590554 590554
## # … with 1,092 more rows, and abbreviated variable names ¹population,
## # ²population_proper
Se Convierten los datos en un objeto de función simple
sf.cities <- st_as_sf(x = ciudades,
coords = c("lng", "lat"))
sf.cities
## Simple feature collection with 1102 features and 7 fields
## Geometry type: POINT
## Dimension: XY
## Bounding box: xmin: -81.7006 ymin: -4.215 xmax: -67.4858 ymax: 13.3817
## CRS: NA
## # A tibble: 1,102 × 8
## city country iso2 admin…¹ capital popul…² popul…³ geometry
## <chr> <chr> <chr> <chr> <chr> <dbl> <dbl> <POINT>
## 1 Bogo… Colomb… CO Bogotá primary 9464000 7963000 (-74.0705 4.6126)
## 2 Mede… Colomb… CO Antioq… admin 2529403 2529403 (-75.5748 6.2447)
## 3 Cali Colomb… CO Valle … admin 2471474 2471474 (-76.5197 3.44)
## 4 Barr… Colomb… CO Atlánt… admin 1274250 1274250 (-74.7964 10.9639)
## 5 Cart… Colomb… CO Bolívar admin 1036412 1036412 (-75.5253 10.4236)
## 6 Soac… Colomb… CO Cundin… minor 995268 995268 (-74.2144 4.5781)
## 7 Pale… Colomb… CO Huila minor 800000 800000 (-75.4339 2.8883)
## 8 Cúcu… Colomb… CO Norte … admin 750000 750000 (-72.5047 7.9075)
## 9 Sole… Colomb… CO Atlánt… minor 698852 342556 (-74.77 10.92)
## 10 Pere… Colomb… CO Risara… admin 590554 590554 (-75.6946 4.8143)
## # … with 1,092 more rows, and abbreviated variable names ¹admin_name,
## # ²population, ³population_proper
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:
sf.cities.joined <- st_join(sf.cities, municipios, join = st_within)
Para mostrar el objeto unido:
sf.cities.joined
## Simple feature collection with 1102 features and 19 fields
## Geometry type: POINT
## Dimension: XY
## Bounding box: xmin: -81.7006 ymin: -4.215 xmax: -67.4858 ymax: 13.3817
## Geodetic CRS: WGS 84
## # A tibble: 1,102 × 20
## city country iso2 admin…¹ capital popul…² popul…³ geometry
## * <chr> <chr> <chr> <chr> <chr> <dbl> <dbl> <POINT [°]>
## 1 Bogo… Colomb… CO Bogotá primary 9464000 7963000 (-74.0705 4.6126)
## 2 Mede… Colomb… CO Antioq… admin 2529403 2529403 (-75.5748 6.2447)
## 3 Cali Colomb… CO Valle … admin 2471474 2471474 (-76.5197 3.44)
## 4 Barr… Colomb… CO Atlánt… admin 1274250 1274250 (-74.7964 10.9639)
## 5 Cart… Colomb… CO Bolívar admin 1036412 1036412 (-75.5253 10.4236)
## 6 Soac… Colomb… CO Cundin… minor 995268 995268 (-74.2144 4.5781)
## 7 Pale… Colomb… CO Huila minor 800000 800000 (-75.4339 2.8883)
## 8 Cúcu… Colomb… CO Norte … admin 750000 750000 (-72.5047 7.9075)
## 9 Sole… Colomb… CO Atlánt… minor 698852 342556 (-74.77 10.92)
## 10 Pere… Colomb… CO Risara… admin 590554 590554 (-75.6946 4.8143)
## # … with 1,092 more rows, 12 more variables: ID_0 <dbl>, ISO <chr>,
## # NAME_0 <chr>, ID_1 <dbl>, NAME_1 <chr>, ID_2 <dbl>, NAME_2 <chr>,
## # TYPE_2 <chr>, ENGTYPE_2 <chr>, NL_NAME_2 <chr>, VARNAME_2 <chr>,
## # AREA <dbl>, and abbreviated variable names ¹admin_name, ²population,
## # ³population_proper
Ahora, vamos a filtrar las filas que corresponden a nuestro departamento (en este caso Choco):
choco.cities = dplyr::filter(sf.cities.joined, admin_name=='Chocó')
choco.cities
## Simple feature collection with 30 features and 19 fields
## Geometry type: POINT
## Dimension: XY
## Bounding box: xmin: -77.7714 ymin: 4.2586 xmax: -76.1431 ymax: 8.5114
## Geodetic CRS: WGS 84
## # A tibble: 30 × 20
## city country iso2 admin…¹ capital popul…² popul…³ geometry
## * <chr> <chr> <chr> <chr> <chr> <dbl> <dbl> <POINT [°]>
## 1 Quib… Colomb… CO Chocó admin 130825 130825 (-76.6582 5.6923)
## 2 Pie … Colomb… CO Chocó minor 40733 40733 (-76.9747 5.5153)
## 3 Rios… Colomb… CO Chocó minor 29036 29036 (-77.1133 7.4386)
## 4 Istm… Colomb… CO Chocó minor 25981 25981 (-76.6867 5.1633)
## 5 Tadó Colomb… CO Chocó minor 18906 18906 (-76.56 5.2633)
## 6 Cond… Colomb… CO Chocó minor 14660 14660 (-76.65 5.0917)
## 7 El C… Colomb… CO Chocó minor 14049 14049 (-76.1431 5.8983)
## 8 Nuquí Colomb… CO Chocó minor 8958 8958 (-77.2703 5.7069)
## 9 Jura… Colomb… CO Chocó minor 2351 2351 (-77.7714 7.1114)
## 10 Ánim… Colomb… CO Chocó minor NA NA (-76.6308 5.2778)
## # … with 20 more rows, 12 more variables: ID_0 <dbl>, ISO <chr>, NAME_0 <chr>,
## # ID_1 <dbl>, NAME_1 <chr>, ID_2 <dbl>, NAME_2 <chr>, TYPE_2 <chr>,
## # ENGTYPE_2 <chr>, NL_NAME_2 <chr>, VARNAME_2 <chr>, AREA <dbl>, and
## # abbreviated variable names ¹admin_name, ²population, ³population_proper
Obtuvimos 30 ciudades ubicadas en Choco.
Ahora, haremos un mapa con estos datos. Usaremos las bibliotecas tmap, ggplot2 y classInt.
library(tmap)
library(ggplot2)
library(ggrepel)
library(classInt)
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 nombre municipal.
PLATANO$MUNICIPIO = as.character(choco.cities$city)
Ahora, estamos listos para hacer una unión.
munic_platano = left_join(PLATANO, choco.cities, by = c("MUNICIPIO" = "city"))
munic_platano
## COD_MUN MUNICIPIO GRUPO_CULTIVO max_prod country
## 1 27615 Quibdó TUBERCULOS Y PLATANOS 90460 Colombia
## 2 27150 Pie de Pató TUBERCULOS Y PLATANOS 77726 Colombia
## 3 27025 Riosucio TUBERCULOS Y PLATANOS 22050 Colombia
## 4 27001 Istmina TUBERCULOS Y PLATANOS 20790 Colombia
## 5 27099 Tadó TUBERCULOS Y PLATANOS 20120 Colombia
## 6 27800 Condoto TUBERCULOS Y PLATANOS 19520 Colombia
## 7 27430 El Carmen de Atrato TUBERCULOS Y PLATANOS 6921 Colombia
## 8 27495 Nuquí TUBERCULOS Y PLATANOS 5865 Colombia
## 9 27250 Juradó TUBERCULOS Y PLATANOS 5000 Colombia
## 10 27425 Ánimas TUBERCULOS Y PLATANOS 4056 Colombia
## 11 27075 Santa Rita TUBERCULOS Y PLATANOS 3520 Colombia
## 12 27006 Cértegui TUBERCULOS Y PLATANOS 3000 Colombia
## 13 27660 Andagoya TUBERCULOS Y PLATANOS 2338 Colombia
## 14 27372 Yuto TUBERCULOS Y PLATANOS 2244 Colombia
## 15 27050 Managrú TUBERCULOS Y PLATANOS 2150 Colombia
## 16 27450 Beté TUBERCULOS Y PLATANOS 2100 Colombia
## 17 27135 Paimadó TUBERCULOS Y PLATANOS 1770 Colombia
## 18 27077 Lloró TUBERCULOS Y PLATANOS 1740 Colombia
## 19 27491 Unguía TUBERCULOS Y PLATANOS 1600 Colombia
## 20 27073 Acandí TUBERCULOS Y PLATANOS 1515 Colombia
## 21 27361 Bagadó TUBERCULOS Y PLATANOS 1470 Colombia
## 22 27600 Mutis TUBERCULOS Y PLATANOS 1050 Colombia
## 23 27580 Puerto Meluk TUBERCULOS Y PLATANOS 840 Colombia
## 24 27245 Nóvita TUBERCULOS Y PLATANOS 800 Colombia
## 25 27413 Pizarro TUBERCULOS Y PLATANOS 600 Colombia
## 26 27810 Santa Genoveva de Docordó TUBERCULOS Y PLATANOS 350 Colombia
## 27 27205 Sipí TUBERCULOS Y PLATANOS 270 Colombia
## 28 27745 Bellavista TUBERCULOS Y PLATANOS 252 Colombia
## 29 27160 San José del Palmar TUBERCULOS Y PLATANOS 178 Colombia
## 30 27787 Curbaradó TUBERCULOS Y PLATANOS 175 Colombia
## iso2 admin_name capital population population_proper geometry
## 1 CO Chocó admin 130825 130825 POINT (-76.6582 5.6923)
## 2 CO Chocó minor 40733 40733 POINT (-76.9747 5.5153)
## 3 CO Chocó minor 29036 29036 POINT (-77.1133 7.4386)
## 4 CO Chocó minor 25981 25981 POINT (-76.6867 5.1633)
## 5 CO Chocó minor 18906 18906 POINT (-76.56 5.2633)
## 6 CO Chocó minor 14660 14660 POINT (-76.65 5.0917)
## 7 CO Chocó minor 14049 14049 POINT (-76.1431 5.8983)
## 8 CO Chocó minor 8958 8958 POINT (-77.2703 5.7069)
## 9 CO Chocó minor 2351 2351 POINT (-77.7714 7.1114)
## 10 CO Chocó minor NA NA POINT (-76.6308 5.2778)
## 11 CO Chocó minor NA NA POINT (-76.4833 5.1833)
## 12 CO Chocó minor NA NA POINT (-76.6061 5.3711)
## 13 CO Chocó minor NA NA POINT (-76.6958 5.0977)
## 14 CO Chocó minor NA NA POINT (-76.6351 5.5317)
## 15 CO Chocó minor NA NA POINT (-76.7276 5.3365)
## 16 CO Chocó minor NA NA POINT (-76.7812 5.9946)
## 17 CO Chocó minor NA NA POINT (-76.7405 5.4831)
## 18 CO Chocó minor NA NA POINT (-76.5414 5.4983)
## 19 CO Chocó minor NA NA POINT (-77.09 8.045)
## 20 CO Chocó minor NA NA POINT (-77.2778 8.5114)
## 21 CO Chocó minor NA NA POINT (-76.4158 5.4103)
## 22 CO Chocó minor NA NA POINT (-77.4039 6.2242)
## 23 CO Chocó minor NA NA POINT (-76.9369 5.2213)
## 24 CO Chocó minor NA NA POINT (-76.6061 4.9561)
## 25 CO Chocó minor NA NA POINT (-77.3636 4.9542)
## 26 CO Chocó minor NA NA POINT (-77.3675 4.2586)
## 27 CO Chocó minor NA NA POINT (-76.6439 4.6517)
## 28 CO Chocó minor NA NA POINT (-76.9744 6.5236)
## 29 CO Chocó minor NA NA POINT (-76.2342 4.8969)
## 30 CO Chocó minor NA NA POINT (-76.9711 7.1578)
## ID_0 ISO NAME_0 ID_1 NAME_1 ID_2 NAME_2 TYPE_2
## 1 NA COL Colombia 13 Chocó 484 Quibdó Municipio
## 2 NA COL Colombia 13 Chocó 470 Alto Baudó Municipio
## 3 NA COL Colombia 13 Chocó 485 Riosucio Municipio
## 4 NA COL Colombia 13 Chocó 479 Istmina Municipio
## 5 NA COL Colombia 13 Chocó 488 Tadó Municipio
## 6 NA COL Colombia 13 Chocó 475 Condoto Municipio
## 7 NA <NA> <NA> NA <NA> NA <NA> <NA>
## 8 NA COL Colombia 13 Chocó 483 Nuquí Municipio
## 9 NA <NA> <NA> NA <NA> NA <NA> <NA>
## 10 NA COL Colombia 13 Chocó 488 Tadó Municipio
## 11 NA COL Colombia 13 Chocó 475 Condoto Municipio
## 12 NA COL Colombia 13 Chocó 488 Tadó Municipio
## 13 NA COL Colombia 13 Chocó 479 Istmina Municipio
## 14 NA COL Colombia 13 Chocó 484 Quibdó Municipio
## 15 NA COL Colombia 13 Chocó 476 El Cantón del San Pablo Municipio
## 16 NA COL Colombia 13 Chocó 484 Quibdó Municipio
## 17 NA COL Colombia 13 Chocó 484 Quibdó Municipio
## 18 NA COL Colombia 13 Chocó 481 Lloró Municipio
## 19 NA COL Colombia 13 Chocó 489 Unguía Municipio
## 20 NA COL Colombia 13 Chocó 469 Acandí Municipio
## 21 NA COL Colombia 13 Chocó 471 Bagadó Municipio
## 22 NA COL Colombia 13 Chocó 472 Bahía Solano <NA>
## 23 NA COL Colombia 13 Chocó 473 Bajo Baudó <NA>
## 24 NA COL Colombia 13 Chocó 482 Novita Municipio
## 25 NA COL Colombia 13 Chocó 473 Bajo Baudó <NA>
## 26 NA COL Colombia 13 Chocó 478 El Litoral del San Juan Municipio
## 27 NA COL Colombia 13 Chocó 487 Sipí Municipio
## 28 NA COL Colombia 13 Chocó 474 Bojayá Municipio
## 29 NA COL Colombia 13 Chocó 486 San José del Palmar Municipio
## 30 NA COL Colombia 13 Chocó 485 Riosucio Municipio
## ENGTYPE_2 NL_NAME_2 VARNAME_2 AREA
## 1 Municipality <NA> <NA> 680760
## 2 Municipality <NA> Pie de Pato 190772
## 3 Municipality <NA> <NA> 972467
## 4 Municipality <NA> <NA> 110794
## 5 Municipality <NA> <NA> 72590
## 6 Municipality <NA> <NA> 89121
## 7 <NA> <NA> <NA> NA
## 8 Municipality <NA> <NA> 75565
## 9 <NA> <NA> <NA> NA
## 10 Municipality <NA> <NA> 72590
## 11 Municipality <NA> <NA> 89121
## 12 Municipality <NA> <NA> 72590
## 13 Municipality <NA> <NA> 110794
## 14 Municipality <NA> <NA> 680760
## 15 Municipality <NA> San Pablo 58158
## 16 Municipality <NA> <NA> 680760
## 17 Municipality <NA> <NA> 680760
## 18 Municipality <NA> <NA> 74234
## 19 Municipality <NA> <NA> 112214
## 20 Municipality <NA> <NA> 81465
## 21 Municipality <NA> <NA> 112207
## 22 <NA> <NA> <NA> 108223
## 23 <NA> <NA> Piza|Pizarro 442761
## 24 Municipality <NA> <NA> 121594
## 25 <NA> <NA> Piza|Pizarro 442761
## 26 Municipality <NA> Litoral Del San Juan 491488
## 27 Municipality <NA> <NA> 127263
## 28 Municipality <NA> <NA> 311662
## 29 Municipality <NA> San Jose Del Pal 52112
## 30 Municipality <NA> <NA> 972467
Tenga en cuenta que munic_platano ahora incluye el atributo max_prod que representa la cantidad total de toneladas producidas por cultivos de tuberculos y platano en 2018.
breaks <- classIntervals(munic_platano$max_prod, n = 10, style = 'fisher')
Rangos de etiqueta
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], ']')
}
choco.cities <-st_transform(choco.cities,4326)
Ahora, el mapa estático:
munic_platano <- munic_platano %>%
mutate(faktor_class = factor(cut(max_prod, breaks$brks, include.lowest = T), labels = lab_vec))
cambiar el nombre del atributo
munic_platano$Produccion = munic_platano$faktor_class
munic_platano$Produccion
## [1] (84093 - 90460] (49888 - 84093] (21420 - 49888] (13220.5 - 21420]
## [5] (13220.5 - 21420] (13220.5 - 21420] (6393 - 13220.5] (4528 - 6393]
## [9] (4528 - 6393] (2669 - 4528] (2669 - 4528] (2669 - 4528]
## [13] (1935 - 2669] (1935 - 2669] (1935 - 2669] (1935 - 2669]
## [17] (945 - 1935] (945 - 1935] (945 - 1935] (945 - 1935]
## [21] (945 - 1935] (945 - 1935] [175 - 945] [175 - 945]
## [25] [175 - 945] [175 - 945] [175 - 945] [175 - 945]
## [29] [175 - 945] [175 - 945]
## 10 Levels: [175 - 945] (945 - 1935] (1935 - 2669] ... (84093 - 90460]
Este código crea un nuevo campo (“mid”) con coordenadas centroides
munic_platano$mid <- sf::st_centroid(munic_platano$geometry)
Obtener los valores de longitud
LONG = st_coordinates(munic_platano$mid)[,1]
LAT = st_coordinates(munic_platano$mid)[,2]
ggplot(data = munic_platano) +
geom_sf(aes(geometry = geometry, fill = max_prod)) +
geom_label_repel(aes(x = LONG, y = LAT, label = MUNICIPIO),
label.padding = unit(0.05,"lines"),
label.r = unit(0.025, "lines"),
label.size = 0.05,
max.overlaps = 50)
# Convertir el objeto a la clase 'sf'
munic_platano_sf <- st_as_sf(munic_platano)
# Transformar los datos a un sistema de coordenadas UTM
munic_platano_sf <- st_transform(munic_platano_sf, "+proj=utm +zone=19 +south +ellps=WGS84")
# Limitar la muestra a los 20 municipios con mayores valores de max_prod
munic_platano_top20 <- munic_platano_sf %>%
top_n(20, max_prod)
# Graficar la geometría y los puntos con leyendas
ggplot(data = munic_platano) +
geom_sf(aes(geometry = geometry, fill = max_prod)) +
geom_label_repel(aes(x = LONG, y = LAT, label = MUNICIPIO),
label.padding = unit(0.05,"lines"),
label.r = unit(0.025, "lines"),
label.size = 0.05,
max.overlaps = 50)