Este cuaderno muestra como agregar atributos a un objeto simple espacial (simple feature).

primero, cargamos la librería sf

library(sf)

Luego, vamos a leer un shape file de los municipios del departamento de Bolívar:

(BOL_mun <- read_sf("mbolivar.shp"))
Simple feature collection with 36 features and 6 fields
geometry type:  MULTIPOLYGON
dimension:      XY
bbox:           xmin: -75.79764 ymin: 6.979202 xmax: -73.769 ymax: 10.80153
epsg (SRID):    4326
proj4string:    +proj=longlat +datum=WGS84 +no_defs

Ahora vamos a identificar la clase de esa variable (BOL_mun)

class(BOL_mun)
[1] "sf"         "tbl_df"     "tbl"        "data.frame"

Luego vamos a identificar los atributos de “BOL_mun”

attributes(BOL_mun)
$names
[1] "ISO"       "NAME_0"    "NAME_1"    "NAME_2"    "TYPE_2"    "ENGTYPE_2" "geometry" 

$row.names
 [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

$class
[1] "sf"         "tbl_df"     "tbl"        "data.frame"

$sf_column
[1] "geometry"

$agr
      ISO    NAME_0    NAME_1    NAME_2    TYPE_2 ENGTYPE_2 
     <NA>      <NA>      <NA>      <NA>      <NA>      <NA> 
Levels: constant aggregate identity

Ahora vamos a conocer el sistema de referencia de coordenadas (CRS)

st_crs(BOL_mun)
Coordinate Reference System:
  EPSG: 4326 
  proj4string: "+proj=longlat +datum=WGS84 +no_defs"

Retrieving bounding box

st_bbox(BOL_mun)
      xmin       ymin       xmax       ymax 
-75.797638   6.979202 -73.768997  10.801529 

Ahora vamos a instalar algunos paquetes adicionales, acordarse que el nombre de las librerias va en comillas

###install.packages("lwgeom")
###install.packages("units")
library(lwgeom)
library(units)

Area calculation o Cálculo de área de MI variable principal osea BOL_mun

(BOL_mun$area <- st_area(BOL_mun))
Units: [m^2]
 [1] 1518018318  271625128  542778128  406004232  365903883 1085708052  758102169 1363977282  497471890
[10]  811980212  352170859  147956277  465248779  417747848  461708919  603146279 2025289041 3121393378
[19] 1618697738  403204500  191907613  359660556  438286337  640093298  387286695 1141735828  175030538
[28]  128840937 2488265513 1782555699  120915336  127105232  182761350  183267145  157324656  291402214

Cambio de unidades del área, ya que la anterior estaba en m2, ahora la vamos a pasar a km2

set_units(BOL_mun$area, km^2)
Units: [km^2]
 [1] 1518.0183  271.6251  542.7781  406.0042  365.9039 1085.7081  758.1022 1363.9773  497.4719  811.9802
[11]  352.1709  147.9563  465.2488  417.7478  461.7089  603.1463 2025.2890 3121.3934 1618.6977  403.2045
[21]  191.9076  359.6606  438.2863  640.0933  387.2867 1141.7358  175.0305  128.8409 2488.2655 1782.5557
[31]  120.9153  127.1052  182.7614  183.2671  157.3247  291.4022

Acontinuación vamos a usar el Censo agropecuario

library(readxl)
#xls filies
(my_data <- read_excel("CENSO.xls"))

En esta parte se va a escoger mi departamento Bolívar, donde se muestra una tabla con los atributos (datos de censo para nuestro departamento) ### Joining censodata to simple feature object:

(BOLIVAR_DATA <- my_data %>% filter(DEPTO == "Bolívar"))
(BOLIVAR_NUEVO = rename(BOLIVAR_DATA, NAME_2 = MUNICIPIO))

Ahora es tiempo de hacer una unión “left_join”:

(bolivar_censo <- left_join(BOL_mun, BOLIVAR_NUEVO))
Joining, by = "NAME_2"
Simple feature collection with 36 features and 14 fields
geometry type:  MULTIPOLYGON
dimension:      XY
bbox:           xmin: -75.79764 ymin: 6.979202 xmax: -73.769 ymax: 10.80153
epsg (SRID):    4326
proj4string:    +proj=longlat +datum=WGS84 +no_defs

Visualización

De los datos de hacer el “left_join”, es el mismo código del cuaderno 1, solo cambia la primera vaiable censo

bolivar_censo %>% mapview(zcol = "NAME_2", legend = TRUE, col.regions = sf.colors)

Sorting

Ahora vamos a ordenar las municipalidades basados en el censo. Primero por el área de bosque en hectáreas… Se organiza en forma descendente, (NA es que no tiene datos - nueva variable)

(bolivar_clean <- bolivar_censo %>% arrange(desc(HA_BOSQUE)) %>% select(NAME_2, MCOD, HA_BOSQUE, HA_AGROP, HA_NO_AGROP, HA_USOS))
Simple feature collection with 36 features and 6 fields
geometry type:  MULTIPOLYGON
dimension:      XY
bbox:           xmin: -75.79764 ymin: 6.979202 xmax: -73.769 ymax: 10.80153
epsg (SRID):    4326
proj4string:    +proj=longlat +datum=WGS84 +no_defs
LS0tDQp0aXRsZTogIk9wZXJhY2lvbmVzIGNvbiBhdHJpYnV0b3MiDQphdXRob3I6IFNhcmEgVmFuZWdhcw0Kb3V0cHV0OiBodG1sX25vdGVib29rDQotLS0NCkVzdGUgY3VhZGVybm8gbXVlc3RyYSBjb21vIGFncmVnYXIgYXRyaWJ1dG9zIGEgdW4gb2JqZXRvIHNpbXBsZSBlc3BhY2lhbCAoc2ltcGxlIGZlYXR1cmUpLg0KDQpwcmltZXJvLCBjYXJnYW1vcyBsYSBsaWJyZXLDrWEgc2YNCg0KYGBge3J9DQpsaWJyYXJ5KHNmKQ0KYGBgDQoNCkx1ZWdvLCB2YW1vcyBhIGxlZXIgdW4gc2hhcGUgZmlsZSBkZSBsb3MgbXVuaWNpcGlvcyBkZWwgZGVwYXJ0YW1lbnRvIGRlIEJvbMOtdmFyOg0KYGBge3J9DQooQk9MX211biA8LSByZWFkX3NmKCJtYm9saXZhci5zaHAiKSkNCmBgYA0KDQpBaG9yYSB2YW1vcyBhIGlkZW50aWZpY2FyIGxhIGNsYXNlIGRlIGVzYSB2YXJpYWJsZSAoQk9MX211bikNCmBgYHtyfQ0KY2xhc3MoQk9MX211bikNCmBgYA0KDQpMdWVnbyB2YW1vcyBhIGlkZW50aWZpY2FyIGxvcyBhdHJpYnV0b3MgZGUgIkJPTF9tdW4iDQpgYGB7cn0NCmF0dHJpYnV0ZXMoQk9MX211bikNCmBgYA0KQWhvcmEgdmFtb3MgYSBjb25vY2VyIGVsIHNpc3RlbWEgZGUgcmVmZXJlbmNpYSBkZSBjb29yZGVuYWRhcyAoQ1JTKQ0KYGBge3J9DQpzdF9jcnMoQk9MX211bikNCmBgYA0KUmV0cmlldmluZyBib3VuZGluZyBib3gNCmBgYHtyfQ0Kc3RfYmJveChCT0xfbXVuKQ0KYGBgDQoNCkFob3JhIHZhbW9zIGEgaW5zdGFsYXIgYWxndW5vcyBwYXF1ZXRlcyBhZGljaW9uYWxlcywgYWNvcmRhcnNlIHF1ZSBlbCBub21icmUgZGUgbGFzIGxpYnJlcmlhcyB2YSBlbiBjb21pbGxhcw0KYGBge3J9DQojIyNpbnN0YWxsLnBhY2thZ2VzKCJsd2dlb20iKQ0KIyMjaW5zdGFsbC5wYWNrYWdlcygidW5pdHMiKQ0KbGlicmFyeShsd2dlb20pDQpsaWJyYXJ5KHVuaXRzKQ0KYGBgDQoNCiMjIyBBcmVhIGNhbGN1bGF0aW9uIG8gQ8OhbGN1bG8gZGUgw6FyZWEgZGUgTUkgdmFyaWFibGUgcHJpbmNpcGFsIG9zZWEgQk9MX211bg0KDQpgYGB7cn0NCihCT0xfbXVuJGFyZWEgPC0gc3RfYXJlYShCT0xfbXVuKSkNCmBgYA0KDQpDYW1iaW8gZGUgdW5pZGFkZXMgZGVsIMOhcmVhLCB5YSBxdWUgbGEgYW50ZXJpb3IgZXN0YWJhIGVuIG0yLCBhaG9yYSBsYSB2YW1vcyBhIHBhc2FyIGEga20yDQoNCmBgYHtyfQ0Kc2V0X3VuaXRzKEJPTF9tdW4kYXJlYSwga21eMikNCmBgYA0KQWNvbnRpbnVhY2nDs24gdmFtb3MgYSB1c2FyIGVsIENlbnNvIGFncm9wZWN1YXJpbw0KYGBge3J9DQpsaWJyYXJ5KHJlYWR4bCkNCiN4bHMgZmlsaWVzDQoobXlfZGF0YSA8LSByZWFkX2V4Y2VsKCJDRU5TTy54bHMiKSkNCmBgYA0KRW4gZXN0YSBwYXJ0ZSBzZSB2YSBhIGVzY29nZXIgbWkgZGVwYXJ0YW1lbnRvIEJvbMOtdmFyLCBkb25kZSBzZSBtdWVzdHJhIHVuYSB0YWJsYSBjb24gbG9zIGF0cmlidXRvcyAoZGF0b3MgZGUgY2Vuc28gcGFyYSBudWVzdHJvIGRlcGFydGFtZW50bykNCiMjIyBKb2luaW5nIGNlbnNvZGF0YSB0byBzaW1wbGUgZmVhdHVyZSBvYmplY3Q6DQoNCmBgYHtyfQ0KKEJPTElWQVJfREFUQSA8LSBteV9kYXRhICU+JSBmaWx0ZXIoREVQVE8gPT0gIkJvbMOtdmFyIikpDQpgYGANCg0KDQpgYGB7cn0NCihCT0xJVkFSX05VRVZPID0gcmVuYW1lKEJPTElWQVJfREFUQSwgTkFNRV8yID0gTVVOSUNJUElPKSkNCmBgYA0KQWhvcmEgZXMgdGllbXBvIGRlIGhhY2VyIHVuYSB1bmnDs24gImxlZnRfam9pbiI6DQoNCmBgYHtyfQ0KKGJvbGl2YXJfY2Vuc28gPC0gbGVmdF9qb2luKEJPTF9tdW4sIEJPTElWQVJfTlVFVk8pKQ0KYGBgDQoNCiMgVmlzdWFsaXphY2nDs24NCkRlIGxvcyBkYXRvcyBkZSBoYWNlciBlbCAibGVmdF9qb2luIiwgZXMgZWwgbWlzbW8gY8OzZGlnbyBkZWwgY3VhZGVybm8gMSwgc29sbyBjYW1iaWEgbGEgcHJpbWVyYSB2YWlhYmxlIGNlbnNvDQpgYGB7cn0NCmJvbGl2YXJfY2Vuc28gJT4lIG1hcHZpZXcoemNvbCA9ICJOQU1FXzIiLCBsZWdlbmQgPSBUUlVFLCBjb2wucmVnaW9ucyA9IHNmLmNvbG9ycykNCmBgYA0KDQojIFNvcnRpbmcNCkFob3JhIHZhbW9zIGEgb3JkZW5hciBsYXMgbXVuaWNpcGFsaWRhZGVzIGJhc2Fkb3MgZW4gZWwgY2Vuc28uIFByaW1lcm8gcG9yIGVsIMOhcmVhIGRlIGJvc3F1ZSBlbiBoZWN0w6FyZWFzLi4uDQpTZSBvcmdhbml6YSBlbiBmb3JtYSBkZXNjZW5kZW50ZSwgKE5BIGVzIHF1ZSBubyB0aWVuZSBkYXRvcyAtIG51ZXZhIHZhcmlhYmxlKQ0KYGBge3J9DQooYm9saXZhcl9jbGVhbiA8LSBib2xpdmFyX2NlbnNvICU+JSBhcnJhbmdlKGRlc2MoSEFfQk9TUVVFKSkgJT4lIHNlbGVjdChOQU1FXzIsIE1DT0QsIEhBX0JPU1FVRSwgSEFfQUdST1AsIEhBX05PX0FHUk9QLCBIQV9VU09TKSkNCmBgYA0KDQo=