Simple Features for R
Overview
Support for simple feature access, a standardized way to encode and analyze spatial vector data. Binds to 'GDAL' doi:10.5281/zenodo.5884351 for reading and writing data, to 'GEOS' doi:10.5281/zenodo.11396894 for geometrical operations, and to 'PROJ' doi:10.5281/zenodo.5884394 for projection conversions and datum transformations. Uses by default the 's2' package for geometry operations on geodetic (long/lat degree) coordinates.
- move
st_interpolate_aw.stars()fromstarstosf, to get ready for usingGEOS::GEOSGridIntersectionFractions()in the future - guess Parquet driver from
.parquetfile extension; #2506 - adapt tests to changes in GEOS >= 3.15.0
- new argument
roundtost_coordinatesto round output coordinates to a given precision level; #2620
From NEWS.md in the release
Install
Health
NOTEtestsr-devel-linux-x86_64-debian-clang, r-devel-linux-x86_64-debian-gcc, r-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc, r-devel-windows-x86_64, r-oldrel-macos-arm64, r-oldrel-macos-x86_64, r-oldrel-windows-x86_64
r-devel-linux-x86_64-debian-clang
Running ‘aggregate.R’ [1s/1s] Comparing ‘aggregate.Rout’ to ‘aggregate.Rout.save’ ... OK Running ‘cast.R’ [2s/3s] Comparing ‘cast.Rout’ to ‘cast.Rout.save’ ... OK Running ‘crs.R’ [1s/2s] Comparing ‘crs.Rout’ to ‘crs.Rout.save’ ... OK Running ‘dist.R’ [2s/2s] Comparing ‘dist.Rout’ to ‘dist.Rout.save’ ... OK Running ‘dplyr.R’ [4s/5s] Comparing ‘dplyr.Rout’ to ‘dplyr.Rout.save’ ... OK Running ‘empty.R’ [1s/2s] Comparing ‘empty.Rout’ to ‘empty.Rout.save’ ... OK Running ‘full.R’ [2s/3s] Comparing ‘full.Rout’ to ‘full.Rout.save’ ... OK Running ‘gdal_geom.R’ [2s/3s] Comparing ‘gdal_geom.Rout’ to ‘gdal_geom.Rout.save’ ... OK Running ‘geos.R’ [29s/36s] Comparing ‘geos.Rout’ to ‘geos.Rout.save’ ... OK Running ‘graticule.R’ [4s/5s] Comparing ‘graticule.Rout’ to ‘graticule.Rout.save’ ... OK Running ‘grid.R’ [2s/2s] Comparing ‘grid.Rout’ to ‘grid.Rout.save’ ... OK Running ‘maps.R’ [3s/4s] Comparing ‘maps.Rout’ to ‘maps.Rout.save’ ... 43d42 < There were ...[truncated]... Comparing ‘plot.Rout’ to ‘plot.Rout.save’ ... OK Running ‘read.R’ [3s/5s] Comparing ‘read.Rout’ to ‘read.Rout.save’ ... OK Running ‘roundtrip.R’ [3s/3s] Comparing ‘roundtrip.Rout’ to ‘roundtrip.Rout.save’ ... OK Running ‘s2.R’ [3s/3s] Comparing ‘s2.Rout’ to ‘s2.Rout.save’ ... OK Running ‘sample.R’ [1s/2s] Comparing ‘sample.Rout’ to ‘sample.Rout.save’ ... OK Running ‘sfc.R’ [17s/22s] Comparing ‘sfc.Rout’ to ‘sfc.Rout.save’ ... OK Running ‘sfg.R’ [1s/1s] Comparing ‘sfg.Rout’ to ‘sfg.Rout.save’ ... OK Running ‘spatstat.R’ [5s/6s] Comparing ‘spatstat.Rout’ to ‘spatstat.Rout.save’ ... OK Running ‘stars.R’ [4s/5s] Comparing ‘stars.Rout’ to ‘stars.Rout.save’ ... OK Running ‘test-by-element.R’ [1s/1s] Comparing ‘test-by-element.Rout’ to ‘test-by-element.Rout.save’ ... OK Running ‘testthat.R’ [25s/33s] Running ‘units.R’ [1s/2s] Comparing ‘units.Rout’ to ‘units.Rout.save’ ... OK Running ‘wkb.R’ [1s/2s] Comparing ‘wkb.Rout’ to ‘wkb.Rout.save’ ... OK
r-devel-linux-x86_64-debian-gcc
Running ‘aggregate.R’ [1s/2s] Comparing ‘aggregate.Rout’ to ‘aggregate.Rout.save’ ... OK Running ‘cast.R’ [2s/2s] Comparing ‘cast.Rout’ to ‘cast.Rout.save’ ... OK Running ‘crs.R’ [1s/2s] Comparing ‘crs.Rout’ to ‘crs.Rout.save’ ... OK Running ‘dist.R’ [1s/2s] Comparing ‘dist.Rout’ to ‘dist.Rout.save’ ... OK Running ‘dplyr.R’ [3s/4s] Comparing ‘dplyr.Rout’ to ‘dplyr.Rout.save’ ... OK Running ‘empty.R’ [1s/1s] Comparing ‘empty.Rout’ to ‘empty.Rout.save’ ... OK Running ‘full.R’ [1s/2s] Comparing ‘full.Rout’ to ‘full.Rout.save’ ... OK Running ‘gdal_geom.R’ [2s/2s] Comparing ‘gdal_geom.Rout’ to ‘gdal_geom.Rout.save’ ... OK Running ‘geos.R’ [20s/26s] Comparing ‘geos.Rout’ to ‘geos.Rout.save’ ... OK Running ‘graticule.R’ [3s/4s] Comparing ‘graticule.Rout’ to ‘graticule.Rout.save’ ... OK Running ‘grid.R’ [1s/2s] Comparing ‘grid.Rout’ to ‘grid.Rout.save’ ... OK Running ‘maps.R’ [2s/3s] Comparing ‘maps.Rout’ to ‘maps.Rout.save’ ... 43d42 < There were ...[truncated]... Comparing ‘plot.Rout’ to ‘plot.Rout.save’ ... OK Running ‘read.R’ [3s/4s] Comparing ‘read.Rout’ to ‘read.Rout.save’ ... OK Running ‘roundtrip.R’ [2s/2s] Comparing ‘roundtrip.Rout’ to ‘roundtrip.Rout.save’ ... OK Running ‘s2.R’ [2s/3s] Comparing ‘s2.Rout’ to ‘s2.Rout.save’ ... OK Running ‘sample.R’ [1s/1s] Comparing ‘sample.Rout’ to ‘sample.Rout.save’ ... OK Running ‘sfc.R’ [11s/15s] Comparing ‘sfc.Rout’ to ‘sfc.Rout.save’ ... OK Running ‘sfg.R’ [1s/1s] Comparing ‘sfg.Rout’ to ‘sfg.Rout.save’ ... OK Running ‘spatstat.R’ [4s/5s] Comparing ‘spatstat.Rout’ to ‘spatstat.Rout.save’ ... OK Running ‘stars.R’ [3s/5s] Comparing ‘stars.Rout’ to ‘stars.Rout.save’ ... OK Running ‘test-by-element.R’ [1s/1s] Comparing ‘test-by-element.Rout’ to ‘test-by-element.Rout.save’ ... OK Running ‘testthat.R’ [17s/22s] Running ‘units.R’ [1s/2s] Comparing ‘units.Rout’ to ‘units.Rout.save’ ... OK Running ‘wkb.R’ [1s/1s] Comparing ‘wkb.Rout’ to ‘wkb.Rout.save’ ... OK
r-devel-linux-x86_64-fedora-clang
Running ‘aggregate.R’ Comparing ‘aggregate.Rout’ to ‘aggregate.Rout.save’ ... OK Running ‘cast.R’ Comparing ‘cast.Rout’ to ‘cast.Rout.save’ ... OK Running ‘crs.R’ Comparing ‘crs.Rout’ to ‘crs.Rout.save’ ... OK Running ‘dist.R’ Comparing ‘dist.Rout’ to ‘dist.Rout.save’ ... OK Running ‘dplyr.R’ Comparing ‘dplyr.Rout’ to ‘dplyr.Rout.save’ ... OK Running ‘empty.R’ Comparing ‘empty.Rout’ to ‘empty.Rout.save’ ... OK Running ‘full.R’ Comparing ‘full.Rout’ to ‘full.Rout.save’ ... OK Running ‘gdal_geom.R’ Comparing ‘gdal_geom.Rout’ to ‘gdal_geom.Rout.save’ ... 244,248c244,248 < [1,] 1760242094 0.114 < [2,] 946426033 0.061 < [3,] 2202239126 0.143 < [4,] 1074338664 0.070 < [5,] 2352518951 0.153 --- > [1,] 1760230516 0.114 > [2,] 946417787 0.061 > [3,] 2202223078 0.143 > [4,] 1074332698 0.070 > [5,] 2352528086 0.153 Running ‘geos.R’ [21s/21s] Comparing ‘geos.Rout’ to ‘geos.Rout.save’ ... 13,22c13,22 < [1,] 0.00 0.00 25652.42 440561.04 299772.09 36152 ...[truncated]... > Bounding box: xmin: 1216510 ymin: 935852 xmax: 1428880 ymax: 1031490 720,724c720,724 < POINT (1264559 935867) < POINT (1256623 949384) < POINT (1222665 972639) < POINT (1333530 968278) < POINT (1310838 958645) --- > POINT (1264558 935852) > POINT (1256623 949369) > POINT (1222665 972624) > POINT (1333528 968263) > POINT (1310837 958630) 734c734 < Bounding box: xmin: -81.6893 ymin: 36.2492 xmax: -80.914 ymax: 36.5726 --- > Bounding box: xmin: -81.6893 ymin: 36.2491 xmax: -80.914 ymax: 36.5726 Running ‘sfg.R’ Comparing ‘sfg.Rout’ to ‘sfg.Rout.save’ ... OK Running ‘spatstat.R’ Comparing ‘spatstat.Rout’ to ‘spatstat.Rout.save’ ... OK Running ‘stars.R’ Comparing ‘stars.Rout’ to ‘stars.Rout.save’ ... OK Running ‘test-by-element.R’ Comparing ‘test-by-element.Rout’ to ‘test-by-element.Rout.save’ ... OK Running ‘testthat.R’ [19s/23s] Running ‘units.R’ Comparing ‘units.Rout’ to ‘units.Rout.save’ ... OK Running ‘wkb.R’ Comparing ‘wkb.Rout’ to ‘wkb.Rout.save’ ... OK
r-devel-linux-x86_64-fedora-gcc
Running ‘aggregate.R’ Comparing ‘aggregate.Rout’ to ‘aggregate.Rout.save’ ... OK Running ‘cast.R’ Comparing ‘cast.Rout’ to ‘cast.Rout.save’ ... OK Running ‘crs.R’ Comparing ‘crs.Rout’ to ‘crs.Rout.save’ ... OK Running ‘dist.R’ Comparing ‘dist.Rout’ to ‘dist.Rout.save’ ... OK Running ‘dplyr.R’ Comparing ‘dplyr.Rout’ to ‘dplyr.Rout.save’ ... OK Running ‘empty.R’ Comparing ‘empty.Rout’ to ‘empty.Rout.save’ ... OK Running ‘full.R’ Comparing ‘full.Rout’ to ‘full.Rout.save’ ... OK Running ‘gdal_geom.R’ Comparing ‘gdal_geom.Rout’ to ‘gdal_geom.Rout.save’ ... 244,248c244,248 < [1,] 1760242094 0.114 < [2,] 946426033 0.061 < [3,] 2202239126 0.143 < [4,] 1074338664 0.070 < [5,] 2352518951 0.153 --- > [1,] 1760230516 0.114 > [2,] 946417787 0.061 > [3,] 2202223078 0.143 > [4,] 1074332698 0.070 > [5,] 2352528086 0.153 Running ‘geos.R’ [20s/21s] Comparing ‘geos.Rout’ to ‘geos.Rout.save’ ... 13,22c13,22 < [1,] 0.00 0.00 25652.42 440561.04 299772.09 36152 ...[truncated]... > Bounding box: xmin: 1216510 ymin: 935852 xmax: 1428880 ymax: 1031490 720,724c720,724 < POINT (1264559 935867) < POINT (1256623 949384) < POINT (1222665 972639) < POINT (1333530 968278) < POINT (1310838 958645) --- > POINT (1264558 935852) > POINT (1256623 949369) > POINT (1222665 972624) > POINT (1333528 968263) > POINT (1310837 958630) 734c734 < Bounding box: xmin: -81.6893 ymin: 36.2492 xmax: -80.914 ymax: 36.5726 --- > Bounding box: xmin: -81.6893 ymin: 36.2491 xmax: -80.914 ymax: 36.5726 Running ‘sfg.R’ Comparing ‘sfg.Rout’ to ‘sfg.Rout.save’ ... OK Running ‘spatstat.R’ Comparing ‘spatstat.Rout’ to ‘spatstat.Rout.save’ ... OK Running ‘stars.R’ Comparing ‘stars.Rout’ to ‘stars.Rout.save’ ... OK Running ‘test-by-element.R’ Comparing ‘test-by-element.Rout’ to ‘test-by-element.Rout.save’ ... OK Running ‘testthat.R’ [17s/21s] Running ‘units.R’ Comparing ‘units.Rout’ to ‘units.Rout.save’ ... OK Running ‘wkb.R’ Comparing ‘wkb.Rout’ to ‘wkb.Rout.save’ ... OK
r-devel-windows-x86_64
Running 'aggregate.R' [2s] Comparing 'aggregate.Rout' to 'aggregate.Rout.save' ... OK Running 'cast.R' [2s] Comparing 'cast.Rout' to 'cast.Rout.save' ... OK Running 'crs.R' [1s] Comparing 'crs.Rout' to 'crs.Rout.save' ... OK Running 'dist.R' [2s] Comparing 'dist.Rout' to 'dist.Rout.save' ... OK Running 'dplyr.R' [4s] Comparing 'dplyr.Rout' to 'dplyr.Rout.save' ... OK Running 'empty.R' [2s] Comparing 'empty.Rout' to 'empty.Rout.save' ... OK Running 'full.R' [2s] Comparing 'full.Rout' to 'full.Rout.save' ... OK Running 'gdal_geom.R' [2s] Comparing 'gdal_geom.Rout' to 'gdal_geom.Rout.save' ... OK Running 'geos.R' [26s] Comparing 'geos.Rout' to 'geos.Rout.save' ... OK Running 'graticule.R' [4s] Comparing 'graticule.Rout' to 'graticule.Rout.save' ... OK Running 'grid.R' [2s] Comparing 'grid.Rout' to 'grid.Rout.save' ... OK Running 'maps.R' [3s] Comparing 'maps.Rout' to 'maps.Rout.save' ... 43d42 < There were 50 or more warnings (use warnings() t ...[truncated]... the first 50) Running 'plot.R' [8s] Comparing 'plot.Rout' to 'plot.Rout.save' ... OK Running 'read.R' [4s] Comparing 'read.Rout' to 'read.Rout.save' ... OK Running 'roundtrip.R' [3s] Comparing 'roundtrip.Rout' to 'roundtrip.Rout.save' ... OK Running 's2.R' [2s] Comparing 's2.Rout' to 's2.Rout.save' ... OK Running 'sample.R' [2s] Comparing 'sample.Rout' to 'sample.Rout.save' ... OK Running 'sfc.R' [15s] Comparing 'sfc.Rout' to 'sfc.Rout.save' ... OK Running 'sfg.R' [1s] Comparing 'sfg.Rout' to 'sfg.Rout.save' ... OK Running 'spatstat.R' [5s] Comparing 'spatstat.Rout' to 'spatstat.Rout.save' ... OK Running 'stars.R' [4s] Comparing 'stars.Rout' to 'stars.Rout.save' ... OK Running 'test-by-element.R' [1s] Comparing 'test-by-element.Rout' to 'test-by-element.Rout.save' ... OK Running 'testthat.R' [30s] Running 'units.R' [2s] Comparing 'units.Rout' to 'units.Rout.save' ... OK Running 'wkb.R' [1s] Comparing 'wkb.Rout' to 'wkb.Rout.save' ... OK
r-oldrel-macos-arm64
Running ‘aggregate.R’ [0s/0s] Comparing ‘aggregate.Rout’ to ‘aggregate.Rout.save’ ... OK Running ‘cast.R’ [0s/0s] Comparing ‘cast.Rout’ to ‘cast.Rout.save’ ... OK Running ‘crs.R’ [0s/0s] Comparing ‘crs.Rout’ to ‘crs.Rout.save’ ... OK Running ‘dist.R’ [0s/0s] Comparing ‘dist.Rout’ to ‘dist.Rout.save’ ... OK Running ‘dplyr.R’ [1s/1s] Comparing ‘dplyr.Rout’ to ‘dplyr.Rout.save’ ... OK Running ‘empty.R’ [0s/0s] Comparing ‘empty.Rout’ to ‘empty.Rout.save’ ... OK Running ‘full.R’ [0s/0s] Comparing ‘full.Rout’ to ‘full.Rout.save’ ... OK Running ‘gdal_geom.R’ [1s/1s] Comparing ‘gdal_geom.Rout’ to ‘gdal_geom.Rout.save’ ... OK Running ‘geos.R’ [6s/6s] Comparing ‘geos.Rout’ to ‘geos.Rout.save’ ... OK Running ‘graticule.R’ [1s/1s] Comparing ‘graticule.Rout’ to ‘graticule.Rout.save’ ... OK Running ‘grid.R’ [0s/0s] Comparing ‘grid.Rout’ to ‘grid.Rout.save’ ... OK Running ‘maps.R’ [1s/1s] Comparing ‘maps.Rout’ to ‘maps.Rout.save’ ... OK Running ‘plot.R’ ...[truncated]... ring ‘roundtrip.Rout’ to ‘roundtrip.Rout.save’ ... OK Running ‘s2.R’ [1s/1s] Comparing ‘s2.Rout’ to ‘s2.Rout.save’ ... OK Running ‘sample.R’ [0s/0s] Comparing ‘sample.Rout’ to ‘sample.Rout.save’ ... OK Running ‘sfc.R’ [3s/3s] Comparing ‘sfc.Rout’ to ‘sfc.Rout.save’ ... OK Running ‘sfg.R’ [0s/0s] Comparing ‘sfg.Rout’ to ‘sfg.Rout.save’ ... OK Running ‘spatstat.R’ [1s/1s] Comparing ‘spatstat.Rout’ to ‘spatstat.Rout.save’ ... OK Running ‘stars.R’ [1s/1s] Comparing ‘stars.Rout’ to ‘stars.Rout.save’ ...127c127 < Min. 1st Qu. Median Mean 3rd Qu. Max. NA's --- > Min. 1st Qu. Median Mean 3rd Qu. Max. NAs Running ‘test-by-element.R’ [0s/0s] Comparing ‘test-by-element.Rout’ to ‘test-by-element.Rout.save’ ... OK Running ‘testthat.R’ [5s/7s] Running ‘units.R’ [0s/0s] Comparing ‘units.Rout’ to ‘units.Rout.save’ ... OK Running ‘wkb.R’ [0s/0s] Comparing ‘wkb.Rout’ to ‘wkb.Rout.save’ ... OK
r-oldrel-macos-x86_64
Running ‘aggregate.R’ [1s/1s] Comparing ‘aggregate.Rout’ to ‘aggregate.Rout.save’ ... OK Running ‘cast.R’ [2s/2s] Comparing ‘cast.Rout’ to ‘cast.Rout.save’ ... OK Running ‘crs.R’ [1s/1s] Comparing ‘crs.Rout’ to ‘crs.Rout.save’ ... OK Running ‘dist.R’ [1s/1s] Comparing ‘dist.Rout’ to ‘dist.Rout.save’ ... OK Running ‘dplyr.R’ [3s/4s] Comparing ‘dplyr.Rout’ to ‘dplyr.Rout.save’ ... OK Running ‘empty.R’ [1s/1s] Comparing ‘empty.Rout’ to ‘empty.Rout.save’ ... OK Running ‘full.R’ [1s/2s] Comparing ‘full.Rout’ to ‘full.Rout.save’ ... OK Running ‘gdal_geom.R’ [2s/2s] Comparing ‘gdal_geom.Rout’ to ‘gdal_geom.Rout.save’ ... OK Running ‘geos.R’ [19s/26s] Comparing ‘geos.Rout’ to ‘geos.Rout.save’ ... OK Running ‘graticule.R’ [3s/4s] Comparing ‘graticule.Rout’ to ‘graticule.Rout.save’ ... OK Running ‘grid.R’ [1s/2s] Comparing ‘grid.Rout’ to ‘grid.Rout.save’ ... OK Running ‘maps.R’ [2s/3s] Comparing ‘maps.Rout’ to ‘maps.Rout.save’ ... OK Running ‘plot. ...[truncated]... ‘roundtrip.Rout’ to ‘roundtrip.Rout.save’ ... OK Running ‘s2.R’ [2s/2s] Comparing ‘s2.Rout’ to ‘s2.Rout.save’ ... OK Running ‘sample.R’ [1s/1s] Comparing ‘sample.Rout’ to ‘sample.Rout.save’ ... OK Running ‘sfc.R’ [11s/16s] Comparing ‘sfc.Rout’ to ‘sfc.Rout.save’ ... OK Running ‘sfg.R’ [1s/1s] Comparing ‘sfg.Rout’ to ‘sfg.Rout.save’ ... OK Running ‘spatstat.R’ [3s/5s] Comparing ‘spatstat.Rout’ to ‘spatstat.Rout.save’ ... OK Running ‘stars.R’ [3s/4s] Comparing ‘stars.Rout’ to ‘stars.Rout.save’ ...127c127 < Min. 1st Qu. Median Mean 3rd Qu. Max. NA's --- > Min. 1st Qu. Median Mean 3rd Qu. Max. NAs Running ‘test-by-element.R’ [1s/1s] Comparing ‘test-by-element.Rout’ to ‘test-by-element.Rout.save’ ... OK Running ‘testthat.R’ [17s/25s] Running ‘units.R’ [1s/2s] Comparing ‘units.Rout’ to ‘units.Rout.save’ ... OK Running ‘wkb.R’ [1s/1s] Comparing ‘wkb.Rout’ to ‘wkb.Rout.save’ ... OK
r-oldrel-windows-x86_64
Running 'aggregate.R' [2s] Comparing 'aggregate.Rout' to 'aggregate.Rout.save' ... OK Running 'cast.R' [3s] Comparing 'cast.Rout' to 'cast.Rout.save' ... OK Running 'crs.R' [2s] Comparing 'crs.Rout' to 'crs.Rout.save' ... OK Running 'dist.R' [2s] Comparing 'dist.Rout' to 'dist.Rout.save' ... OK Running 'dplyr.R' [5s] Comparing 'dplyr.Rout' to 'dplyr.Rout.save' ... OK Running 'empty.R' [2s] Comparing 'empty.Rout' to 'empty.Rout.save' ... OK Running 'full.R' [2s] Comparing 'full.Rout' to 'full.Rout.save' ... OK Running 'gdal_geom.R' [3s] Comparing 'gdal_geom.Rout' to 'gdal_geom.Rout.save' ... OK Running 'geos.R' [38s] Comparing 'geos.Rout' to 'geos.Rout.save' ... OK Running 'graticule.R' [6s] Comparing 'graticule.Rout' to 'graticule.Rout.save' ... OK Running 'grid.R' [2s] Comparing 'grid.Rout' to 'grid.Rout.save' ... OK Running 'maps.R' [4s] Comparing 'maps.Rout' to 'maps.Rout.save' ... OK Running 'plot.R' [13s] Comparing 'plot.Rout' to ' ...[truncated]... g 'roundtrip.R' [3s] Comparing 'roundtrip.Rout' to 'roundtrip.Rout.save' ... OK Running 's2.R' [3s] Comparing 's2.Rout' to 's2.Rout.save' ... OK Running 'sample.R' [2s] Comparing 'sample.Rout' to 'sample.Rout.save' ... OK Running 'sfc.R' [22s] Comparing 'sfc.Rout' to 'sfc.Rout.save' ... OK Running 'sfg.R' [1s] Comparing 'sfg.Rout' to 'sfg.Rout.save' ... OK Running 'spatstat.R' [6s] Comparing 'spatstat.Rout' to 'spatstat.Rout.save' ... OK Running 'stars.R' [5s] Comparing 'stars.Rout' to 'stars.Rout.save' ...127c127 < Min. 1st Qu. Median Mean 3rd Qu. Max. NA's --- > Min. 1st Qu. Median Mean 3rd Qu. Max. NAs Running 'test-by-element.R' [1s] Comparing 'test-by-element.Rout' to 'test-by-element.Rout.save' ... OK Running 'testthat.R' [38s] Running 'units.R' [2s] Comparing 'units.Rout' to 'units.Rout.save' ... OK Running 'wkb.R' [2s] Comparing 'wkb.Rout' to 'wkb.Rout.save' ... OK
- NOTE5 OK, 8 NOTE2026-09-17
- ERROR7 OK, 5 NOTE, 1 ERROR2026-09-08
- NOTE1 OK, 12 NOTE2026-07-23
- ERROR12 NOTE, 1 ERROR2026-07-19
- NOTE2 OK, 10 NOTE, 1 FAILURE2026-06-08
Show 8 earlier changesHide 8 earlier changes
- ERROR2 OK, 10 NOTE, 1 ERROR2026-06-07
- NOTE6 OK, 7 NOTE2026-05-02
- ERROR4 OK, 7 NOTE, 1 ERROR2026-04-25
- NOTE4 OK, 10 NOTE2026-04-22
- ERROR3 OK, 10 NOTE, 1 ERROR2026-04-18
- NOTE4 OK, 10 NOTE2026-04-11
- ERROR3 OK, 10 NOTE, 1 ERROR2026-04-09
- NOTE3 OK, 11 NOTE2026-03-10
Documentation
- Help pages
- 85 (5 internal)includes a package overview page
- Examples that run
- 95%55 run in a plain check · 2 only when donttest examples are enabled (R CMD check --as-cran) · 1 never run
- Exported functions with examples
- 79%
- Documented parameters
- 93%
- Return-value docs
- 64%
- Help pages citing references
- 1%
Also includes 6 demo scripts (run with demo())
Downloads
Repository
- PRs merged (all time)
- 80%
- Median days to close, 50 most recently updated closed issues
- 3
- Median days to close, 50 most recently updated closed PRs
- 2
Stars over time
Forks over time
Releases over time
Issues over time
PRs over time
Commits over time
Commit identities over time
11 development-tooling and community-health practices detected across 6 families in the upstream repository
Checks run against github.com/r-spatial/sf on 2026-10-18.
The R CMD check workflow runs on Linux, macOS and Windows, and on R-devel
GitHub Pages site last deployed 2026-10-18 · The repository has a site deploy workflow
pkgdown site last built 2026-10-18
Show all practicesHide 2 practices
This repository shows signs of AI coding tools.
- Claude Codefirst seen 2026-09-27Commits: at least 1 crediting it in the message
- Claude CodePull requests: 1 from outside contributors, first on 2026-09-28, 1 from forks
- Claude Opus 5.51 commit · Sep 2026
Dependencies
Installing sf adds 8 packages (7 with compiled code, 7.5 MB of source tarballs). Heaviest: s2 2.8 MB, Rcpp 1.8 MB, wk 1.0 MB.
Show the 48 most downloaded dependentsHide the 48 most downloaded dependents
and 843 more dependents and 386 packages that suggest it on CRAN ↗
Code & Tests
People & History
Show 5 more contributorsHide 5 contributors
Pick two releases to compare their code metrics.
- 1.1-3Latest
- 1.1-22026-07-23 · diff ↗
- 1.1-1
- RR 4.6.0 released · 2026-04-24
- 1.1-0
- 1.0-242026-01-13 · diff ↗
- 1.0-232025-11-28 · diff ↗
- 1.0-222025-11-10 · diff ↗
- 1.0-212025-05-15 · diff ↗
- RR 4.5.0 released · 2025-04-11
- 1.0-20
- 1.0-192024-11-05 · diff ↗
- 1.0-18
- 1.0-17
- RR 4.4.0 released · 2024-04-24
- 1.0-162024-03-25 · diff ↗ ·
removed 1 export
pivot_wider.sfadded 2 exports
st_line_interpolate, st_line_project
Show 69 earlier eventsHide 69 earlier events
- 1.0-15
- 1.0-142023-07-11 · diff ↗
- 1.0-132023-05-24 · diff ↗
- RR 4.3.0 released · 2023-04-21
- 1.0-122023-03-20 · diff ↗
- 1.0-11
- 1.0-10
- 1.0-9
- 1.0-8
- RR 4.2.0 released · 2022-04-22
- 1.0-72022-03-07 · diff ↗
- 1.0-6
- 1.0-52021-12-17 · diff ↗
- 1.0-4
- 1.0-32021-10-07 · diff ↗
- 1.0-22021-07-26 · diff ↗
- 1.0-12021-06-29 · diff ↗
- 1.0-0
- RR 4.1.0 released · 2021-05-18
- 0.9-8
- 0.9-7
- 0.9-6
- 0.9-5
- 0.9-42020-06-13 · diff ↗
- 0.9-32020-05-04 · diff ↗
- RR 4.0.0 released · 2020-04-24
- 0.9-2
- 0.9-12020-04-06 · diff ↗
- 0.9-02020-03-24 · diff ↗ ·
removed 2 exports
sf_as_sfc.pq_geometry, st_proj_infoadded 4 exports
sf_proj_info, st_axis_order, st_make_valid, st_reverse - 0.8-12020-01-28 · diff ↗ ·
added 9 exports
NA_m_range_, NA_z_range_, sf_as_sfc.pq_geometry, st_filter, st_m_range, st_shift_longitude, st_z_range, vec_cast.sfc, vec_ptype2.sfc - 0.8-02019-09-17 · diff ↗
- 0.7-72019-07-24 · diff ↗
- 0.7-62019-07-05 · diff ↗
- 0.7-52019-07-03 · diff ↗
- 0.7-42019-04-26 · diff ↗
- RR 3.6.0 released · 2019-04-26
- 0.7-3
- 0.7-2
- 0.7-12018-10-24 · diff ↗
- 0.7-02018-10-17 · diff ↗ ·
added 4 exports
gdal_polygonize, gdal_rasterize, st_nearest_feature, st_nearest_points - 0.6-32018-05-17 · diff ↗
- 0.6-22018-04-25 · diff ↗ ·
removed 28 exports
anti_join.sf, arrange.sf, distinct.sf, filter.sf, full_join.sf, gather.sf, group_by.sf, inner_join.sf, left_join.sf, mutate.sf, nest.sf, obj_sum.sfc, pillar_shaft.sfc, rename.sf, right_join.sf, sample_frac.sf, sample_n.sf, select.sf, semi_join.sf, separate.sf, slice.sf, spread.sf, summarise.sf, transmute.sf, type_sum.sfc, ungroup.sf, unite.sf, unnest.sfadded 1 export
st_crop - RR 3.5.0 released · 2018-04-23
- 0.6-12018-03-22 · diff ↗ ·
added 13 exports
.degAxis, .get_layout, .image_scale, .image_scale_factor, gdal_crs, gdal_inv_geotransform, gdal_metadata, gdal_read, gdal_subdatasets, gdal_utils, gdal_write, get_key_pos, pillar_shaft.sfc - 0.6-02018-01-06 · diff ↗ ·
removed 3 exports
st_geohash, st_make_valid, st_splitadded 5 exports
.stop_geos, sf_project, st_is_empty, st_snap, unnest.sf - 0.5-5
- 0.5-42017-08-28 · diff ↗ ·
removed 15 exports
arrange_.sf, distinct_.sf, filter_.sf, gather_.sf, group_by_.sf, mutate_.sf, nest_.sf, rename_.sf, select_.sf, separate_.sf, slice_.sf, spread_.sf, summarise_.sf, transmute_.sf, unite_.sfadded 6 exports
as_Spatial, gather.sf, nest.sf, separate.sf, spread.sf, unite.sf - 0.5-3
- 0.5-2
- 0.5-12017-06-23 · diff ↗
- 0.5-0
- 0.4-3
- 0.4-22017-05-05 · diff ↗ ·
added 12 exports
arrange.sf, distinct.sf, filter.sf, group_by.sf, mutate.sf, nest_.sf, rename.sf, select.sf, slice.sf, st_wrap_dateline, summarise.sf, transmute.sf - RR 3.4.0 released · 2017-04-21
- 0.4-12017-03-28 · diff ↗
- 0.4-02017-03-21 · diff ↗ ·
removed 3 exports
st_linemerge, st_list, st_makegridadded 11 exports
%>%, sample_frac.sf, sample_n.sf, st_bind_cols, st_coordinates, st_line_merge, st_make_grid, st_make_valid, st_proj_info, st_sample, st_set_geometry - 0.3-4
- 0.3-22017-02-04 · diff ↗ ·
added 7 exports
anti_join.sf, full_join.sf, inner_join.sf, left_join.sf, right_join.sf, semi_join.sf, st_join - 0.3-1
- 0.3-02017-01-28 · diff ↗ ·
removed 1 export
st_drop_zmadded 11 exports
st_agr<-, st_precision<-, NA_agr_, read_sf, st_agr, st_is, st_precision, st_set_agr, st_set_precision, st_zm, write_sf - 0.2-82017-01-05 · diff ↗ ·
added 9 exports
plot_sf, sf.colors, sf_extSoftVersion, st_dimension, st_graticule, st_interpolate_aw, st_line_sample, st_linemerge, st_makegrid - 0.2-7
- 0.2-6
- 0.2-5
- 0.2-42016-11-22 · diff ↗ ·
removed 2 exports
st_is_within_distance, st_mergeadded 21 exports
NA_crs_, arrange_.sf, cbind.sf, distinct_.sf, filter_.sf, gather_.sf, group_by_.sf, mutate_.sf, rawToHex, rbind.sf, rename_.sf, select_.sf, slice_.sf, spread_.sf, st_area, st_combine, st_length, st_list, st_set_crs, summarise_.sf, transmute_.sf - 0.2-22016-10-31 · diff ↗
- 0.2-12016-10-27 · diff ↗
- 0.2-02016-10-26
- RR 3.3.0 released · 2016-05-03
Package metadata
- First published
- 2016-10-26
- Total releases
- 74 / 10 yrs
- License
- GPL-2 | MIT + file LICENSE OSI
- Minimum R
- ≥ 4.1.0
- Download size
- 9.3 MB
Cite
Cite this package
Run in R for the authors' entry:
citation("sf")The package provides a citation file, so citation() returns the authors' own entry.
It points to 10.1201/9780429459016, 10.32614/rj-2018-009.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-21, which the citation names so these numbers can be found later. More on citing and the projects behind them.