This function saves a GVector
to disk directly from a GRASS session.
By default, files will be of OGC GeoPackage format (extension ".gpkg
"), but this can be changed with the format
argument. You can see a list of supported formats by simply using this function with no arguments, as in writeVector()
, or by consulting the online help page for GRASS module v.out.ogr
(see grassHelp("v.out.ogr")
).
Note that if the vector has a data table attached and at least one numeric or integer column has an NA
or NaN
value, the function will yield a warning like:
Warning 1: Invalid value type found in record 2 for field column_with_NA_or_NaN. This warning will no longer be emitted.
Also note that despite the promise, this warning will be displayed again.
Usage
# S4 method for class 'GVector,character'
writeVector(
x,
filename,
overwrite = FALSE,
format = NULL,
attachTable = TRUE,
...
)
# S4 method for class 'missing,missing'
writeVector(x, filename)
Arguments
- x
A
GVector
.- filename
Character: Path and file name.
- overwrite
Logical: If
FALSE
(default), do not save over existing files.- format
Character or
NULL
: File format. IfNULL
(default), then the function will attempt to get the format from the file name extension. Partial matching is used and case is ignored. You can see a list of formats usingwriteVector()
(no arguments). Some common formats include:"GPKG"
: OGC GeoPackage (extension.gpkg
)."CSV"
: Comma-separated value... saves the data table only, not the geometries (extension.csv
)."ESRI Shapefile"
: ESRI shapefile (extension.shp
)."GeoJSON"
: GeoJSON (extensionGeoJSON
)"KML"
: Keyhole Markup Language (extension.kml
)"netCDF"
: NetCDF (extension.ncdf
)"XLSX"
: MS Office Open XML spreadsheet (extension.xlsx
).
- attachTable
Logical: If
TRUE
(default), attach the attribute to table to the vector before saving it. IfFALSE
, the attribute table will not be attached.- ...
Additional arguments to send to GRASS module
v.out.ogr
(seegrassHelp("v.out.ogr")
).
See also
terra::writeVector()
, sf::st_write()
, GRASS module v.out.ogr
(see grassHelp("v.out.ogr")
)
terra::writeVector()
, the GRASS module manual page for v.out.ogr
(see grassHelp("v.out.ogr")
)
Examples
if (grassStarted()) {
# Setup
library(terra)
# Example data
madRivers <- fastData("madRivers")
# What file formats can we attempt to write?
writeVector()
# Convert SpatVector to GVector
rivers <- fast(madRivers)
rivers
# Save GVector to disk as GeoPackage
filename <- tempfile(fileext = ".gpkg")
writeVector(rivers, filename)
# Save GVector to disk as ESRI Shapefile
filename <- tempfile(fileext = ".shp")
writeVector(rivers, filename)
# Save GVector to disk as Google Earth KML
filename <- tempfile(fileext = ".klm")
writeVector(rivers, filename)
# Save GVector data table to disk as comma-separated file
filename <- tempfile(fileext = ".csv")
writeVector(rivers, filename)
# Save GVector data table to disk as NetCDF
filename <- tempfile(fileext = ".ncdf")
writeVector(rivers, filename)
# Save GVector data table to disk as Excel file
filename <- tempfile(fileext = ".xlsx")
writeVector(rivers, filename)
}