Learn R Programming

ursa (version 3.9.4)

spatial_read: Wrapper functions for reading spatial objects.

Description

Read either simple features (package sf) and abstract of class Spatial (package sp) from disk using appropriate functionality (“engine”) of respective packages is used.

Usage

spatial_read(dsn, engine = c("native", "sp", "sf"))

Arguments

dsn

Character. File name of spatial object (vector GIS).

engine

Character. Functionality of which package is used for reading data. If value is "sf" then package is sf is used and simple features are returned. If value is "sp", then package rgdal is used and Spatial abstracts (package sp) are returned. If value is "native" then engine selection depends of which namespace has already loaded or has suggested package sf been installed.

Value

Depending of used engine, either simple features (package sf) or Spatial abstracts (sp).

Details

Currently, list of arguments of this funtion is simplified and can be expanded.

See Also

read_sf (valid if package sf is installed)

readOGR (package rgdal)

spatial_write

Examples

Run this code
# NOT RUN {
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))
}
if (requireNamespace("sp")) {
   obj2 <- da
   sp::coordinates(obj2) <- c("x","y")
   sp::proj4string(obj2) <- sp::CRS("+init=epsg:4326")
   print(series(obj2))
   print(spatial_crs(obj2))
   fname2 <- file.path(tempdir(),"res2.shp")
   print(fname2)
   spatial_write(obj2,fname2)
   res2 <- spatial_read(fname2,engine="sp")
   print(series(obj2))
}
print(spatial_dir(tempdir()))
# }

Run the code above in your browser using DataLab