{
  "_id": "6a49f0a59a8f074f74205452",
  "Package": "sgsR",
  "Type": "Package",
  "Version": "1.5.0",
  "License": "GPL (>= 3)",
  "Title": "Structurally Guided Sampling",
  "Authors@R": "c(\nperson(given = \"Tristan RH\",\nfamily = \"Goodbody\",\nemail = \"goodbody.t@gmail.com\",\nrole = c(\"aut\", \"cre\", \"cph\"),\ncomment = c(ORCID = \"0000-0002-6894-7925\")),\nperson(given = \"Nicholas C\",\nfamily = \"Coops\",\nemail = \"nicholas.coops@ubc.ca\",\nrole = \"aut\",\ncomment = c(ORCID = \"0000-0002-0151-9037\")),\nperson(given = \"Martin\",\nfamily = \"Queinnec\",\nrole = \"aut\",\nemail = \"queinnec@mail.ubc.ca\",\ncomment = c(ORCID = \"0000-0002-2741-1032\"))\n)",
  "Description": "Structurally guided sampling (SGS) approaches for airborne\nlaser scanning (ALS; LIDAR). Primary functions provide means to\ngenerate data-driven stratifications & methods for allocating\nsamples. Intermediate functions for calculating and extracting\nimportant information about input covariates and samples are\nalso included. Processing outcomes are intended to help forest\nand environmental management practitioners better optimize\nfield sample placement as well as assess and augment existing\nsample networks in the context of data distributions and\nconditions. ALS data is the primary intended use case, however\nany rasterized remote sensing data can be used, enabling\ndata-driven stratifications and sampling approaches.",
  "URL": "https://github.com/tgoodbody/sgsR,\nhttps://tgoodbody.github.io/sgsR/",
  "BugReports": "https://github.com/tgoodbody/sgsR/issues",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "Config/testthat/parallel": "true",
  "Encoding": "UTF-8",
  "RoxygenNote": "7.3.2",
  "Language": "en-US",
  "Config/pak/sysreqs": "libabsl-dev cmake libgdal-dev gdal-bin libgeos-dev\nlibicu-dev libssl-dev libproj-dev libsqlite3-dev\nlibudunits2-dev",
  "Repository": "https://tgoodbody.r-universe.dev",
  "Date/Publication": "2025-06-18 16:59:40 UTC",
  "RemoteUrl": "https://github.com/tgoodbody/sgsr",
  "RemoteRef": "HEAD",
  "RemoteSha": "be8855e75e650f2763294692878a6f6613049532",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-06-13 08:47:16 UTC",
    "User": "root"
  },
  "Author": "Tristan RH Goodbody [aut, cre, cph] (ORCID:\n<https://orcid.org/0000-0002-6894-7925>),\nNicholas C Coops [aut] (ORCID: <https://orcid.org/0000-0002-0151-9037>),\nMartin Queinnec [aut] (ORCID: <https://orcid.org/0000-0002-2741-1032>)",
  "Maintainer": "Tristan RH Goodbody <goodbody.t@gmail.com>",
  "_user": "tgoodbody",
  "_type": "src",
  "_file": "sgsR_1.5.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/e4879a1198cc4b86d306f2ddf21177da18377e9f8a0137268616c1ff0463e16a",
  "_filesize": 15823422,
  "_sha256": "e4879a1198cc4b86d306f2ddf21177da18377e9f8a0137268616c1ff0463e16a",
  "_expires": "2026-10-13T05:50:27.000Z",
  "_created": "2026-06-13T08:47:16.000Z",
  "_published": "2026-07-05T05:50:29.513Z",
  "_jobs": [
    {
      "job": 85196857509,
      "time": 210,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7609248806"
    },
    {
      "job": 85196857537,
      "time": 211,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7609248863"
    },
    {
      "job": 85196857668,
      "time": 178,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7609241702"
    },
    {
      "job": 85196857459,
      "time": 188,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7609241901"
    },
    {
      "job": 85196857498,
      "time": 308,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7609223262"
    },
    {
      "job": 85196857489,
      "time": 138,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7609239499"
    },
    {
      "job": 85196857617,
      "time": 164,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7609242572"
    },
    {
      "job": 85196857598,
      "time": 179,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7609244393"
    },
    {
      "job": 85196857484,
      "time": 157,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7609242132"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/tgoodbody/actions/runs/27461937999",
  "_status": "success",
  "_upstream": "https://github.com/tgoodbody/sgsr",
  "_commit": {
    "id": "be8855e75e650f2763294692878a6f6613049532",
    "author": "Tristan Goodbody <60200460+tgoodbody@users.noreply.github.com>",
    "committer": "Tristan Goodbody <60200460+tgoodbody@users.noreply.github.com>",
    "message": "v1.5.0\n",
    "time": 1750265980
  },
  "_maintainer": {
    "name": "Tristan RH Goodbody",
    "email": "goodbody.t@gmail.com",
    "login": "tgoodbody",
    "twitter": "@GoodbodyT",
    "description": "",
    "uuid": 60200460,
    "orcid": "0000-0002-6894-7925"
  },
  "_distro": "noble",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.5.0",
      "role": "Depends"
    },
    {
      "package": "methods",
      "role": "Depends"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "sf",
      "role": "Imports"
    },
    {
      "package": "terra",
      "role": "Imports"
    },
    {
      "package": "tidyr",
      "role": "Imports"
    },
    {
      "package": "clhs",
      "role": "Imports"
    },
    {
      "package": "SamplingBigData",
      "role": "Imports"
    },
    {
      "package": "BalancedSampling",
      "role": "Imports"
    },
    {
      "package": "spatstat.geom",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "Rfast",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "doParallel",
      "role": "Suggests"
    },
    {
      "package": "doSNOW",
      "role": "Suggests"
    },
    {
      "package": "snow",
      "role": "Suggests"
    },
    {
      "package": "foreach",
      "role": "Suggests"
    },
    {
      "package": "entropy",
      "role": "Suggests"
    },
    {
      "package": "roxygen2",
      "role": "Suggests"
    },
    {
      "package": "covr",
      "role": "Suggests"
    },
    {
      "package": "RANN",
      "role": "Suggests"
    },
    {
      "package": "spelling",
      "role": "Suggests"
    }
  ],
  "_owner": "tgoodbody",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2025-25",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "v1.5.0",
      "date": "2025-06-18"
    }
  ],
  "_stars": 48,
  "_contributors": [
    {
      "user": "tgoodbody",
      "count": 566,
      "uuid": 60200460
    },
    {
      "user": "evadchoi",
      "count": 6,
      "uuid": 105460001
    },
    {
      "user": "jean-romain",
      "count": 4,
      "uuid": 3872279
    },
    {
      "user": "spono",
      "count": 4,
      "uuid": 14940295
    },
    {
      "user": "teunbrand",
      "count": 1,
      "uuid": 49372158
    },
    {
      "user": "rhijmans",
      "count": 1,
      "uuid": 11481397
    }
  ],
  "_userbio": {
    "uuid": 60200460,
    "type": "user",
    "name": "Tristan Goodbody"
  },
  "_downloads": {
    "count": 309,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/sgsR"
  },
  "_devurl": "https://github.com/tgoodbody/sgsr",
  "_pkgdown": "https://tgoodbody.github.io/sgsR/",
  "_searchresults": 46,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "extra/sgsR.html",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/tgoodbody/sgsr",
  "_realowner": "tgoodbody",
  "_cranurl": true,
  "_releases": [
    {
      "version": "1.0.0",
      "date": "2022-06-24"
    },
    {
      "version": "1.2.0",
      "date": "2022-08-07"
    },
    {
      "version": "1.3.1",
      "date": "2022-10-14"
    },
    {
      "version": "1.3.2",
      "date": "2022-11-19"
    },
    {
      "version": "1.3.3",
      "date": "2023-01-17"
    },
    {
      "version": "1.3.4",
      "date": "2023-01-28"
    },
    {
      "version": "1.4.0",
      "date": "2023-02-09"
    },
    {
      "version": "1.4.2",
      "date": "2023-03-10"
    },
    {
      "version": "1.4.4",
      "date": "2023-06-13"
    },
    {
      "version": "1.4.5",
      "date": "2024-03-03"
    },
    {
      "version": "1.5.0",
      "date": "2025-06-18"
    }
  ],
  "_exports": [
    "ahels_nSamp",
    "ahels_threshold",
    "allocate_equal",
    "allocate_existing",
    "allocate_existing_equal",
    "allocate_existing_manual",
    "allocate_existing_optim",
    "allocate_existing_prop",
    "allocate_force",
    "allocate_manual",
    "allocate_optim",
    "allocate_prop",
    "calculate_allocation",
    "calculate_coobs",
    "calculate_distance",
    "calculate_lhsOpt",
    "calculate_pcomp",
    "calculate_pop",
    "calculate_representation",
    "calculate_sampsize",
    "classPlot",
    "extract_metrics",
    "extract_strata",
    "mask_access",
    "mask_existing",
    "mat_cov",
    "mat_covNB",
    "mat_quant",
    "plot_scatter",
    "sample_ahels",
    "sample_balanced",
    "sample_clhs",
    "sample_existing",
    "sample_nc",
    "sample_srs",
    "sample_strat",
    "sample_sys_strat",
    "sample_systematic",
    "strat_breaks",
    "strat_kmeans",
    "strat_map",
    "strat_poly",
    "strat_quantiles",
    "strat_rule1",
    "strat_rule2"
  ],
  "_help": [
    {
      "page": "calculate_allocation",
      "title": "Sample allocation type and count",
      "concept": [
        "calculate functions"
      ],
      "topics": [
        "calculate_allocation"
      ]
    },
    {
      "page": "calculate_coobs",
      "title": "coobs algorithm sampling",
      "concept": [
        "calculate functions"
      ],
      "topics": [
        "calculate_coobs"
      ]
    },
    {
      "page": "calculate_distance",
      "title": "Distance to access layer",
      "concept": [
        "calculate functions"
      ],
      "topics": [
        "calculate_distance"
      ]
    },
    {
      "page": "calculate_lhsOpt",
      "title": "Analyze optimal Latin hypercube sample number",
      "concept": [
        "analyze functions"
      ],
      "topics": [
        "calculate_lhsOpt"
      ]
    },
    {
      "page": "calculate_pcomp",
      "title": "Raster principal components",
      "concept": [
        "calculate functions"
      ],
      "topics": [
        "calculate_pcomp"
      ]
    },
    {
      "page": "calculate_pop",
      "title": "Population descriptors",
      "concept": [
        "calculate functions"
      ],
      "topics": [
        "calculate_pop"
      ]
    },
    {
      "page": "calculate_representation",
      "title": "Compare sample representation within sraster strata",
      "concept": [
        "calculate functions"
      ],
      "topics": [
        "calculate_representation"
      ]
    },
    {
      "page": "calculate_sampsize",
      "title": "Sample size determination",
      "concept": [
        "calculate functions"
      ],
      "topics": [
        "calculate_sampsize"
      ]
    },
    {
      "page": "extract_metrics",
      "title": "Extract metrics",
      "concept": [
        "extract functions"
      ],
      "topics": [
        "extract_metrics"
      ]
    },
    {
      "page": "extract_strata",
      "title": "Extract strata",
      "concept": [
        "extract functions"
      ],
      "topics": [
        "extract_strata"
      ]
    },
    {
      "page": "sample_ahels",
      "title": "Adapted Hypercube Evaluation of a Legacy Sample (ahels)",
      "concept": [
        "sample functions"
      ],
      "topics": [
        "sample_ahels"
      ]
    },
    {
      "page": "sample_balanced",
      "title": "Balanced sampling",
      "concept": [
        "sample functions"
      ],
      "topics": [
        "sample_balanced"
      ]
    },
    {
      "page": "sample_clhs",
      "title": "Conditioned Latin Hypercube Sampling",
      "concept": [
        "sample functions"
      ],
      "topics": [
        "sample_clhs"
      ]
    },
    {
      "page": "sample_existing",
      "title": "Sample existing",
      "concept": [
        "sample functions"
      ],
      "topics": [
        "sample_existing"
      ]
    },
    {
      "page": "sample_nc",
      "title": "Nearest centroid (NC) sampling",
      "concept": [
        "sample functions"
      ],
      "topics": [
        "sample_nc"
      ]
    },
    {
      "page": "sample_srs",
      "title": "Simple random sampling",
      "concept": [
        "sample functions"
      ],
      "topics": [
        "sample_srs"
      ]
    },
    {
      "page": "sample_strat",
      "title": "Stratified sampling",
      "concept": [
        "sample functions"
      ],
      "topics": [
        "sample_strat"
      ]
    },
    {
      "page": "sample_sys_strat",
      "title": "Systematic stratified sampling",
      "concept": [
        "sample functions"
      ],
      "topics": [
        "sample_sys_strat"
      ]
    },
    {
      "page": "sample_systematic",
      "title": "Systematic sampling",
      "concept": [
        "sample functions"
      ],
      "topics": [
        "sample_systematic"
      ]
    },
    {
      "page": "strat_breaks",
      "title": "Breaks stratification",
      "concept": [
        "stratify functions"
      ],
      "topics": [
        "strat_breaks"
      ]
    },
    {
      "page": "strat_kmeans",
      "title": "k-means stratification",
      "concept": [
        "stratify functions"
      ],
      "topics": [
        "strat_kmeans"
      ]
    },
    {
      "page": "strat_map",
      "title": "Map a raster stack of a list of rasters",
      "concept": [
        "stratify functions"
      ],
      "topics": [
        "strat_map"
      ]
    },
    {
      "page": "strat_poly",
      "title": "Stratify using polygons",
      "concept": [
        "stratify functions"
      ],
      "topics": [
        "strat_poly"
      ]
    },
    {
      "page": "strat_quantiles",
      "title": "Quantiles stratification",
      "concept": [
        "stratify functions"
      ],
      "topics": [
        "strat_quantiles"
      ]
    }
  ],
  "_pkglogo": "https://github.com/tgoodbody/sgsr/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/tgoodbody/sgsr/raw/HEAD/README.md",
  "_rundeps": [
    "BalancedSampling",
    "class",
    "classInt",
    "clhs",
    "cli",
    "cluster",
    "cpp11",
    "DBI",
    "deldir",
    "dplyr",
    "e1071",
    "farver",
    "generics",
    "ggplot2",
    "glue",
    "gtable",
    "isoband",
    "KernSmooth",
    "labeling",
    "lattice",
    "lifecycle",
    "magrittr",
    "MASS",
    "Matrix",
    "pillar",
    "pkgconfig",
    "plyr",
    "polyclip",
    "proxy",
    "purrr",
    "R6",
    "raster",
    "RColorBrewer",
    "Rcpp",
    "RcppArmadillo",
    "reshape2",
    "rlang",
    "s2",
    "S7",
    "SamplingBigData",
    "scales",
    "sf",
    "sp",
    "spatstat.data",
    "spatstat.geom",
    "spatstat.univar",
    "spatstat.utils",
    "stringi",
    "stringr",
    "terra",
    "tibble",
    "tidyr",
    "tidyselect",
    "units",
    "utf8",
    "vctrs",
    "viridisLite",
    "withr",
    "wk"
  ],
  "_vignettes": [
    {
      "source": "calculating.Rmd",
      "filename": "calculating.html",
      "title": "Calculating",
      "engine": "knitr::rmarkdown",
      "headings": [
        "calculate_representation()",
        "calculate_distance",
        "calculate_pcomp",
        "calculate_sampsize",
        "calculate_allocation",
        "Proportional allocation",
        "Optimal Allocation",
        "Equal allocation",
        "Manual allocation",
        "Sample evaluation algorithms",
        "calculate_coobs",
        "Latin hypercube sampling evaluation algorithms",
        "calculate_pop",
        "calculate_lhsOpt"
      ],
      "created": "2022-01-27 18:53:14",
      "modified": "2023-06-09 23:59:35",
      "commits": 23
    },
    {
      "source": "sampling.Rmd",
      "filename": "sampling.html",
      "title": "Sampling",
      "engine": "knitr::rmarkdown",
      "headings": [
        "sample_srs",
        "sample_systematic",
        "sample_strat",
        "method = \"Queinnec\"",
        "method = \"random",
        "sample_sys_strat",
        "sample_nc",
        "sample_clhs",
        "sample_balanced",
        "sample_ahels",
        "sample_existing",
        "sample_existing(type = \"clhs\")",
        "sample_existing(type = \"balanced\")",
        "sample_existing(type = \"srs\")",
        "sample_existing(type = \"strat\")"
      ],
      "created": "2022-01-27 18:53:14",
      "modified": "2025-06-18 16:59:40",
      "commits": 27
    },
    {
      "source": "sgsR.Rmd",
      "filename": "sgsR.html",
      "title": "sgsR",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Algorithm structure",
        "strat_*",
        "sample_*",
        "calculate_* & extract_*",
        "Parameters",
        "mraster",
        "sraster",
        "access",
        "%>%"
      ],
      "created": "2022-01-27 18:53:14",
      "modified": "2023-02-08 18:03:07",
      "commits": 11
    },
    {
      "source": "stratification.Rmd",
      "filename": "stratification.html",
      "title": "Stratification",
      "engine": "knitr::rmarkdown",
      "headings": [
        "strat_kmeans",
        "strat_quantiles",
        "strat_breaks",
        "strat_poly",
        "strat_map"
      ],
      "created": "2022-01-27 18:53:14",
      "modified": "2023-02-08 18:03:07",
      "commits": 15
    }
  ],
  "_score": 7.343999069057161,
  "_indexed": true,
  "_nocasepkg": "sgsr",
  "_universes": [
    "tgoodbody"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.5.0",
      "date": "2026-06-13T08:49:59.000Z",
      "distro": "noble",
      "commit": "be8855e75e650f2763294692878a6f6613049532",
      "fileid": "https://r2.ropensci.org/5ff92f0ee8a9a5c6fb4c12a66d7add1be13d6494955ea1f0dad7ae7d8dbb2cf7",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tgoodbody/actions/runs/27461937999"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.5.0",
      "date": "2026-06-13T08:50:02.000Z",
      "distro": "noble",
      "commit": "be8855e75e650f2763294692878a6f6613049532",
      "fileid": "https://r2.ropensci.org/22ab46f89ec59a089daaa5c8279bfac6943979b45fff058d28cf780e7affef9c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tgoodbody/actions/runs/27461937999"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.5.0",
      "date": "2026-06-13T08:49:27.000Z",
      "commit": "be8855e75e650f2763294692878a6f6613049532",
      "fileid": "https://r2.ropensci.org/43f1c308565933203374b0cdb8a45c50d830b1479355476d3ed6f65cecdc07a9",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tgoodbody/actions/runs/27461937999"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "1.5.0",
      "date": "2026-06-13T08:49:20.000Z",
      "commit": "be8855e75e650f2763294692878a6f6613049532",
      "fileid": "https://r2.ropensci.org/86b6ed029fddf41ece6c25bcc98733d7f4cae8f71979a149650a46657c497787",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tgoodbody/actions/runs/27461937999"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.5.0",
      "date": "2026-06-13T08:49:56.000Z",
      "commit": "be8855e75e650f2763294692878a6f6613049532",
      "fileid": "https://r2.ropensci.org/b56b6a56e51c4fb746d67d4e2645245628073d7c234fb110df0abcccf7de6407",
      "status": "success",
      "buildurl": "https://github.com/r-universe/tgoodbody/actions/runs/27461937999"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.5.0",
      "date": "2026-06-13T08:48:49.000Z",
      "commit": "be8855e75e650f2763294692878a6f6613049532",
      "fileid": "https://r2.ropensci.org/0241f0323aaef559bf367ac5ab65a3ff919a51b20b66de5f72fac3e5dc9e2fb1",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tgoodbody/actions/runs/27461937999"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.5.0",
      "date": "2026-06-13T08:48:50.000Z",
      "commit": "be8855e75e650f2763294692878a6f6613049532",
      "fileid": "https://r2.ropensci.org/2b7d31792de22060de4219e5690eeb9dae2b44240cddf1b6584dc8bf395f9994",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tgoodbody/actions/runs/27461937999"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "1.5.0",
      "date": "2026-06-13T08:48:42.000Z",
      "commit": "be8855e75e650f2763294692878a6f6613049532",
      "fileid": "https://r2.ropensci.org/cbf6611f917343dafe29b990bc801290b24e8bbad2944a18130c4a85d8adeb7d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tgoodbody/actions/runs/27461937999"
    }
  ]
}