The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

dbSpatial

Lifecycle: experimental CRAN status

{dbSpatial} is a core package in the dbverse library.

The goal of {dbSpatial} is to provide larger-than-memory spatial operations for various spatial data sources. The package largely relies on the DuckDB spatial extension.

Note: Work in progress! Bugs or unexpected behavior are likely to occur. We welcome user feedback and reporting issues on the Github page.

Installation

You can install the development version of dbSpatial from Github like so:

# install.packages("pak", repos = sprintf("https://r-lib.github.io/p/pak/stable/%s/%s/%s", .Platform$pkgType, R.Version()$os, R.Version()$arch))
pak::pak("dbverse-org/dbspatial-r")

Usage

The DuckDB spatial extension can be used with wrapper functions in this package directly (ST_*()), through dplyr verbs containing ST_*() functions, or SQL queries to a DuckDB database connection containing ST_*() functions.

library(dbSpatial)

# create duckdb db in memory
duckdb_conn = DBI::dbConnect(duckdb::duckdb(), ":memory:")

# test data
test_data = data.frame(x = 1:10, y = 1:10, id = 1:10)

points <- dbSpatial(conn = duckdb_conn,
                    name = "test_points",
                    value = test_data,
                    x_colName = "x",
                    y_colName = "y",
                    overwrite = TRUE)

points
#> # Class:    dbSpatial 
#> # Source:   table<test_points> [10 x 4]
#> # Database: DuckDB v1.0.0 [root@Darwin 23.5.0:R 4.4.1/:memory:]
#>        x     y    id geom      
#>    <int> <int> <int> <list>    
#>  1     1     1     1 <raw [32]>
#>  2     2     2     2 <raw [32]>
#>  3     3     3     3 <raw [32]>
#>  4     4     4     4 <raw [32]>
#>  5     5     5     5 <raw [32]>
#>  6     6     6     6 <raw [32]>
#>  7     7     7     7 <raw [32]>
#>  8     8     8     8 <raw [32]>
#>  9     9     9     9 <raw [32]>
#> 10    10    10    10 <raw [32]>

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.