Skip to contents

spdgt.sight 0.2.1

  • sight_split_wave() and sight_add_wave() name the design’s strata when weights names one that is not in it, and say how to fix it. They said only that the stratum was not in the design, which left the reader to find the ids themselves.

spdgt.sight 0.2.0

  • sight_sample_season_id() (and sight_sample_season(), by name) draws a season’s sample once, for surveying in waves: n base units per stratum and a reserve of backups, ranked in the order they are to be used. The base is wave 1; sight_add_wave() takes each later wave from the reserve in rank order, so nothing is redrawn and base plus any number of waves is still a valid sample – simple random with method = "random", spatially balanced with method = "grts". Pass the output of sight_optimize_design_id() as the sizes; weight one species more heavily by giving its strata a larger n. Set the sizes before the season: with GRTS, changing n or the reserve is a different draw.
  • sight_plan_effort() turns a budget and flying assumptions – minutes per transect, hourly rate, aircraft, hours a day, days a wave – into the transects affordable, those a wave covers, the pilot, and each wave’s cost. The defaults are a $500,000 budget and AHFB’s EC120 (gimbal) planning figures.
  • sight_split_wave() splits a wave’s total across strata in proportion to stratum size times a weight, so every wave is a small stratified sample of the whole area and a weighted stratum (a species’ range) gets more of every wave. sight_add_wave() accepts total and weights in place of per-stratum n.
  • With no reserve, the API ranks the whole frame for "random" and reserves the base size again for "grts". Size a GRTS reserve to the most the season could fly: spsurvey picks base and reserve together, so the larger the reserve, the further the base alone is from equal probability. Inclusion probabilities are exact for random and approximate for GRTS.
  • sight_season_summary() reports, per stratum, what has been taken, what is left in reserve, each unit’s inclusion probability (taken / N) and its expansion weight.
  • Sizes are rounded to whole units. A stratum whose size rounds to 0 is left out of the season for good, so it now warns. A wave that would add nothing says so and is not counted.
  • sight_check_season() draws the season again with its own seed and reports whether it still reproduces, and if not whether the frame or the sampler changed. It names the package, spsurvey and R versions the season was drawn with and checked against. Keep the season object with saveRDS(); its seed is what reproduces it.

spdgt.sight 0.1.3

  • Callers in the Canadian region (SPDGT_REGION=ca) now reach the Canadian sightability API. Until now every region was sent to the US service, where a Canadian sign-in is checked against the US counts server. With SPDGT_REGION=ca on an earlier version, model fits and sampling went to the US deployment rather than the Canadian one, so re-run any results you kept.
  • Requires spdgt.auth 2.0.1 or later, the first release that accepts an address per region.

spdgt.sight 0.1.2

  • Lowers Depends: R (>= 4.2.0) to (>= 4.1.0), the R this package actually needs. The 4.2 floor dates from the initial scaffold and was never a decision: the newest syntax here is the native pipe, which arrived in 4.1.0, and there is no _ placeholder anywhere (that is what would require 4.2.0, and is why spdgt.sight.admin genuinely sits there). No dependency imposes a higher floor either.
  • Depends: R states what a consumer needs. What this is built and tested on is Config/spdgt/r-minor: 4.5; the two answer different questions and neither should be used to express the other.

spdgt.sight 0.1.1

  • No longer registers the counts API. spdgt.auth registers it in its own .onLoad with both regional addresses, and re-registering it here with the single US URL did not no-op as intended – the addresses differ, so spdgt.auth 2.x warned on every load and kept its own.
  • sightability now declares c(all = ...) rather than a bare URL. spdgt.auth 2.0.0 stopped special-casing hostnames it could not derive an address for, naming *.run.app explicitly, and a bare URL resolved only to us – so a caller in the ca region would have silently reached the US API.
  • DESCRIPTION declares Config/spdgt/r-minor: 4.5, which the build gate asks for and will require from 2026-11-05.

spdgt.sight 0.1.0

spdgt.sight 0.0.6

  • Adopts the three-part MAJOR.MINOR.PATCH version scheme; the fourth component is now reserved for unreleased development versions (.9000).
  • public/ held a 16-file Font Awesome bundle from an unrelated project and has been removed, so the built package no longer carries it.
  • malware-scan.sh is in .Rbuildignore, so R CMD check no longer reports it as an unrecognised top-level file.

