Está en la página 1de 15

Cómo construir un buffer o área de influencia en R.

Cristian Escobedo Catalán

septiembre 2023

Contents
1. Contexto 1

2. Librerias y datos. 2
2.1. Librerias. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2. Datos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.3. Asignación de CRS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.4. Clase. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.5. Visualización. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.6. Escala espacial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.7. Visualización. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.8. Superposición de capas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

3. Análisis de los datos. 5


3.1. Selección prestador de salud. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2. Plotemos los hopsitales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.3. Buffer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.5. Visualizamos el resultado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.6. Dissolve. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.7. Visualizamos el resultado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.8. Complementemos el análisis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.9. Construcción de las clases. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.10. Visualizamos los resultados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.11. Visualización con los Hospitales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1. Contexto
En el presente documento, quiero mostrar cómo generar el geoprocesamiento buffer o área de influencia en R,
utilizando la libreria sf . En términos generales, las herramientas de geoprocesamiento son esenciales para
toda persona que realiza un análisis espacial, pues nos proporciona una marco de trabajo desde donde se
pueden realizar análisis sobre los datos geográficos. Por supuesto hay muchas más herramientas dentro de
este marco de geoproceso. Sin embargo, este documento se centrará en crear áreas de influencias.
¿Qué es un Buffer?
Un buffer es una herramienta que se enmarca dentro de lo que se conoce como estudios de proximidad. El
resultado de esta herramienta es la generación de un polígono que rodea una geometría como por ejemplo un
punto, en función a una distancia, fija o variable, definida por el analista.

1
2. Librerias y datos.
2.1. Librerias.
library(sf)
library(tidyverse)
library(openxlsx)
library(viridis)
library(viridisLite)
library(ggplot2)
library(ggspatial)

2.2. Datos.
Usaremos una base de datos en formato excel que cotiene información sobre los centros de salud de Chile.
salud_pais = readxl::read_excel("Establec_salud_mayo_2021.xls", sheet = 2)
head(salud_pais)

## # A tibble: 6 x 33
## C_ANT c_VIG C_MAD C_NMAD C_REG NOM_REG C_DEPEND DEPEN PERENEC TIPO AMBITO
## <chr> <dbl> <chr> <chr> <dbl> <chr> <dbl> <chr> <chr> <chr> <chr>
## 1 01-010 101010 No Apl~ No Ap~ 15 Región~ 1 Serv~ Perten~ Dire~ Unida~
## 2 01-011 101011 01-010 101010 15 Región~ 1 Serv~ Perten~ Prog~ Progr~
## 3 01-012 101012 01-010 101010 15 Región~ 1 Serv~ Perten~ Clín~ Estab~
## 4 01-030 101030 No Apl~ No Ap~ 15 Región~ 1 Serv~ Perten~ Unid~ Unida~
## 5 01-090 101090 No Apl~ No Ap~ 15 Región~ 15 SERE~ No Per~ Ofic~ Unida~
## 6 01-100 101100 No Apl~ No Ap~ 15 Región~ 1 Serv~ Perten~ Hosp~ Estab~
## # i 22 more variables: URGENCIA <chr>, CERTIFICA <chr>, DEPEN_A <chr>,
## # NIVEL <chr>, NOMBRE <chr>, C_COM <chr>, NOM_COM <chr>, VIA <chr>,
## # NUMERO <chr>, DIRECCION <chr>, FONO <chr>, F_INICIO <dbl>, F_REAPER <chr>,
## # SAPU <chr>, F_CAMBIO <chr>, TIPO_CAMB <chr>, LATITUD <dbl>, LONGITUD <dbl>,
## # PRESTADOR <chr>, ESTADO <chr>, NIVEL_COM <chr>, MODALIDAD <chr>
Como se pudo observar, la base tiene dos campos: Longitud y latitud. Podemos ocupar estos campos para
establecer su ubicación espacial. Para ello, debemos asignar el crs 4326, el cual corresponde al datum wgs84.
Para esta acción usaremos la función st_as_sf() de la libreria sf.

2.3. Asignación de CRS.


