functions for spherical geometry, using the s2 package based on the google s2geometry.io library

sf_use_s2(use_s2)

# S3 method for wk_wkb
st_as_sfc(x, ..., crs = st_crs(4326))

# S3 method for s2_geography
st_as_sfc(
  x,
  ...,
  crs = st_crs(4326),
  endian = match(.Platform$endian, c("big", "little")) - 1L
)

# S3 method for s2_geography
st_as_sf(x, ..., crs = st_crs(4326))

st_as_s2(x, ...)

# S3 method for sf
st_as_s2(x, ...)

# S3 method for sfc
st_as_s2(x, ..., oriented = FALSE)

Arguments

use_s2

logical; if TRUE, use the s2 spherical geometry package for geographical coordinate operations

x

object of class sf, sfc or sfg

...

passed on

crs

coordinate reference system; object of class crs

endian

integer; 0 or 1: defaults to the endian of the native machine

oriented

logical; if FALSE, polygons that cover more than half of the globe are inverted; if TRUE, no reversal takes place and it is assumed that the inside of the polygon is to the left of the polygon's path.

Value

sf_use_s2 returns the value of this variable before (re)setting it, invisibly if use_s2 is not missing.

Details

st_as_s2 converts an sf POLYGON object into a form readable by s2.

Examples

m = rbind(c(-1,-1), c(1,-1), c(1,1), c(-1,1), c(-1,-1)) m1 = rbind(c(-1,-1), c(1,-1), c(1,1), c(-1,1), c(-1,0), c(-1,-1)) m0 = m[5:1,] mp = st_multipolygon(list( list(m, 0.8 * m0, 0.01 * m1 + 0.9), list(0.7* m, 0.6*m0), list(0.5 * m0), list(m+2), list(m+4,(.9*m0)+4) )) sf = st_sfc(mp, mp, crs = 'EPSG:4326') s2 = st_as_s2(sf)