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:


Install either from CRAN with:


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



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


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.


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
  • 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.


  • 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.


This project has been realized with financial support from the