st_write | R Documentation |
Write simple features object to file or database
st_write(obj, dsn, layer, ...)
## S3 method for class 'sfc'
st_write(obj, dsn, layer, ...)
## S3 method for class 'sf'
st_write(
obj,
dsn,
layer = NULL,
...,
driver = guess_driver_can_write(dsn),
dataset_options = NULL,
layer_options = NULL,
quiet = FALSE,
factorsAsCharacter = TRUE,
append = NA,
delete_dsn = FALSE,
delete_layer = !is.na(append) && !append,
fid_column_name = NULL,
config_options = character(0)
)
## S3 method for class 'data.frame'
st_write(obj, dsn, layer = NULL, ...)
write_sf(..., quiet = TRUE, append = FALSE, delete_layer = !append)
st_delete(
dsn,
layer = character(0),
driver = guess_driver_can_write(dsn),
quiet = FALSE
)
obj |
object of class |
dsn |
data source name. Interpretation varies by driver: can be
a filename, a folder, a database name, or a Database Connection
(we officially test support for
|
layer |
layer name. Varies by driver, may be a file name without
extension; for database connection, it is the name of the table. If layer
is missing, the |
... |
other arguments passed to dbWriteTable when |
driver |
character; name of driver to be used; if missing and |
dataset_options |
character; driver dependent dataset creation options; multiple options supported. |
layer_options |
character; driver dependent layer creation options; multiple options supported. |
quiet |
logical; suppress info on name, driver, size and spatial reference |
factorsAsCharacter |
logical; convert |
append |
logical; should we append to an existing layer, or replace it?
if |
delete_dsn |
logical; delete data source |
delete_layer |
logical; delete layer |
fid_column_name |
character, name of column with feature IDs; if specified, this column is no longer written as feature attribute. |
config_options |
character, named vector with GDAL config options |
Columns (variables) of a class not supported are dropped with a warning.
When updating an existing layer, records are appended to it if the updating object has the right variable names and types. If names don't match an error is raised. If types don't match, behaviour is undefined: GDAL may raise warnings or errors or fail silently.
When deleting layers or data sources is not successful, no error is emitted.
delete_dsn
and delete_layer
should be
handled with care; the former may erase complete directories or databases.
st_delete()
deletes layer(s) in a data source, or a data source if layers are
omitted; it returns TRUE
on success, FALSE
on failure, invisibly.
obj
, invisibly
st_drivers, dbWriteTable
nc = st_read(system.file("shape/nc.shp", package="sf"))
st_write(nc, paste0(tempdir(), "/", "nc.shp"))
st_write(nc, paste0(tempdir(), "/", "nc.shp"), delete_layer = TRUE) # overwrites
if (require(sp, quietly = TRUE)) {
data(meuse, package = "sp") # loads data.frame from sp
meuse_sf = st_as_sf(meuse, coords = c("x", "y"), crs = 28992)
# writes X and Y as columns:
st_write(meuse_sf, paste0(tempdir(), "/", "meuse.csv"), layer_options = "GEOMETRY=AS_XY")
st_write(meuse_sf, paste0(tempdir(), "/", "meuse.csv"), layer_options = "GEOMETRY=AS_WKT",
delete_dsn=TRUE) # overwrites
## Not run:
library(sp)
example(meuse, ask = FALSE, echo = FALSE)
try(st_write(st_as_sf(meuse), "PG:dbname=postgis", "meuse_sf",
layer_options = c("OVERWRITE=yes", "LAUNDER=true")))
demo(nc, ask = FALSE)
try(st_write(nc, "PG:dbname=postgis", "sids", layer_options = "OVERWRITE=true"))
## End(Not run)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.