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)
use_s2 | logical; if |
---|---|
x | object of class |
... | passed on |
crs | coordinate reference system; object of class |
endian | integer; 0 or 1: defaults to the endian of the native machine |
oriented | logical; if |
sf_use_s2
returns the value of this variable before (re)setting it,
invisibly if use_s2
is not missing.
st_as_s2
converts an sf
POLYGON object into a form readable by s2
.
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)