m <- matrix(c(0,0,0,0,1,1), ncol = 2 )
sf_polygon( m )
m <- matrix(c(0,0,0,0,0,1,0,1,1,1,2,2,1,2,3,1,3,4), ncol = 3, byrow = TRUE)
sf_polygon( obj = m )
sf_polygon( obj = m, polygon_id = 1 )
sf_polygon( obj = m, linestring_id = 1 )
sf_polygon( obj = m, linestring_id = 1, polygon_id = 1 )
sf_polygon( obj = m, x = 2, y = 3 )
sf_polygon( obj = m, x = 1, y = 2, z = 3 )
sf_polygon( obj = m, x = 2, y = 3, linestring_id = 1, polygon_id = 1 )
df <- data.frame(
ml_id = c(1,1,1,1,1,1,1,1,1,2,2,2,2,2,2)
, l_id = c(1,1,1,2,2,2,3,3,3,1,1,1,2,2,2)
, x = rnorm(15)
, y = rnorm(15)
, z = rnorm(15)
, m = rnorm(15)
)
sf_polygon( obj = df, x = "x", y = "y")
sf_polygon( obj = df, x = "x", y = "y", z = "z")
sf_polygon( obj = df, x = "x", y = "y", z = "z", m = "m")
sf_polygon( obj = df, x = 2, y = 3)
sf_polygon( obj = df, x = 2, y = 3, z = 4)
sf_polygon( obj = df, x = 2, y = 3, z = 4, m = 5)
sf_polygon( obj = df, polygon_id = "ml_id", linestring_id = "l_id" )
sf_polygon( obj = df, polygon_id = 1, linestring_id = 2 )
## keeping properties
df <- data.frame(
ml_id = c(1,1,1,1,1,1,1,1,1,2,2,2,2,2,2)
, l_id = c(1,1,1,2,2,2,3,3,3,1,1,1,2,2,2)
, x = rnorm(15)
, y = rnorm(15)
, z = rnorm(15)
, m = rnorm(15)
, val = letters[1:15]
, stringsAsFactors = FALSE
)
## using keep = TRUE means the first row of all non-geometries are kept
sf_polygon(
obj = df
, polygon_id = "ml_id"
, linestring_id = "l_id"
, x = "x"
, y = "y"
, keep = TRUE
)
## use 'list_column' to specify columns where you want to keep all the values
sf_polygon(
obj = df
, polygon_id = "ml_id"
, linestring_id = "l_id"
, x = "x"
, y = "y"
, keep = TRUE
, list_columns = "val"
)
Run the code above in your browser using DataLab