st_ellipse {nngeo} | 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 |
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 |
Value
Object of class sfc
(type "POLYGON"
) containing ellipse polygons
References
Based on StackOverflow answer by user fdetsch
:
https://stackoverflow.com/questions/35841685/add-an-ellipse-on-raster-plot-in-r
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)
[Package nngeo version 0.4.8 Index]