% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/predict_oyster.R
\name{.top_introduction_sites}
\alias{.top_introduction_sites}
\title{Find top N spatially distinct introduction sites with patch radius}
\usage{
.top_introduction_sites(
  df,
  n = 5L,
  min_suitability = 0.4,
  min_spacing_deg = 0.002,
  patch_search_deg = 0.005,
  spatial_res = 4L
)
}
\arguments{
\item{df}{Scored dataframe from predict_oyster().}

\item{n}{Integer. Number of sites to return (default 5).}

\item{min_suitability}{Numeric. Minimum score to consider suitable [0,1].}

\item{min_spacing_deg}{Numeric. Minimum separation between selected sites
in decimal degrees (default 0.002 approx. 220 m). Prevents adjacent cells all
being reported as separate "sites".}

\item{patch_search_deg}{Numeric. Radius in degrees to count nearby suitable
cells when computing patch size (default 0.005 approx. 550 m).}

\item{spatial_res}{Integer. Survey grid resolution in decimal places (default 4).}
}
\value{
Dataframe of top sites, or NULL if none qualify.
}
\description{
Identifies the highest-scoring, spatially spread-out locations for oyster
introduction. Uses a greedy selection that prevents clustering -- once a site
is chosen, no other site within \code{min_spacing_deg} is considered, so the
result always represents distinct areas of the survey.

Patch radius is the equivalent circular radius of all suitable cells
(suitability >= \code{min_suitability}) within the search neighbourhood. This
gives a practical sense of how large the suitable area is around each site.
}
\keyword{internal}
