spatial_write: Wrapper functions for writing spatial objects.

spatial_writeR Documentation

Wrapper functions for writing spatial objects.

Description

Write spatial object to disk. If spatial object is Simple Features, then appropriate functions from package sf are used. If spatial objest are abstract of class Spatial (package sp) then preliminarly transformation to Simple Features is performed.

Usage

spatial_write(obj, fname, layer, driver = NA, compress = "", 
              dopt = character(), lopt = character(), verbose = FALSE, ...)

Arguments

obj

Spatial object: Either Simple Features (sf) or Spatial Abstract (sp). List of spatial objects can be used.

fname

Character. File name with or without extension. If extension is missed, then argument driver must be specified.

layer

Character. Layer name. If missed, then basename of fname is used.

driver

Character. Driver for specification of output file format. Default is NA; value is determined from extension of fname.

compress

Character or logical. Will output file or list of files be packed after writing and what archive format will be used. Available character values are "" (default; no compression), "gz", "gzip", "bz2", "bzip2", "zip", "xz", "zstd", "zst". If logical and TRUE, then "zip" is used for driver "ESRI Shapefile" and "gzip" otherwise. If logical and FALSE, then no compression.

dopt

Named character or named list. Driver dependent dataset creation options, , similar to argument dataset_options in function st_write().

lopt

Named character or named list. Driver dependent layer creation options, similar to argument layer_options in function st_write().

verbose

Logical. Value TRUE provides information on console. Default is FALSE.

...

Argument, which are passed to functions from suggested packages, e.g. pretty = TRUE in the case of using package yyjson.

Details

Based on sf::st_write function with additonal options: compressing of output file(s), coordinates trasforming (to longitudes and latitudes for driver="GeoJSON"), creating multi-layer destination (for driver="SQLite").

Value

invisible NULL.

Author(s)

Nikita Platonov platonov@sev-in.ru

See Also

write_sf

spatial_read

Examples

session_grid(NULL)
n <- 1e2
x <- runif(n,min=25,max=65)
y <- runif(n,min=55,max=65)
z <- runif(n,min=1,max=10)
da <- data.frame(x=x,y=y,z=z)
if (requireNamespace("sf",quietly=TRUE)) {
   obj1 <- sf::st_as_sf(da,coords=c("x","y"),crs=4326)
   print(series(obj1))
   fname1 <- file.path(tempdir(),"res1.shp")
   print(fname1)
   spatial_write(obj1,fname1)
   res1 <- spatial_read(fname1,engine="sf")
   print(series(res1))
}
print(spatial_dir(tempdir()))

ursa documentation built on Dec. 20, 2025, 1:07 a.m.