fsr_filter_operations {fsr} | R Documentation |
Return a crisp spatial object formed by geometric parts of a pgeometry
object
Description
These functions yield a crisp spatial object (as an sfg
object) formed by the geometric parts of the components of the pgeometry
given as input that satisfy a filter condition based on their membership degrees.
Usage
spa_range(pgo, lvalue, rvalue, lside_closed = TRUE, rside_closed = TRUE)
spa_alpha_cut(pgo, alpha)
spa_strict_alpha_cut(pgo, alpha)
Arguments
pgo |
A |
lvalue |
A numeric value denoting the left side of an interval in [0, 1]. |
rvalue |
A numeric value denoting the right side of an interval in [0, 1]. |
lside_closed |
A Boolean value indicating whether the left side is closed or not. The default value is |
rside_closed |
A Boolean value indicating whether the right side is closed or not. The default value is |
alpha |
A numeric value. For |
Details
Given a spatial plateau object as input, these functions return a crisp spatial object formed by the geometric parts of the components of the input that satisfy a filter condition based on their membership degrees. The filter condition of each function is detailed as follows:
-
spa_alpha_cut()
selects all components that have membership degrees greater than or equal to a given value in [0, 1] indicated by the parameteralpha
. -
spa_strict_alpha_cut()
picks a subset of components that have membership values greater than the parameteralpha
(a value in ]0, 1]). -
spa_range()
generalizes these two operations and allows one to pick all components that have membership degrees belonging to a given open or closed interval. The parameterslside_closed
andrside_closed
, respectively, determine whether the left and right side (parameterslvalue
andrvalue
) of the interval is open (FALSE
) or closed (TRUE
). For example, to represent the right open interval [0.5, 0.8[, the following parameter values should be given:lvalue = 0.5, rvalue = 0.8, lside_closed = TRUE, rside_closed = FALSE
.
Value
An sfg
object that represents the geometric union of the components extracted after applying the specific filter condition.
References
Examples
pcp1 <- create_component("POINT(0 0)", 0.3)
pcp2 <- create_component("MULTIPOINT((2 2), (2 4), (2 0))", 0.5)
pcp3 <- create_component("MULTIPOINT((1 1), (3 1), (1 3), (3 3))", 0.9)
pcp4 <- create_component("MULTIPOINT((1 2), (2 1), (3 2))", 1)
pcp5 <- create_component("MULTIPOINT((0 0.5), (2 3))", 0.7)
pcp6 <- create_component("MULTIPOINT((0 1), (3 3.5))", 0.85)
pcp7 <- create_component("MULTIPOINT((1 0), (4 2))", 0.4)
# Creating a plateau point object
ppoint <- create_pgeometry(list(pcp1, pcp2, pcp3, pcp4, pcp5), "PLATEAUPOINT")
ppoint
# Processing the alpha-cut, strict alpha-cut, and range
spa_alpha_cut(ppoint, 0.7)
spa_strict_alpha_cut(ppoint, 0.7)
spa_range(ppoint, 0.4, 0.8)