salud_pais_sf = st_as_sf(salud_pais, coords = c("LONGITUD", "LATITUD"), crs = 4326)

2.4. Clase.
Al ejecutar el código class(), nos devuelve la clase “sf” del objeto. Con esta acción, podemos visualizar los
puntos a través de la función geom_sf()
class(salud_pais_sf)

## [1] "sf" "tbl_df" "tbl" "data.frame"

2.5. Visualización.
ggplot() +
geom_sf(data = salud_pais_sf)

2
20°S

25°S

30°S

35°S

40°S

45°S

50°S

55°S

110°W 100°W 90°W 80°W 70°W

Los “points” representan la localización espacial de un centro de salud. Recuerden, cada fila u observación
corresponde a un centro de salud con sus respectivas carcateristicas, “simple feature”.

2.6. Escala espacial.


Ahora, exploremos el campo $C_REG con la finalidad de ajustar la escala espacial del objeto a nuestra
necesidad. Trabajaremos con los centros de salud pertenecientes a la Región Metropolitana de Santiago.
unique(salud_pais_sf$C_REG)

## [1] 15 1 2 3 4 5 13 6 7 16 8 9 14 10 11 12
salud_rm_sf = salud_pais_sf[salud_pais_sf$C_REG == 13, ] # aplicamos este filtro.

2.7. Visualización.
Nuevamente visualziamos el objeto con los establecimientos de la R. Metropolitana.
ggplot() +
geom_sf( data = salud_rm_sf)

3
33.0°S

33.2°S

33.4°S

33.6°S

33.8°S

34.0°S

71.6°W 71.4°W 71.2°W 71.0°W 70.8°W 70.6°W 70.4°W 70.2°W

2.8. Superposición de capas.


Visualizamos la capa shape_RM que contiene las comunas de la RM y los establecimientos de salud.
shape_comunas = st_read("COMUNAS/COMUNAS_v1.shp")

## Reading layer `COMUNAS_v1' from data source


## `C:\Users\cesco\OneDrive\Escritorio\prueba_marcdown\Documento 2\COMUNAS\COMUNAS_v1.shp'
## using driver `ESRI Shapefile'
## Simple feature collection with 345 features and 7 fields
## Geometry type: MULTIPOLYGON
## Dimension: XY
## Bounding box: xmin: -109.4549 ymin: -56.53777 xmax: -66.41559 ymax: -17.4984
## Geodetic CRS: SIRGAS-Chile 2002
shape_rm = shape_comunas[shape_comunas$CUT_REG==13, ]

ggplot() +
geom_sf(data = shape_rm) +
geom_sf(data = salud_rm_sf, aes(color = "red")) +
scale_color_manual(name = "Centros de Salud RM",
values = c("red" = "red"))

4
33.0°S

33.2°S

33.4°S

Centros de Salud RM
33.6°S
red

33.8°S

34.0°S

34.2°S

71.5°W 71.0°W 70.5°W 70.0°W

3. Análisis de los datos.


3.1. Selección prestador de salud.
La base “salud_pais”, tiene mucha información, entre las cuales destaca el tipo de prestador, que puede ser
público o privado. Usaremos la función unique() al campo “TIPO”.
unique(salud_rm_sf$TIPO)

## [1] "Dirección Servicio de Salud"


## [2] "Programa de Reparación y Atención Integral de Salud"
## [3] "Clínica Dental Móvil"
## [4] "Unidad de Salud Funcionarios"
## [5] "Hospital"
## [6] "Clínica"
## [7] "Centro de Salud"
## [8] "Centro Médico y Dental"
## [9] "Centro de Salud Familiar (CESFAM)"
## [10] "Posta de Salud Rural (PSR)"
## [11] "Centro Comunitario de Salud Mental (COSAM)"
## [12] "Centro Comunitario de Salud Familiar (CECOSF)"
## [13] "Servicio de Atención Primaria de Urgencia de Alta Resolutividad (SAR)"
## [14] "Servicio de Atención Primaria de Urgencia (SAPU)"
## [15] "Centro de Referencia de Salud (CRS)"
## [16] "Laboratorio Clínico o Dental"
## [17] "Vacunatorio"

