# st_ellipse: Calculate ellipse polygon In michaeldorman/nngeo: k-Nearest Neighbor Join for Spatial Data

 st_ellipse R Documentation

## Calculate ellipse polygon

### Description

The function calculates ellipse polygons, given centroid locations and sizing on the x and y axes.

### Usage

``````st_ellipse(pnt, ex, ey, res = 30)
``````

### Arguments

 `pnt` Object of class `sf` or `sfc` (type `"POINT"`) representing centroid locations `ex` Size along x-axis, in CRS units `ey` Size along y-axis, in CRS units `res` Number of points the ellipse polygon consists of (default `30`)

### Value

Object of class `sfc` (type `"POLYGON"`) containing ellipse polygons

### References

Based on StackOverflow answer by user `fdetsch`:

### Examples

``````# Sample data
dat = data.frame(
x = c(1, 1, -1, 3, 3),
y = c(0, -3, 2, -2, 0),
ex = c(0.5, 2, 2, 0.3, 0.6),
ey = c(0.5, 0.2, 1, 1, 0.3),
stringsAsFactors = FALSE
)
dat = st_as_sf(dat, coords = c("x", "y"))
dat

# Plot 1
plot(st_geometry(dat), graticule = TRUE, axes = TRUE, main = "Input")
text(st_coordinates(dat), as.character(1:nrow(dat)), pos = 2)

# Calculate ellipses
el = st_ellipse(pnt = dat, ex = dat\$ex, ey = dat\$ey)

# Plot 2
plot(el, graticule = TRUE, axes = TRUE, main = "Output")
plot(st_geometry(dat), pch = 3, add = TRUE)
text(st_coordinates(dat), as.character(1:nrow(dat)), pos = 2)
``````

michaeldorman/nngeo documentation built on Jan. 10, 2024, 9:19 p.m.