Last chance! 50% off unlimited learning
Sale ends in
Write simple features object to file or database
Write sf
object to Database
Write sf
object to Database
st_write(obj, dsn, layer, ...)# S3 method for sfc
st_write(obj, dsn, layer, ...)
# S3 method for sf
st_write(obj, dsn, layer = NULL, ...,
driver = guess_driver_can_write(dsn), dataset_options = NULL,
layer_options = NULL, quiet = FALSE, factorsAsCharacter = TRUE,
update = driver %in% db_drivers, delete_dsn = FALSE,
delete_layer = FALSE)
write_sf(..., quiet = TRUE, delete_layer = TRUE)
# S4 method for PostgreSQLConnection,character,sf
dbWriteTable(conn, name, value,
..., row.names = FALSE, overwrite = FALSE, append = FALSE,
field.types = NULL, factorsAsCharacter = TRUE, binary = TRUE)
# S4 method for DBIObject,character,sf
dbWriteTable(conn, name, value, ...,
row.names = FALSE, overwrite = FALSE, append = FALSE,
field.types = NULL, factorsAsCharacter = TRUE, binary = TRUE)
object of class sf
or sfc
data source name (interpretation varies by driver - for some drivers, dsn is a file name, but may also be a folder or contain a database name) or a Database Connection (currently official support is for RPostgreSQL connections)
layer name (varies by driver, may be a file name without extension); if layer is missing, the
basename of dsn
is taken.
other arguments passed to dbWriteTable when dsn
is a
Database Connection
character; name of driver to be used; if missing and dsn
is not a Database Connection, a driver name is guessed from dsn
;
st_drivers()
returns the drivers that are available with their properties; links to full driver documentation
are found at http://www.gdal.org/ogr_formats.html.
character; driver dependent dataset creation options; multiple options supported.
character; driver dependent layer creation options; multiple options supported.
logical; suppress info on name, driver, size and spatial reference
logical; convert factor
objects into character strings (default), else into numbers by
as.numeric
.
logical; FALSE
by default for single-layer drivers but TRUE
by default for database drivers
as defined by db_drivers
.
For database-type drivers (e.g. GPKG) TRUE
values will make GDAL
try
to update (append to) the existing data source, e.g. adding a table to an existing database.
logical; delete data source dsn
before attempting to write?
logical; delete layer layer
before attempting to write? (not yet implemented)
DBIObject
character vector of names (table names, fields, keywords).
a data.frame.
Add a row.name
column, or a vector of length nrow(obj)
containing row.names; default FALSE
.
Will try to drop
table before writing; default FALSE
.
Append rows to existing table; default FALSE
.
default NULL
. Allows to override type conversion from R
to PostgreSQL. See dbDataType()
for details.
Send geometries serialized as Well-Known Binary (WKB);
if FALSE
, uses Well-Known Text (WKT). Defaults to TRUE
(WKB).
columns (variables) of a class not supported are dropped with a warning. When deleting layers or
data sources is not successful, no error is emitted. delete_dsn
and delete_layers
should be
handled with care; the former may erase complete directories or databases.
# NOT RUN {
nc = st_read(system.file("shape/nc.shp", package="sf"))
st_write(nc, "nc.shp")
st_write(nc, "nc.shp", delete_layer = TRUE) # overwrites
data(meuse, package = "sp") # loads data.frame from sp
meuse_sf = st_as_sf(meuse, coords = c("x", "y"), crs = 28992)
st_write(meuse_sf, "meuse.csv", layer_options = "GEOMETRY=AS_XY") # writes X and Y as columns
st_write(meuse_sf, "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"))
# }
Run the code above in your browser using DataLab