5
## [18] "Centro Corporación para la Nutrición Infantil (CONIN)"
## [19] "Clínica Dental"
## [20] "Consultorio de Diagnóstico y Tratamiento (CDT)"
## [21] "Consultorio General Rural (CGR)"
## [22] "Unidad de Salud Mental"
## [23] "Hospital Digital"
## [24] "Centro de Regulación Médica de las Urgencias (SAMU)"
## [25] "Servicio Médico Legal"
## [26] "Dispositivo Incorporado por Crisis Sanitaria"
## [27] "Servicio de Urgencia Rural (SUR)"
## [28] "Centro de Diálisis"
## [29] "Centro Oftalmológico"
## [30] "Pendiente"
## [31] "Instituto de Seguridad Laboral"

3.2. Plotemos los hopsitales.


ggplot() +
geom_sf(data = shape_rm)+
geom_sf(data = salud_rm_sf[salud_rm_sf$TIPO == "Hospital", ], aes(fill = "TIPO", color ="red"))

33.0°S

33.2°S

33.4°S colour
red

33.6°S

fill
33.8°S TIPO

34.0°S

34.2°S

71.5°W 71.0°W 70.5°W 70.0°W

3.3. Buffer.
Determinemos en un objeto el área de influencia de los hospitales con la función st_buffer() de la libreria
“sf”. Los argumentos que necesita la función son: shape y distancia. Para este caso la distancia será de 1000
metros. El ajuste de la distancia será en función del análisis.

6
buffer_1000m <- st_buffer(salud_rm_sf , dist = 1000)

El buffer creado se realizó sobre todos los puntos que representan un establecimiento de salud. Sin embargo,
el análisis se centra solo en los hospitales de la R. Metropolitana. Generemos un objeto que contenga solo
los hospitales.
hospital_rm = salud_rm_sf[salud_rm_sf$TIPO == "Hospital" , ]
unique(hospital_rm$NOMBRE)

## [1] "Complejo Hospitalario San José (Santiago, Independencia)"


## [2] "Hospital Clínico de Niños Dr. Roberto del Río (Santiago, Independencia)"
## [3] "Instituto Psiquiátrico Dr. José Horwitz Barak (Santiago, Recoleta)"
## [4] "Instituto Nacional del Cáncer Dr. Caupolicán Pardo Correa (Santiago, Recoleta)"
## [5] "Hospital de Til Til"
## [6] "Hospital Clínico Universidad de Chile"
## [7] "Hospital San Juan de Dios (Santiago, Santiago)"
## [8] "Instituto Traumatológico Dr. Teodoro Gebauer"
## [9] "Hospital Dr. Félix Bulnes Cerda (Santiago, Quinta Normal)"
## [10] "Hospital Adalberto Steeger (Talagante)"
## [11] "Hospital de Peñaflor"
## [12] "Hospital San José (Melipilla)"
## [13] "Hospital de Curacaví"
## [14] "Hospital Clínico San Borja Arriarán"
## [15] "Hospital Clínico Metropolitano El Carmen Doctor Luis Valentín Ferrada"
## [16] "Hospital de Urgencia Asistencia Pública Dr. Alejandro del Río"
## [17] "Hospital Clínico Red de Salud UC CHRISTUS"
## [18] "Hospital Clínico Mutual de Seguridad C.CH.C."
## [19] "Hospital Penitenciario"
## [20] "Hospital Clínico Instituto de Seguridad del Trabajo de Santaigo"
## [21] "Hospital Del Salvador de Santiago"
## [22] "Hospital Dr. Luis Tisné B. (Santiago, Peñalolén)"
## [23] "Hospital de Niños Dr. Luis Calvo Mackenna"
## [24] "Instituto Nacional de Enfermedades Respiratorias y Cirugía Torácica"
## [25] "Instituto de Neurocirugía Dr. Alfonso Asenjo"
## [26] "Instituto Nacional de Rehabilitación Infantil Presidente Pedro Aguirre Cerda"
## [27] "Instituto Nacional Geriátrico Presidente Eduardo Frei Montalva"
## [28] "Hospital FACH"
## [29] "Hospital Carabineros"
## [30] "Hospital del Trabajador Santiago"
## [31] "Hospital Dipreca Teniente Hernán Merino"
## [32] "Hospital Militar de Santiago"
## [33] "Hospital Barros Luco Trudeau (Santiago, San Miguel)"
## [34] "Hospital Dr. Exequiel González Cortés (Santiago, San Miguel)"
## [35] "Hospital San Luis (Buin)"
## [36] "Hospital de Enfermedades Infecciosas Dr. Lucio Córdova (Santiago, San Miguel)"
## [37] "Hospital Psiquiátrico El Peral (Santiago, Puente Alto)"
## [38] "Hospital El Pino (Santiago, San Bernardo)"
## [39] "Hospital Parroquial de San Bernardo (D)"
## [40] "Complejo Hospitalario Dr. Sótero del Río (Santiago, Puente Alto)"
## [41] "Hospital San José de Maipo"
## [42] "Hospital Padre Alberto Hurtado (San Ramón)"
## [43] "Hospital Metropolitano (Ex Militar)"
## [44] "Hospital Clínico Metropolitano La Florida Dra. Eloísa Díaz Insunza"
## [45] "Centro de Enfermedades Respiratorias Infantiles Josefina Martínez (D)"

