constructs sfg POLYGON object
sfg_polygon(
obj,
x = NULL,
y = NULL,
z = NULL,
m = NULL,
linestring_id = NULL,
close = TRUE
)matrix or data.frame
x geometry column
y geometry column
z geometry column
m geometry column
column of ids for lines (within polygons)
logical indicating whether polygons should be closed. If TRUE,
all polygons will be checked and force closed if possible
sfg object of POLYGON geometry
sfg_polygon( matrix( 1:24, ncol = 2 ) )
#> [[1]]
#> [,1] [,2]
#> [1,] 1 13
#> [2,] 2 14
#> [3,] 3 15
#> [4,] 4 16
#> [5,] 5 17
#> [6,] 6 18
#> [7,] 7 19
#> [8,] 8 20
#> [9,] 9 21
#> [10,] 10 22
#> [11,] 11 23
#> [12,] 12 24
#> [13,] 1 13
#>
#> attr(,"class")
#> [1] "XY" "POLYGON" "sfg"
sfg_polygon( matrix( 1:24, ncol = 3 ) )
#> [[1]]
#> [,1] [,2] [,3]
#> [1,] 1 9 17
#> [2,] 2 10 18
#> [3,] 3 11 19
#> [4,] 4 12 20
#> [5,] 5 13 21
#> [6,] 6 14 22
#> [7,] 7 15 23
#> [8,] 8 16 24
#> [9,] 1 9 17
#>
#> attr(,"class")
#> [1] "XYZ" "POLYGON" "sfg"
sfg_polygon( matrix( 1:24, ncol = 4 ) )
#> [[1]]
#> [,1] [,2] [,3] [,4]
#> [1,] 1 7 13 19
#> [2,] 2 8 14 20
#> [3,] 3 9 15 21
#> [4,] 4 10 16 22
#> [5,] 5 11 17 23
#> [6,] 6 12 18 24
#> [7,] 1 7 13 19
#>
#> attr(,"class")
#> [1] "XYZM" "POLYGON" "sfg"
## different lines
m <- cbind( matrix( 1:24, ncol = 2 ), c(rep(1, 6), rep(2, 6) ) )
sfg_polygon( obj = m, x = 1, y = 2, linestring_id = 3 )
#> [[1]]
#> [,1] [,2]
#> [1,] 1 13
#> [2,] 2 14
#> [3,] 3 15
#> [4,] 4 16
#> [5,] 5 17
#> [6,] 6 18
#> [7,] 1 13
#>
#> [[2]]
#> [,1] [,2]
#> [1,] 7 19
#> [2,] 8 20
#> [3,] 9 21
#> [4,] 10 22
#> [5,] 11 23
#> [6,] 12 24
#> [7,] 7 19
#>
#> attr(,"class")
#> [1] "XY" "POLYGON" "sfg"
## just specifying linestring_id will use all others as the geometries
sfg_polygon( obj = m, linestring_id = 3 )
#> [[1]]
#> [,1] [,2]
#> [1,] 1 13
#> [2,] 2 14
#> [3,] 3 15
#> [4,] 4 16
#> [5,] 5 17
#> [6,] 6 18
#> [7,] 1 13
#>
#> [[2]]
#> [,1] [,2]
#> [1,] 7 19
#> [2,] 8 20
#> [3,] 9 21
#> [4,] 10 22
#> [5,] 11 23
#> [6,] 12 24
#> [7,] 7 19
#>
#> attr(,"class")
#> [1] "XY" "POLYGON" "sfg"
df <- data.frame( x = 1:12, y = 1:12, z = 13:24, id = c(rep(1,6), rep(2,6)))
sfg_polygon( df, x = "x", y = "y" )
#> [[1]]
#> [,1] [,2]
#> [1,] 1 1
#> [2,] 2 2
#> [3,] 3 3
#> [4,] 4 4
#> [5,] 5 5
#> [6,] 6 6
#> [7,] 7 7
#> [8,] 8 8
#> [9,] 9 9
#> [10,] 10 10
#> [11,] 11 11
#> [12,] 12 12
#> [13,] 1 1
#>
#> attr(,"class")
#> [1] "XY" "POLYGON" "sfg"
sfg_polygon( df, x = "x", y = "y", linestring_id = "id" )
#> [[1]]
#> [,1] [,2]
#> [1,] 1 1
#> [2,] 2 2
#> [3,] 3 3
#> [4,] 4 4
#> [5,] 5 5
#> [6,] 6 6
#> [7,] 1 1
#>
#> [[2]]
#> [,1] [,2]
#> [1,] 7 7
#> [2,] 8 8
#> [3,] 9 9
#> [4,] 10 10
#> [5,] 11 11
#> [6,] 12 12
#> [7,] 7 7
#>
#> attr(,"class")
#> [1] "XY" "POLYGON" "sfg"
sfg_polygon( df, linestring_id = "id" )
#> [[1]]
#> [,1] [,2] [,3]
#> [1,] 1 1 13
#> [2,] 2 2 14
#> [3,] 3 3 15
#> [4,] 4 4 16
#> [5,] 5 5 17
#> [6,] 6 6 18
#> [7,] 1 1 13
#>
#> [[2]]
#> [,1] [,2] [,3]
#> [1,] 7 7 19
#> [2,] 8 8 20
#> [3,] 9 9 21
#> [4,] 10 10 22
#> [5,] 11 11 23
#> [6,] 12 12 24
#> [7,] 7 7 19
#>
#> attr(,"class")
#> [1] "XYZ" "POLYGON" "sfg"