Geometries can be ill-defined for several reasons, e.g. circles with a radius of zero, segments that start and end at the same location, etc. See details for a list of conditions that are considered degenerate.

Usage

is_degenerate(x)

Arguments

x

A geometry vector

A logical vector

Details

The following conditions are considered to produce degenerate geometries:

• A circle having a radius of zero

• An iso-rectangle with zero width or zero height

• An iso-cuboid with zero width, zero height, or zero depth

• A 2D line with the coefficients being zero

• A 3D line that is degenerated to a point

• A plane with the coefficients being zero

• A ray with the source and the second defining point being equal

• A segment with the source and target being equal

• A sphere with a radius of zero

• A tetrahedron with all vertices being co-planar

• A triangle with collinear vertices

Other Predicates: collinear(), constant_in, geometry_class, geometry_turns, has_intersection(), in_order(), location_predicates, parallel()

Examples

# A line without direction
l <- line(point(0, 5), vec(0, 0))
is_degenerate(l)
#> [1] TRUE