7
## [46] "Hospital Clínico Universidad de Los Andes"
Sobre el objeto, determinemos el buffer, ahora con una distancia de 5000 metros. Observación: El valor de
5000 metros es una referencia para este ejercicio. ## 3.4. Nuevo buffer.
buffer_hospital_rm = st_buffer(hospital_rm , dist = 5000)

3.5. Visualizamos el resultado.


ggplot() +
geom_sf(data = shape_rm) +
geom_sf(data = buffer_hospital_rm) +
geom_sf(data = hospital_rm)

33.0°S

33.2°S

33.4°S

33.6°S

33.8°S

34.0°S

34.2°S

71.5°W 71.0°W 70.5°W 70.0°W

3.6. Dissolve.
Una práctica recurrente en el geoprocesamiento es disolver los buffers. Visualmente nos entrega un área de
influencia, y no superoposiciones de estas como en el resultado anterior. Usaremos la función st_union() de
la librería “sf”.
buffer_disuelto_hospitales_rm = st_union(buffer_hospital_rm)

3.7. Visualizamos el resultado.


ggplot() +
geom_sf( data = shape_rm) +

8
geom_sf(data = buffer_disuelto_hospitales_rm) +
geom_sf(data = hospital_rm)

33.0°S

33.2°S

33.4°S

33.6°S

33.8°S

34.0°S

34.2°S

71.5°W 71.0°W 70.5°W 70.0°W

3.8. Complementemos el análisis.


Determinemos donde está la mayor concentración de personas beneficiarias del Sistema Público de salud
(FONASA), que suponen en su mayoría se antiende en la red pública de salud. Usaré una base ya construida
que contiene información de la encuesta Casen 2022.
bbdd_rm = readxl::read_excel("BBDD_RM.xlsx")

Realizamos el respectivo merge para funsionar la información de bbdd_rm en el shape_rm


shape_rm = sp::merge(shape_rm, bbdd_rm, by.x = "CUT_COM" , by.y = "cod_comuna")

head(shape_rm)

## Simple feature collection with 6 features and 20 fields


## Geometry type: MULTIPOLYGON
## Dimension: XY
## Bounding box: xmin: -70.78227 ymin: -33.5852 xmax: -70.62511 ymax: -33.36587
## Geodetic CRS: SIRGAS-Chile 2002
## CUT_COM CUT_REG CUT_PROV REGION PROVINCIA COMUNA
## 1 13101 13 131 Metropolitana de Santiago Santiago Santiago
## 2 13102 13 131 Metropolitana de Santiago Santiago Cerrillos
## 3 13103 13 131 Metropolitana de Santiago Santiago Cerro Navia
## 4 13104 13 131 Metropolitana de Santiago Santiago Conchalí

