View source: R/ddbs_ops_unary.R
| ddbs_centroid | R Documentation |
Returns the geometric center (centroid) of a geometry as a point, representing its average position.
ddbs_centroid(
x,
method = "centroid",
conn = NULL,
name = NULL,
mode = NULL,
overwrite = FALSE,
quiet = FALSE
)
x |
Input spatial data. Can be:
Data is returned from this object. |
method |
Character string specifying the method to calculate the centroid. Must be one of "centroid" (default) or "surface". "centroid" calculates the default centroid, which may fall outside the geometry for certain shapes (e.g., donuts). "surface" calculates a point guaranteed to fall within the geometry. |
conn |
A connection object to a DuckDB database. If |
name |
A character string of length one specifying the name of the table,
or a character string of length two specifying the schema and table
names. If |
mode |
Character. Controls the return type. Options:
Can be set globally via |
overwrite |
Boolean. whether to overwrite the existing table if it exists. Defaults
to |
quiet |
A logical value. If |
Depends on the mode argument (or global preference set by ddbs_options):
duckspatial (default): A duckspatial_df (lazy spatial data frame) backed by dbplyr/DuckDB.
sf: An eagerly collected object in R memory, that will return the same data type as the
sf equivalent (e.g. sf or units vector).
When name is provided, the result is also written as a table or view in DuckDB and the function returns TRUE (invisibly).
## Not run:
## load package
library(duckspatial)
# create a duckdb database in memory (with spatial extension)
conn <- ddbs_create_conn(dbdir = "memory")
## read data
argentina_ddbs <- ddbs_open_dataset(
system.file("spatial/argentina.geojson",
package = "duckspatial")
)
## store in duckdb
ddbs_write_vector(conn, argentina_ddbs, "argentina")
## centroid
ddbs_centroid("argentina", conn)
## centroid without using a connection
ddbs_centroid(argentina_ddbs)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.