spdgt.sight 0.0.5.4

  • BugReports now points at https://support.spdgt.com rather than the GitHub issue tracker, which customers cannot reach — the repository is private.

spdgt.sight 0.0.5.3

  • sight_plan_id() posts a survey design to the /plan API endpoint. method = "distance" is now supported, forwarding distance-sampling parameters (density, width_m, sides, mean_group_size, b, k, group_cv, area_km2); design and variance are no longer required and are omitted from the request body when unset, since they apply to the stratified method only.

spdgt.sight 0.0.5.2

  • sight_read_design_recaps() and sight_read_design_recaps_id() retrieve design recaps aggregated by analysis unit from the /aerial-surveys/designs/analysis-unit-recaps endpoint. Returns one row per DAU x survey type x bio year with subunit counts (all_subunits, stratified_subunits, selected_subunits, surveyed_subunits).

spdgt.sight 0.0.5.1

  • sight_optimize_design() and sight_optimize_design_id() gain confidence (default 0.90) and design_overrides parameters, forwarded to the sightability API /optimize endpoint. The response tibble now includes variance decomposition columns (samp_var, sight_var, mod_var, total_var, error_bound, confidence) when the API returns them (#XX).

spdgt.sight 0.0.5.0

  • Breaking: All functions renamed to follow sight_{verb}_{resource}() convention for consistent IDE auto-complete. No deprecated aliases — update all call sites. Verb groups: sight_read_* (data access), sight_fit_* (model fitting), sight_prep_* (data preparation), sight_optimize_* (survey design), sight_sample_* (sampling), sight_calc_* (calculations). See rename-plan.md for the full mapping.

spdgt.sight 0.0.4.0

  • Breaking: sight_fit_id() and sight_data_prep_id() now return flat tibbles with context columns (species_id, bio_year, analysis_unit_id, spatial_focus, survey_type_id, model_id) in every row instead of nested list structures. This requires coordinated deployment with spdgt.sightability >= 0.0.4.3, which changed the underlying API response shape.
  • sight_entries(), sight_design(), and sight_design_entries() now have detailed @returns documentation listing all returned columns.

spdgt.sight 0.0.3.7

  • All API-calling functions now accept dry_run to print the HTTP request without sending it and ... to forward verbosity/timeout to spdgt.auth. Named variants forward these via ... to their _id counterpart.
  • Removed the api_call() error-wrapping layer; HTTP errors now surface directly from spdgt.auth/httr2 with the API’s own error messages.
  • sight_estimates() and sight_surveys() now expose pages as an explicit parameter instead of hardcoding it, preventing “formal argument matched by multiple actual arguments” errors when passing pages through ....

spdgt.sight 0.0.3.6

  • sight_estimates() now accepts a parameter argument (human-readable name) instead of parameter_id. The ID is resolved via lkup_ipm_param_id(). The parameter_id argument remains available on sight_estimates_id().
  • sight_model() removed the survey_type_id argument. Use species and survey_type (name-based) instead.
  • Re-exported lkup_ipm_param(), lkup_ipm_param_id(), and lkup_ipm_param_opts() from spdgt.core for convenient IPM parameter lookups.

spdgt.sight 0.0.3.5

  • Removed unused httr2 from Imports, eliminating an R CMD check NOTE.
  • sight_data_id() and sight_surveys_id() fixed bare column references that caused R CMD check NOTEs about undefined global variables.

spdgt.sight 0.0.3.4

  • sight_design_entries_id(), sight_design_id(), and sight_entries_id() now return properly-typed empty tibbles when the API returns zero results, completing the consistent empty-result handling across all GET functions.
  • Expanded test suite from 318 to 340 tests, adding coverage for sight_data_prep() and empty-result handling.

spdgt.sight 0.0.3.3

  • sight_betas_id(), sight_datasheet_columns_id(), sight_model(), sight_survey_cols_id(), and sight_vcov_id() now return properly-typed empty tibbles (with expected column names and types) when the API returns zero results, preventing downstream column-access errors.
  • sight_check_api() removed last use of <<- superassignment in build_results_().
  • Expanded test suite from 279 to 299 tests, improving code coverage from 84.5% to 92.2%.

spdgt.sight 0.0.3.2

  • Fixed sight_sample() debug vignette test which used a fabricated payload missing geometry and proportions, causing 500 errors. The vignette now fetches a real payload from the Counts API.

spdgt.sight 0.0.3.1

  • All API-calling functions now wrap errors with user-friendly messages that distinguish authentication failures, permission errors, missing resources, invalid requests, server errors, and network connectivity issues.
  • sight_check_api() redesigned to use clean helper functions instead of <<- superassignment, with the same user-facing behavior.
  • sight_data_id(), sight_data_prep_id(), sight_diagnostics_id(), sight_fit_id(), sight_optimize_id(), sight_summary_id(), and sight_wong_id() now validate that required parameters are not NULL, producing clear error messages instead of cryptic downstream failures.
  • Added GitHub Actions CI workflow (R-CMD-check.yaml) with coverage reporting.
  • Expanded test suite from 168 to 277 tests, covering all previously untested functions including sight_entries, sight_design, sight_betas, sight_vcov, sight_wong, sight_summary, sight_diagnostics, sight_datasheet_columns, sight_check_api, and the new api_call() / check_required() helpers.

spdgt.sight 0.0.3.0

  • Fixed sight_sample() which was passing a parameters argument to api_post() that isn’t supported. The sampling method is now included in the request body so Plumber can extract it correctly.

spdgt.sight 0.0.2.9

  • Fixed phantom NA groups when estimating by GMU. The design table lacks management_unit_id, so the full join of entries and design left design-only rows with NA. Now backfills management_unit_id from the subunit lookup after the join in both sight_data() and sight_data_id().

spdgt.sight 0.0.2.8

  • Fixed vignette function names — replaced all obsolete sight_read_* calls with current names (sight_surveys, sight_entries, sight_design, etc.).
  • Fixed sight_sample() call signature in debug vignette.
  • Fixed reading-survey-data vignette to use sight_surveys() for summaries and corrected column name from "total_count" to "total".

spdgt.sight 0.0.2.7

  • Fixed stratum filter bug: sight_entries() was using ids$stratum_id instead of ids$strata_id, causing the stratum filter to be silently ignored when using the name-based wrapper.
  • Fixed sight_betas() to forward the id parameter to sight_betas_id() (was silently dropped).
  • Clarified sight_fit() documentation to distinguish name-based vs ID-based variant parameters.

spdgt.sight 0.0.2.6

  • Added sight_estimates() / sight_estimates_id() for retrieving IPM estimates with parameter and model name joins from the lookup cache.
  • Added sight_datasheet_columns() / sight_datasheet_columns_id() for retrieving datasheet column definitions.

spdgt.sight 0.0.2.5

  • Exposed all valid includes for sight_model(): covarBins, covarCategories, betaVars, countCategories, covarBetas, and aerialSurveys, matching the API’s ModelController supported includes.

spdgt.sight 0.0.2.3

  • Bumped version with minor internal changes.

spdgt.sight 0.0.2.2

  • sight_surveys_id() now returns a properly-typed empty tibble when the API returns no results, preventing a downstream dplyr::distinct() crash.
  • sight_surveys() now delegates compact handling to sight_surveys_id().

spdgt.sight 0.0.2.1

  • Added sight_wong() / sight_wong_id() client for the /fit/wong endpoint.
  • Added parse_summary_response_() internal helper for tidy summary/diagnostics output.
  • Added compact parameter to sight_surveys().

spdgt.sight 0.0.2.0

  • Breaking: Renamed all data access functions from sight_read_* to sight_* (e.g., sight_read_betas -> sight_betas, sight_read_data -> sight_data).
  • Removed sight_read_summary() (replaced by sight_surveys()).
  • Added sight_surveys() / sight_surveys_id() wrapping /aerial-surveys/summaries.
  • Added sight_summary() / sight_summary_id() wrapping /fit/summary.
  • Added sight_diagnostics() / sight_diagnostics_id() wrapping /fit/diagnostics.
  • Removed magrittr dependency; package now uses the native R pipe |> exclusively (requires R >= 4.2.0).

spdgt.sight 0.0.1.4

  • Switched sightability API from development to Cloud Run production endpoint.

spdgt.sight 0.0.1.3

  • Added sight_stratum_sd() for calculating stratum-level standard deviations from historical entries for Neyman allocation.
  • Updated sight_optimize_id() to require species_id parameter.
  • Updated sight_sample() to accept the response from sight_payload().

spdgt.sight 0.0.1.0