9
## 5 13105 13 131 Metropolitana de Santiago Santiago El Bosque
## 6 13106 13 131 Metropolitana de Santiago Santiago Estación Central
## SUPERFICIE comuna pob_total salario Ingreso_autonomohogar
## 1 23.18 Santiago 530528 778719.7 1593347
## 2 16.82 Cerrillos 89910 623417.8 1746356
## 3 11.05 Cerro Navia 141123 520039.3 1372611
## 4 10.94 Conchalí 138232 539800.1 1247555
## 5 14.25 El Bosque 170888 543356.3 1316436
## 6 14.38 Estación Central 218526 625655.3 1597498
## pobre_extrema pobre_no_extrema no_pobre no_sabe sistema_público_FONASA isapre
## 1 13964 18795 497769 5606 362971 112228
## 2 3838 1829 84243 143 69462 14431
## 3 1503 1780 137840 240 126257 7532
## 4 5034 4866 128332 372 118692 10778
## 5 3721 7914 159253 1281 147410 12717
## 6 1328 7997 209201 207 164895 24011
## FF.AA_Orden Ninguno Otro_sistema geometry
## 1 3165 44016 2542 MULTIPOLYGON (((-70.67174 -...
## 2 648 5226 0 MULTIPOLYGON (((-70.69538 -...
## 3 0 6849 245 MULTIPOLYGON (((-70.72241 -...
## 4 1463 6678 249 MULTIPOLYGON (((-70.6582 -3...
## 5 4704 3426 1350 MULTIPOLYGON (((-70.6854 -3...
## 6 1572 27841 0 MULTIPOLYGON (((-70.69204 -...
unique(shape_rm$sistema_público_FONASA)

## [1] 362971 69462 126257 118692 147410 164895 79884 114934 67748 282726
## [11] 104630 181374 35840 93761 46008 93815 89920 96559 421202 98236
## [21] 94994 180238 41886 207024 210940 105753 166659 148213 85968 88389
## [31] 73187 12821 515602 23210 15639 143941 116883 19612 276544 87947
## [41] 27424 77063 123794 5476 32181 13703 10145 66588 35015 39210
## [51] 63347 84020
shape_rm$prop_fonasa = round(shape_rm$sistema_público_FONASA / shape_rm$pob_total , 1)*100

3.9. Construcción de las clases.


Para una mejor visualización contruiremos las clases con la función cut(), de la siguiente forma:
shape_rm$clases = cut(shape_rm$prop_fonasa,
breaks = c(0, 40, 70, 80, Inf),
labels = c("< 40%", "40% - 70%", "70% - 80%", "> 80%"),
include.lowest = TRUE)

3.10. Visualizamos los resultados.


ggplot() +
geom_sf(aes (fill = clases), color = "white",
data = shape_rm) +
scale_fill_viridis(option = "plasma" , discrete = T , direction = -1, name = "Porcentaje",
)+
labs(title = "Porcentaje población beneficiaria de Fonasa",
subtitle = "Elaborado por: Cristián Escobedo Catalán",
caption = "Fuente: Casen 2022")+
theme_light() +

10
theme(
legend.position = "bottom") +
guides(
alpha = FALSE,
fill = guide_legend(
title.position = "top",
title.hjust = 0.5,
label.hjust = 0.5,
label.position = "bottom",
keywidth = 0.5,
keyheight = 0.3
)
) +

annotation_north_arrow(
location = "tr", which_nort = TRUE,
style = north_arrow_nautical(),
height = unit(1.7, "cm"),
width = unit(1.7 , "cm")
) +

annotation_scale()

## Warning: The `<scale>` argument of `guides()` cannot be `FALSE`. Use "none" instead as
## of ggplot2 3.3.4.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## Warning in annotation_north_arrow(location = "tr", which_nort = TRUE, style =
## north_arrow_nautical(), : Ignoring unknown parameters: `which_nort`

11
Porcentaje población beneficiaria de Fonasa
Elaborado por: Cristián Escobedo Catalán

