if (FALSE) {
## load packages
library(duckspatial)
library(sf)
# create a duckdb database in memory (with spatial extension)
conn <- ddbs_create_conn(dbdir = "memory")
## read data
rivers_sf <- st_read(system.file("spatial/rivers.geojson", package = "duckspatial"))
## store in duckdb
ddbs_write_vector(conn, rivers_sf, "rivers")
## calculate length (returns sf object with length column)
ddbs_length("rivers", conn)
## calculate length with custom column name
ddbs_length("rivers", conn, new_column = "length_meters")
## create a new table with length calculations
ddbs_length("rivers", conn, name = "rivers_with_length")
## calculate length in a sf object (without a connection)
ddbs_length(rivers_sf)
}
Run the code above in your browser using DataLab