brute_force_thinning {GeoThinneR}R Documentation

Perform Brute Force Thinning

Description

This function applies a brute force algorithm to thin a set of spatial coordinates, attempting to maximize the number of points retained while ensuring a minimum distance ('thin_dist') between any two points.

Usage

brute_force_thinning(
  coordinates,
  thin_dist = 10,
  trials = 10,
  all_trials = FALSE,
  target_points = NULL,
  euclidean = FALSE,
  R = 6371
)

Arguments

coordinates

A numeric matrix or data frame with two columns representing longitude and latitude (or XY coordinates if 'euclidean = TRUE').

thin_dist

Numeric value representing the thinning distance in kilometers (default: 10 km).

trials

Integer specifying the number of trials to run for thinning (default: 10).

all_trials

Logical value indicating whether to return the results of all trials ('TRUE') or just the best attempt with the most points retained ('FALSE', default).

target_points

Optional integer specifying the number of points to retain. If 'NULL' (default), the function tries to maximize the number of points retained.

euclidean

Logical value indicating whether to compute the Euclidean distance ('TRUE') or Haversine distance ('FALSE', default).

R

Numeric value representing the Earth's radius in kilometers (default: 6371 km). Only used if 'euclidean = FALSE'.

Value

A logical vector indicating which points are kept in the best trial if 'all_trials = FALSE'; otherwise, a list of logical vectors for each trial.

Examples

# Example with geographic coordinates (Haversine distance)
coords <- data.frame(
  long = c(-122.4194, -122.4195, -122.4196),
  lat = c(37.7749, 37.7740, 37.7741)
)
coords <- as.matrix(coords)

result <- brute_force_thinning(coords, thin_dist = 0.1, trials = 5)
print(result)

# Example computing Euclidean distance
result_euclidean <- brute_force_thinning(coords, thin_dist = 1, trials = 5, euclidean = TRUE)
print(result_euclidean)

[Package GeoThinneR version 1.1.0 Index]