N
33.0°S

33.2°S

33.4°S

33.6°S

33.8°S

34.0°S

34.2°S
40 km

71.5°W 71.0°W 70.5°W 70.0°W

Porcentaje

< 40% 40% − 70% 70% − 80% > 80%

Fuente: Casen 2022

3.11. Visualización con los Hospitales.


ggplot() +
geom_sf(aes (fill = clases), color = "white",
data = shape_rm) +
geom_sf(data = hospital_rm, aes(color = "Hospitales", alpha = 0.3), size = 2) +

scale_fill_viridis(option = "plasma" , discrete = T , direction = -1, name = "Porcentaje",


)+
scale_color_manual(
name = NULL,
values = c("Hospitales" = "red")
) +

labs(title = "Porcentaje población beneficiaria de Fonasa y ubicación de los Hospitales Públicos",


subtitle = "Elaborado por: Cristián Escobedo Catalán",
caption = "Fuente: Casen 2022")+
theme_light() +
theme(
legend.position = "bottom") +
guides(
alpha = FALSE,
fill = guide_legend(
title.position = "top",
title.hjust = 0.5,

12
label.hjust = 0.5,
label.position = "bottom",
keywidth = 0.5,
keyheight = 0.3
)
) +

annotation_north_arrow(
location = "tr", which_nort = TRUE,
style = north_arrow_nautical(),
height = unit(1.7, "cm"),
width = unit(1.7 , "cm")
) +

annotation_scale()

## Warning in annotation_north_arrow(location = "tr", which_nort = TRUE, style =


## north_arrow_nautical(), : Ignoring unknown parameters: `which_nort`

Porcentaje población beneficiaria de Fonasa y ubicación de los Hospita


Elaborado por: Cristián Escobedo Catalán

N
33.0°S

33.2°S

33.4°S

33.6°S

33.8°S

34.0°S

34.2°S
40 km

71.5°W 71.0°W 70.5°W 70.0°W

Hospitales Porcentaje

< 40% 40% − 70% 70% − 80% > 80%

Fuente: Casen 2022

## 3.12. Visualización hospitales, área de influencia.


ggplot() +
geom_sf(aes(fill = clases), color = "white", data = shape_rm) +

geom_sf(data = buffer_disuelto_hospitales_rm, aes(fill = "Área de influencia"), color = "red") + # Et


geom_sf(data = hospital_rm, aes(color = "Hospitales", alpha = 0.3), size = 2) +

13
scale_fill_viridis(
option = "plasma",
discrete = TRUE,
direction = -1,
name = "Porcentaje población Fonasa",
labels = c("Área de influencia" = "Buffer")
) +
scale_color_manual(
name = NULL,
values = c("Hospitales" = "red")
) +

labs(
title = "Área de influencia de los Hospitales Públicos en la R. Metropolitana",
subtitle = "Elaborado por: Cristián Escobedo Catalán",
caption = "Fuente: Casen 2022"
) +
theme_light() +
theme(
legend.position = "bottom"
) +
guides(
alpha = FALSE,
fill = guide_legend(
title.position = "top",
title.hjust = 0.5,
label.hjust = 0.5,
label.position = "bottom",
keywidth = 0.5,
keyheight = 0.3
)
) +

annotation_north_arrow(
location = "tr", which_nort = TRUE,
style = north_arrow_nautical(),
height = unit(1.7, "cm"),
width = unit(1.7, "cm")
) +

annotation_scale()

## Warning in annotation_north_arrow(location = "tr", which_nort = TRUE, style =


## north_arrow_nautical(), : Ignoring unknown parameters: `which_nort`

14
Área de influencia de los Hospitales Públicos en la R. Metropolitana
Elaborado por: Cristián Escobedo Catalán

N
33.0°S

33.2°S

33.4°S

33.6°S

33.8°S

34.0°S

34.2°S
40 km

71.5°W 71.0°W 70.5°W 70.0°W

Porcentaje población Fonasa Hospitales

< 40% > 80% 40% − 70% 70% − 80% Buffer

Fuente: Casen 2022

15

También podría gustarte