This function calculates inverse area targets for each conservation feature
within an sf dataframe, based on their areal coverage. The target is set
to be inversely proportional to the feature's area, ranging between a
specified minimum (target_min) and maximum (target_max).
Arguments
- df
An
sfdataframe containing the features (e.g., species distribution data) for which to calculate inverse area targets. Each column (excluding geometry) should represent a feature, and each row a Planning Unit.- target_min
A numeric value between 0 and 1 (inclusive) specifying the minimum target percentage. This will be the target for the most widespread feature.
- target_max
A numeric value between 0 and 1 (inclusive) specifying the maximum target percentage. This will be the target for the rarest feature.
Value
A tibble (data frame) with two columns: Species (or feature name)
and target (the calculated inverse area target for each feature).
Details
The inverse area target approach aims to assign higher conservation targets to features that have a smaller overall distribution or areal coverage within the study region. This can be particularly useful for prioritizing rare or range-restricted features.
The calculation proceeds as follows:
The area of a single Planning Unit is determined.
The total area of the study region is estimated by multiplying the number of Planning Units by the individual Planning Unit area.
For each feature (species), its total area across all Planning Units is calculated.
The target for each feature is then scaled between
target_minandtarget_maxsuch that features with smaller areas receive targets closer totarget_max, and features with larger areas receive targets closer totarget_min.
The input df is expected to be an sf object where columns (excluding
geometry) represent different features (e.g., species presence/absence) and
rows represent Planning Units.
Examples
if (FALSE) { # \dontrun{
# Assuming 'dat_species_prob' is an existing sf object in your package,
# representing species distribution in planning units.
# Calculate inverse area targets with a range from 30% to 80%.
targets_inverse_area <- dat_species_prob %>%
splnr_targets_byInverseArea(target_min = 0.3, target_max = 0.8)
print(targets_inverse_area)
# Example with a different target range (e.g., 20% to 70%)
targets_custom_range <- dat_species_prob %>%
splnr_targets_byInverseArea(target_min = 0.2, target_max = 0.7)
print(targets_custom_range)
} # }
