Aliases: gm_geometries
Keywords:
### ** Examples df <- data.frame( id = c(1,1,1,1,1,2,2,2,2,2) , x = 1:10 , y = 10:1 ) gm_geometries( df , id_cols = c(1L) , geometry_cols = c(2L,3L) )
[[1]] [,1] [,2] [1,] 1 10 [2,] 2 9 [3,] 3 8 [4,] 4 7 [5,] 5 6 [[2]] [,1] [,2] [1,] 6 5 [2,] 7 4 [3,] 8 3 [4,] 9 2 [5,] 10 1
## Adding a class attribute gm_geometries( df , id_cols = c(1) , geometry_cols = c(2,3) , list( class = "my_line_object" ) )
[[1]] [,1] [,2] [1,] 1 10 [2,] 2 9 [3,] 3 8 [4,] 4 7 [5,] 5 6 attr(,"class") [1] "my_line_object" [[2]] [,1] [,2] [1,] 6 5 [2,] 7 4 [3,] 8 3 [4,] 9 2 [5,] 10 1 attr(,"class") [1] "my_line_object"
## Adding a second ID column df$id1 <- c(1,1,1,2,2,1,1,2,2,3) gm_geometries( df , id_cols = c(1,4) , geometry_cols = c(2,3) , list( class = "my_multiline_object" ) )
[[1]] [[1]] [,1] [,2] [1,] 1 10 [2,] 2 9 [3,] 3 8 [[2]] [,1] [,2] [1,] 4 7 [2,] 5 6 attr(,"class") [1] "my_multiline_object" [[2]] [[1]] [,1] [,2] [1,] 6 5 [2,] 7 4 [[2]] [,1] [,2] [1,] 8 3 [2,] 9 2 [[3]] [,1] [,2] [1,] 10 1 attr(,"class") [1] "my_multiline_object"
## Using character column names gm_geometries( df , id_cols = c("id","id1") , geometry_cols = c("x","y") )
[[1]] [[1]][[1]] [,1] [,2] [1,] 1 10 [2,] 2 9 [3,] 3 8 [[1]][[2]] [,1] [,2] [1,] 4 7 [2,] 5 6 [[2]] [[2]][[1]] [,1] [,2] [1,] 6 5 [2,] 7 4 [[2]][[2]] [,1] [,2] [1,] 8 3 [2,] 9 2 [[2]][[3]] [,1] [,2] [1,] 10 1
## matrix input m <- as.matrix( df ) gm_geometries( m , id_cols = c("id","id1") , geometry_cols = c("x","y") )
[[1]] [[1]][[1]] [,1] [,2] [1,] 1 10 [2,] 2 9 [3,] 3 8 [[1]][[2]] [,1] [,2] [1,] 4 7 [2,] 5 6 [[2]] [[2]][[1]] [,1] [,2] [1,] 6 5 [2,] 7 4 [[2]][[2]] [,1] [,2] [1,] 8 3 [2,] 9 2 [[2]][[3]] [,1] [,2] [1,] 10 1
gm_geometries( m , id_cols = c(1,4) , geometry_cols = c(2,3) )
[[1]] [[1]][[1]] [,1] [,2] [1,] 1 10 [2,] 2 9 [3,] 3 8 [[1]][[2]] [,1] [,2] [1,] 4 7 [2,] 5 6 [[2]] [[2]][[1]] [,1] [,2] [1,] 6 5 [2,] 7 4 [[2]][[2]] [,1] [,2] [1,] 8 3 [2,] 9 2 [[2]][[3]] [,1] [,2] [1,] 10 1
## use close to make the last row the same as the first row df <- data.frame( id = c(1,1,1,1) , x = c(1,1,2,2) , y = c(1,2,2,1) ) gm_geometries( df , id_cols = "id" , geometry_cols = c("x","y") , close = TRUE )
[[1]] [,1] [,2] [1,] 1 1 [2,] 1 2 [3,] 2 2 [4,] 2 1 [5,] 1 1