sp y S4

Visualización de datos geoespaciales en R

Charlotte Wickham

Assistant Professor at Oregon State University

Dos tipos de objeto sp

summary(countries_sp)
Objeto de clase SpatialPolygons
Coordenadas:
   min       max
x -180 180.00000
y  -90  83.64513
¿Proyectado?: FALSE 
proj4string :
[+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 
  +towgs84=0,0,0]
summary(countries_spdf)
Objeto de clase SpatialPolygonsDataFrame
Coordenadas:
   min       max
x -180 180.00000
y  -90  83.64513
¿Proyectado?: FALSE 
proj4string :
[+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 
  +towgs84=0,0,0]
Atributos de datos:
     name              iso_a3          
 Longitud:177      Longitud:177       
 Clase :character  Clase :character   
 Modo  :character  Modo  :character
Visualización de datos geoespaciales en R

Objeto SpatialPolygons

str(countries_sp, max.level = 2)
Clase formal 'SpatialPolygons' [paquete "sp"] con 4 slots
  ..@ polygons   :Lista de 177
  .. .. [salida de lista truncada]
  ..@ plotOrder  : int [1:177] 7 136 28 169 31 23 9 66 84 5 ...
  ..@ bbox       : num [1:2, 1:2] -180 -90 180 83.6
  .. ..- attr(*, "dimnames")=Lista de 2
  ..@ proj4string:Clase formal 'CRS' [paquete "sp"] con 1 slot
Visualización de datos geoespaciales en R

Objeto SpatialPolygonsDataFrame

str(countries_spdf, max.level = 2)
Clase formal 'SpatialPolygonsDataFrame' [paquete "sp"] con 5 slots
  ..@ data       :'data.frame':    177 obs. de  6 variables:
  ..@ polygons   :Lista de 177
  .. .. [salida de lista truncada]
  ..@ plotOrder  : int [1:177] 7 136 28 169 31 23 9 66 84 5 ...
  ..@ bbox       : num [1:2, 1:2] -180 -90 180 83.6
  .. ..- attr(*, "dimnames")=Lista de 2
  ..@ proj4string:Clase formal 'CRS' [paquete "sp"] con 1 slot
Visualización de datos geoespaciales en R

S4

  • Uno de los sistemas de programación orientada a objetos (OO) de R
  • Conceptos clave de OO
    • Clase: define un tipo de objeto, sus atributos y su relación con otras clases
    • Métodos: funciones cuyo comportamiento depende de la clase de entrada
  • Los objetos S4 pueden ser recursivos; sus elementos se llaman slots
  • http://adv-r.had.co.nz/OO-essentials.html#s4
Visualización de datos geoespaciales en R

Acceder a slots

# 1. Use a dedicated method
proj4string(countries_sp)
"+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0"
# 2. Use the @ followed by unquoted slot name
countries_sp@proj4string
CRS arguments: +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0
# 3. Use slot() with quoted slot name
slot(countries_sp, "proj4string")
CRS arguments: +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0
Visualización de datos geoespaciales en R

¡Vamos a practicar!

Visualización de datos geoespaciales en R

Preparing Video For Download...