# Ops: S3 Ops Group Generic Functions for simple feature geometries In sf: Simple Features for R

## Description

S3 Ops Group Generic Functions for simple feature geometries

## Usage

 ```1 2 3 4 5``` ```## S3 method for class 'sfg' Ops(e1, e2) ## S3 method for class 'sfc' Ops(e1, e2) ```

## Arguments

 `e1` object of class `sfg` or `sfc` `e2` numeric, or object of class `sfg`; in case `e1` is of class `sfc` also an object of class `sfc` is allowed

## Details

in case `e2` is numeric, +, -, *, /,

If `e1` is of class `sfc`, and `e2` is a length 2 numeric, then it is considered a two-dimensional point (and if needed repeated as such) only for operations `+` and `-`, in other cases the individual numbers are repeated; see commented examples.

## Value

object of class `sfg`

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26``` ```st_point(c(1,2,3)) + 4 st_point(c(1,2,3)) * 3 + 4 m = matrix(0, 2, 2) diag(m) = c(1, 3) # affine: st_point(c(1,2)) * m + c(2,5) # world in 0-360 range: library(maps) w = st_as_sf(map('world', plot = FALSE, fill = TRUE)) w2 = (st_geometry(w) + c(360,90)) %% c(360) - c(0,90) w3 = st_wrap_dateline(st_set_crs(w2 - c(180,0), 4326)) + c(180,0) plot(st_set_crs(w3, 4326), axes = TRUE) (mp <- st_point(c(1,2)) + st_point(c(3,4))) # MULTIPOINT (1 2, 3 4) mp - st_point(c(3,4)) # POINT (1 2) opar = par(mfrow = c(2,2), mar = c(0, 0, 1, 0)) a = st_buffer(st_point(c(0,0)), 2) b = a + c(2, 0) p = function(m) { plot(c(a,b)); plot(eval(parse(text=m)), col=grey(.9), add = TRUE); title(m) } lapply(c('a | b', 'a / b', 'a & b', 'a %/% b'), p) par(opar) sfc = st_sfc(st_point(0:1), st_point(2:3)) sfc + c(2,3) # added to EACH geometry sfc * c(2,3) # first geometry multiplied by 2, second by 3 nc = st_transform(st_read(system.file("gpkg/nc.gpkg", package="sf")), 32119) # nc state plane, m b = st_buffer(st_centroid(st_union(nc)), units::set_units(50, km)) # shoot a hole in nc: plot(st_geometry(nc) / b, col = grey(.9)) ```

sf documentation built on July 24, 2019, 5:05 p.m.