st_layers_as_df: Return properties of layers in a datasource as 'data.frame'

View source: R/st_layers_as_df.R

st_layers_as_dfR Documentation

Return properties of layers in a datasource as data.frame

Description

Return properties of layers in a datasource as data.frame

Usage

st_layers_as_df(x, ..., drop_driver = TRUE, warn = TRUE)

Arguments

x

any input that works for st_layers's argument dsn or an object of class sf_layers

...

arguments of the function st_layers except dsn if x is equivalent to dsn else ignored

drop_driver

logical; TRUE (default) drops information about the driver, FALSE adds the driver as column to the returned data.frame

warn

logical; TRUE (default) warns if no layer is available, FALSE does not warn in such a case

Value

if no layer is available NULL, else a data.frame resembling the printed return of st_layers with columns

layer_name

name of the layer

geometry_type or geometry_types

for each layer a string listing its geometry type(s)

features

number of features (if reported; see argument do_count of st_layers)

fields

number of fields

crs

short name of each layer's crs

driver (optional)

name of driver, if argument drop_driver has been set to FALSE

Examples

library(sf)
dsn <- system.file("shape", package = "sf")
st_layers_as_df(x = dsn, drop_driver = FALSE)

# properties of layers of multiple datasources in one data.frame
some_dsn <- list.files(system.file("gpkg", package = "sf"), full.names = TRUE)
multiple_dsn <- c(dsn, some_dsn)
df <-
  as.list(multiple_dsn) %>%
  setNames(multiple_dsn) %>%
  lapply(st_layers_as_df, drop_driver = FALSE) %>%
  data.table::rbindlist(use.names = FALSE, idcol = "dsn")

a-benini/sfhelpers documentation built on Aug. 28, 2024, 3:30 a.m.