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 pgeometry object of any type.

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 TRUE.

rside_closed

A Boolean value indicating whether the right side is closed or not. The default value is TRUE.

alpha

A numeric value. For spa_alpha_cut(), it must be in [0, 1]. For spa_strict_alpha_cut(), it must be in ]0, 1].

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:

Value

An sfg object that represents the geometric union of the components extracted after applying the specific filter condition.

References

Carniel, A. C.; VenĂ¢ncio, P. V. A. B; Schneider, M. fsr: An R package for fuzzy spatial data handling. Transactions in GIS, vol. 27, no. 3, pp. 900-927, 2023.

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)

[Package fsr version 2.0.1 Index]