Giter Club home page Giter Club logo

sf's Introduction

Build Status AppVeyor Build Status Coverage Status License CRAN cran checks Downloads

Simple Features for R

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

  • simple features are data.frames or tibbles with a geometry list-column
  • represents natively in R all 17 simple feature types for all dimensions (XY, XYZ, XYM, XYZM)
  • interfaces to GEOS to support the DE9-IM
  • interfaces to GDAL, supporting all driver options, Date and DateTime (POSIXct) columns, and coordinate reference system transformations through PROJ
  • uses well-known-binary serialisations written in C++/Rcpp for fast I/O with GDAL and GEOS
  • directly reads from and writes to spatial databases such as PostGIS using DBI
  • is extended by pkg lwgeom for further liblwgeom/PostGIS functions, including spherical geometry functions

(Illustration (c) by Allison Horst)

Blogs, presentations, vignettes, sp-sf wiki

Cheatsheet

CC 4.0 BY Ryan Garnett

Installing

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. 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 might be able to install sf as a source package.

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.

Ubuntu

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 libudunits2-dev libgdal-dev libgeos-dev libproj-dev 

or install dependencies from source; see e.g. an older travis config file for hints.

Fedora

The following command installs all required dependencies:

sudo dnf install gdal-devel proj-devel proj-epsg proj-nad geos-devel udunits2-devel

Arch

Get gdal, proj and geos from the main repos and udunits from the AUR:

pacman -S gdal proj geos
pacaur/yaourt/whatever -S udunits

Other

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

Multiple GDAL, GEOS and/or PROJ versions on your system

In case you use dynamic linking (installation from source) and have multiple versions of these libraries installed (e.g. one from ubuntugis-unstable, another installed from source in /usr/local/lib) then this will in general not work, even when setting LD_LIBRARY_PATH manually. See here for the reason why.

lwgeom

Functions and methods that require liblwgeom, including st_make_valid and all spherical or ellipsoidal metrics (area, distances), have since sf 0.5-5 been moved to their own package, lwgeom, which is also on CRAN.

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 gratefully acknowledges financial support from the

sf's People

Contributors

edzer avatar etiennebr avatar pat-s avatar robinlovelace avatar ateucher avatar mdsumner avatar mpadge avatar nowosad avatar dbaston avatar hughjonesd avatar jeroen avatar karldw avatar matthieustigler avatar rsbivand avatar dpprdan avatar uribo avatar hadley avatar statnmap avatar rundel avatar krlmlr avatar barryrowlingson avatar angela-li avatar lbusett avatar rnuske avatar jeffreyhanson avatar valexandre avatar kendonb avatar yutannihilation avatar dblodgett-usgs avatar cmcaine avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.