A package that provides simple features access for R. Package sf:

  • represents natively in R all 17 simple feature types for all dimensions (XY, XYZ, XYM, XYZM)
  • uses S3 classes: simple features are data.frame objects (or tibbles) that have a geometry list-column
  • interfaces to GEOS to support the DE9-IM
  • interfaces to GDAL with driver dependent dataset or layer creation options, Date and DateTime (POSIXct) columns, and coordinate reference system transformations through PROJ.4
  • provides fast I/O with GDAL and GEOS using well-known-binary written in C++/Rcpp
  • directly reads from and writes to spatial databases such as PostGIS using DBI

Blogs, presentations, vignettes

See also:

Installling

Install either from CRAN with:

install.packages("sf")

this will install binary packages on Windows and MacOS, unless you configured R such that it tries to install source packages; in that case, see below.

Install development versions from github with

library(devtools)
install_github("r-spatial/sf")

Windows

Installing sf from source works under windows when Rtools is installed. This downloads the system requirements from rwinlib.

MacOS

One way to install the dependencies is using sudo; the other is using homebrew. For the latter, see e.g. here. Homebrew commands might be:

brew unlink gdal
brew tap osgeo/osgeo4mac && brew tap --repair
brew install proj 
brew install geos 
brew install udunits
brew install gdal2 --with-armadillo --with-complete --with-libkml --with-unsupported
brew link --force gdal2

after that, you should be able to install sf as a source package.

According to https://github.com/r-spatial/sf/issues/349, brew install postgis installs a working liblwgeom. In case of problems, search the issues for brew before opening a new one.

For MacOS Sierra, see these instruction, using kyngchaos frameworks.

Linux

For Unix-alikes, GDAL (>= 2.0.0), GEOS (>= 3.3.0) and Proj.4 (>= 4.8.0) are required; liblwgeom is optional.

To install the dependencies on Ubuntu, either:

  • add ubuntugis-unstable to the package repositories:

    sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable
    sudo apt-get update
    sudo apt-get install libgdal-dev libgeos-dev libproj-dev libudunits2-dev liblwgeom-dev
    or
  • install dependencies from source; see e.g. an older travis config file for hints

To install on Debian, the rocker geospatial Dockerfiles may be helpful. Ubuntu Dockerfiles are found here.

Contributing

  • Contributions of all sorts are most welcome, issues and pull requests are the preferred ways of sharing them.
  • When contributing pull requests, please adhere to the package style (in package code use = rather than <-; don’t change indentation; tab stops of 4 spaces are preferred)
  • This project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Acknowledgment

This project has been realized with financial support from the