R: sf to df

sf_to_df {sfheaders} | R Documentation

## sf to df

### Description

Converts an sf object ot a data.frame

### Usage

    sf_to_df(sf, fill = FALSE, unlist = NULL)

### Arguments

`sf` | sf object
`fill` | logical indicating if the resulting data.frame should be filled with the data columns from the sf object. If `TRUE`, each row of data will be replicated for every coordiante in every geometry.
`unlist` | string vector of columns to unlist. Each list element is equivalent to a row of the input object, and is expected to be the same length as the number of coordinates in the geometry.

### Examples

    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 <- sf_polygon( obj = df, polygon_id = "ml_id", linestring_id = "l_id" )
    df <- sf_to_df( sf )

    ## with associated data
    sf$val1 <- c("a","b")
    sf$val2 <- c(1L, 2L)

    df <- sf_to_df( sf, fill = TRUE )

    ## Unlisting lsit columns

    df <- data.frame(
    l_id = c(1,1,1,2,2,2,3,3,3,3)
    , x = rnorm(10)
    , y = rnorm(10)
    )

    sf <- sf_linestring( obj = df, linestring_id = "l_id" , x = "x", y = "y")

    ## put on a list column
    sf$l <- list( c(1,2,3),c(3,2,1),c(10,11,12,13))

    sf_to_df( sf, unlist = "l" )

[Package sfheaders version 0.2.2 Index]