{
  "_id": "6ad4ac717774b2311ffeae20",
  "Package": "spanner",
  "Type": "Package",
  "Title": "Utilities to Support Lidar Applications at the Landscape,\nForest, and Tree Scale",
  "Version": "1.0.5",
  "Date": "2026-09-18",
  "Authors@R": "c(person(\"Andrew\", \"Sanchez Meador\", email = \"Andrew.SanchezMeador@nau.edu\", role = c(\"aut\", \"cre\", \"ctb\"), comment = c(ORCID = \"0000-0003-4238-8587\")),\nperson(\"Jonathon\", \"Donager\", email = \"Jonathon.Donager@gmail.com\", role = c(\"aut\", \"ctb\"), comment = c(ORCID = \"0000-0001-9448-1703\")),\nperson(\"Blackburn\", \"Ryan\", email = \"rcblackburn@cornell.edu\", role = c(\"aut\", \"ctb\"), comment = c(ORCID = \"0000-0002-2952-0865\")),\nperson(\"Cannon\", \"Jeffery\", email = \"Jeffery.Cannon@jonesctr.org\", role = c(\"ctb\"), comment = c(ORCID = \"0000-0002-8436-8712\")),\nperson(\"Tiago\", \"de Conto\", role = c(\"ctb\", \"cph\"), comment = \"Author of included TreeLS code\"),\nperson(\"Keith\", \"O'Hara\", role = c(\"ctb\", \"cph\"), comment = \"Author of included OptimLib code\"))",
  "Description": "Implements algorithms for terrestrial, mobile, and\nairborne lidar processing, tree detection, segmentation, and\nattribute estimation (Donager et al., 2021)\n<doi:10.3390/rs13122297>, and a hierarchical patch delineation\nalgorithm 'PatchMorph' (Girvetz & Greco, 2007)\n<doi:10.1007/s10980-007-9104-8>. Tree detection uses rasterized\npoint cloud metrics (relative neighborhood density and\nverticality) combined with RANSAC cylinder fitting to locate\ntree boles and estimate diameter at breast height. Tree\nsegmentation applies graph-theory approaches inspired by Tao et\nal. (2015) <doi:10.1016/j.isprsjprs.2015.08.007> with cylinder\nfitting methods from de Conto et al. (2017)\n<doi:10.1016/j.compag.2017.07.019>. PatchMorph delineates\nhabitat patches across spatial scales using organism-specific\nthresholds. Built on 'lidR' (Roussel et al., 2020)\n<doi:10.1016/j.rse.2020.112061>.",
  "URL": "https://github.com/bi0m3trics/spanner",
  "License": "GPL-3",
  "Encoding": "UTF-8",
  "RdMacros": "mathjaxr",
  "Config/testthat/edition": "3",
  "Config/roxygen2/version": "8.1.0",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-10-18 11:16:40 UTC",
    "User": "root"
  },
  "Author": "Andrew Sanchez Meador [aut, cre, ctb] (ORCID:\n<https://orcid.org/0000-0003-4238-8587>), Jonathon Donager\n[aut, ctb] (ORCID: <https://orcid.org/0000-0001-9448-1703>),\nBlackburn Ryan [aut, ctb] (ORCID:\n<https://orcid.org/0000-0002-2952-0865>), Cannon Jeffery [ctb]\n(ORCID: <https://orcid.org/0000-0002-8436-8712>), Tiago de\nConto [ctb, cph] (Author of included TreeLS code), Keith O'Hara\n[ctb, cph] (Author of included OptimLib code)",
  "Maintainer": "Andrew Sanchez Meador <Andrew.SanchezMeador@nau.edu>",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2026-09-18 16:35:14 UTC",
  "RemoteUrl": "https://github.com/cran/spanner",
  "RemoteRef": "HEAD",
  "RemoteSha": "97140116ac8664b4025f7ba45376fa0a1fdada2b",
  "_user": "cran",
  "_type": "src",
  "_file": "spanner_1.0.5.tar.gz",
  "_fileid": "https://r2.ropensci.org/4ebd032aecd571c0946369d1bf69121aad1e37100fb96c2e68f85a773a3a6ca2",
  "_filesize": 9235256,
  "_sha256": "4ebd032aecd571c0946369d1bf69121aad1e37100fb96c2e68f85a773a3a6ca2",
  "_expires": "2027-01-26T11:24:32.000Z",
  "_created": "2026-10-18T11:16:40.000Z",
  "_published": "2026-10-18T11:24:33.837Z",
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/39122292600",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_jobs": [
    {
      "job": 117661279328,
      "time": 232,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12134389596"
    },
    {
      "job": 117661279348,
      "time": 223,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12135285790"
    },
    {
      "job": 117661279369,
      "time": 267,
      "config": "linux-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12135117219"
    },
    {
      "job": 117661279274,
      "time": 200,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12134457749"
    },
    {
      "job": 117660240483,
      "time": 315,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12134738027"
    },
    {
      "job": 117661279278,
      "time": 193,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "12135256201"
    },
    {
      "job": 117661279310,
      "time": 372,
      "config": "windows-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12135147272"
    },
    {
      "job": 117661279327,
      "time": 212,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12135196576"
    },
    {
      "job": 117661279357,
      "time": 351,
      "config": "windows-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12134903171"
    },
    {
      "job": 117661279233,
      "time": 303,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12134972617"
    }
  ],
  "_upstream": "https://github.com/cran/spanner",
  "_commit": {
    "id": "97140116ac8664b4025f7ba45376fa0a1fdada2b",
    "author": "Andrew Sanchez Meador <Andrew.SanchezMeador@nau.edu>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 1.0.5\n",
    "time": 1789749314
  },
  "_maintainer": {
    "name": "Andrew Sanchez Meador",
    "email": "andrew.sanchezmeador@nau.edu",
    "login": "bi0m3trics",
    "twitter": "@bi0m3trics",
    "description": "Exec. Director of Ecological Restoration Institute and Professor in the School of Forestry at Northern Arizona University in Flagstaff, AZ",
    "uuid": 3956719,
    "orcid": "0000-0003-4238-8587"
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.0.0",
      "role": "Depends"
    },
    {
      "package": "lidR",
      "version": ">= 4.3.3",
      "role": "Depends"
    },
    {
      "package": "lidR",
      "version": ">= 4.3.3",
      "role": "LinkingTo"
    },
    {
      "package": "RcppArmadillo",
      "role": "LinkingTo"
    },
    {
      "package": "Rcpp",
      "version": ">= 1.0.13",
      "role": "LinkingTo"
    },
    {
      "package": "RcppEigen",
      "role": "LinkingTo"
    },
    {
      "package": "BH",
      "role": "LinkingTo"
    },
    {
      "package": "Rcpp",
      "version": ">= 1.0.13",
      "role": "Imports"
    },
    {
      "package": "conicfit",
      "role": "Imports"
    },
    {
      "package": "FNN",
      "role": "Imports"
    },
    {
      "package": "RANN",
      "role": "Imports"
    },
    {
      "package": "cppRouting",
      "role": "Imports"
    },
    {
      "package": "sf",
      "role": "Imports"
    },
    {
      "package": "terra",
      "role": "Imports"
    },
    {
      "package": "sfheaders",
      "role": "Imports"
    },
    {
      "package": "Rfast",
      "role": "Imports"
    },
    {
      "package": "geometry",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "mathjaxr",
      "role": "Imports"
    },
    {
      "package": "data.table",
      "role": "Imports"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "magick",
      "role": "Suggests"
    },
    {
      "package": "rgl",
      "role": "Suggests"
    },
    {
      "package": "rstac",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 1,
  "_updates": [
    {
      "week": "2026-06",
      "n": 1
    },
    {
      "week": "2026-13",
      "n": 1
    },
    {
      "week": "2026-14",
      "n": 1
    },
    {
      "week": "2026-38",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "1.0.2",
      "date": "2026-02-03"
    },
    {
      "name": "1.0.3",
      "date": "2026-03-26"
    },
    {
      "name": "1.0.4",
      "date": "2026-04-01"
    },
    {
      "name": "1.0.5",
      "date": "2026-09-18"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "bi0m3trics",
      "count": 4,
      "uuid": 3956719
    }
  ],
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "followers": 632,
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 482,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/spanner"
  },
  "_devurl": "https://github.com/bi0m3trics/spanner",
  "_searchresults": 2,
  "_topics": [
    "openblas",
    "cpp",
    "openmp"
  ],
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "extra/spanner.html"
  ],
  "_homeurl": "https://github.com/bi0m3trics/spanner",
  "_realowner": "bi0m3trics",
  "_cranurl": false,
  "_releases": [
    {
      "version": "1.0.2",
      "date": "2026-02-03"
    },
    {
      "version": "1.0.3",
      "date": "2026-03-26"
    },
    {
      "version": "1.0.4",
      "date": "2026-04-01"
    },
    {
      "version": "1.0.5",
      "date": "2026-09-18"
    }
  ],
  "_exports": [
    "colorize_las",
    "create_rotation_gif",
    "cylinderFit",
    "download_naip_for_las",
    "eigen_metrics",
    "get_raster_eigen_treelocs",
    "las2xyz",
    "merge_las_colors",
    "plot_raster_by_name",
    "process_rasters_patchmorph",
    "process_tree_data",
    "segment_graph",
    "spanner_pal",
    "sum_rasters_by_suitability"
  ],
  "_help": [
    {
      "page": "colorize_las",
      "title": "Colorize a LAS object using multiple methods",
      "topics": [
        "colorize_las"
      ]
    },
    {
      "page": "create_rotation_gif",
      "title": "Create animated GIF of rotating 3D point cloud",
      "topics": [
        "create_rotation_gif"
      ]
    },
    {
      "page": "cylinderFit",
      "title": "Point cloud cylinder fitting as per de Conto et al. 2017 as implemented here: https://github.com/tiagodc/TreeLS",
      "topics": [
        "cylinderFit"
      ]
    },
    {
      "page": "download_naip_for_las",
      "title": "Download NAIP Imagery for LiDAR Extent",
      "topics": [
        "download_naip_for_las"
      ]
    },
    {
      "page": "eigen_metrics",
      "title": "Calculates eigen decomposition metrics for fixed neighborhood point cloud data",
      "topics": [
        "eigen_metrics"
      ]
    },
    {
      "page": "get_raster_eigen_treelocs",
      "title": "Obtain tree information by rasterizing point cloud values of relative neighborhood density and verticality within a slice of a normalized point cloud",
      "topics": [
        "get_raster_eigen_treelocs"
      ]
    },
    {
      "page": "las2xyz",
      "title": "Convert LAS object to XYZ matrix",
      "topics": [
        "las2xyz"
      ]
    },
    {
      "page": "merge_las_colors",
      "title": "Merge RGB colors from two colorized LAS objects",
      "topics": [
        "merge_las_colors"
      ]
    },
    {
      "page": "plot_raster_by_name",
      "title": "Plot a raster by its name",
      "topics": [
        "plot_raster_by_name"
      ]
    },
    {
      "page": "process_rasters_patchmorph",
      "title": "Process rasters based on suitability, gap, and spur parameters",
      "topics": [
        "process_rasters_patchmorph"
      ]
    },
    {
      "page": "process_tree_data",
      "title": "Obtain tree information by processing point cloud data",
      "topics": [
        "process_tree_data"
      ]
    },
    {
      "page": "segment_graph",
      "title": "Segment a terrestrial point cloud using graph theory.",
      "topics": [
        "segment_graph"
      ]
    },
    {
      "page": "spanner_pal",
      "title": "Spanner color palette",
      "topics": [
        "spanner_pal"
      ]
    },
    {
      "page": "sum_rasters_by_suitability",
      "title": "Sum rasters by suitability level",
      "topics": [
        "sum_rasters_by_suitability"
      ]
    }
  ],
  "_pkglogo": "https://github.com/cran/spanner/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/cran/spanner/raw/HEAD/README.md",
  "_rundeps": [
    "abind",
    "base64enc",
    "BH",
    "bslib",
    "cachem",
    "class",
    "classInt",
    "cli",
    "conicfit",
    "cppRouting",
    "data.table",
    "DBI",
    "digest",
    "dplyr",
    "e1071",
    "evaluate",
    "fastmap",
    "FNN",
    "fontawesome",
    "fs",
    "geigen",
    "generics",
    "geometries",
    "geometry",
    "glue",
    "highr",
    "htmltools",
    "htmlwidgets",
    "jquerylib",
    "jsonlite",
    "KernSmooth",
    "knitr",
    "lazyeval",
    "lidR",
    "lifecycle",
    "linprog",
    "lpSolve",
    "magic",
    "magrittr",
    "mathjaxr",
    "memoise",
    "mime",
    "parallelly",
    "pillar",
    "pkgconfig",
    "pracma",
    "proxy",
    "R6",
    "RANN",
    "rappdirs",
    "Rcpp",
    "RcppArmadillo",
    "RcppEigen",
    "RcppParallel",
    "RcppProgress",
    "Rfast",
    "rgl",
    "rlang",
    "rlas",
    "rmarkdown",
    "s2",
    "sass",
    "sf",
    "sfheaders",
    "stars",
    "terra",
    "tibble",
    "tidyselect",
    "tinytex",
    "units",
    "utf8",
    "vctrs",
    "withr",
    "wk",
    "xfun",
    "yaml",
    "zigg"
  ],
  "_sysdeps": [
    {
      "shlib": "liblapack",
      "package": "libopenblas0-pthread",
      "source": "openblas",
      "version": "0.3.32+ds-5",
      "name": "openblas",
      "homepage": "https://www.openblas.net/",
      "description": "Optimized BLAS (linear algebra) library (shared lib, pthread)"
    },
    {
      "shlib": "libblas",
      "package": "libopenblas0-pthread",
      "source": "openblas",
      "version": "0.3.32+ds-5",
      "name": "openblas",
      "homepage": "https://www.openblas.net/",
      "description": "Optimized BLAS (linear algebra) library (shared lib, pthread)"
    },
    {
      "shlib": "libstdc++",
      "package": "libstdc++6",
      "source": "gcc",
      "version": "16-20260322-1ubuntu1",
      "name": "c++",
      "homepage": "http://gcc.gnu.org/",
      "description": "GNU Standard C++ Library v3"
    },
    {
      "shlib": "libgomp",
      "package": "libgomp1",
      "source": "gcc",
      "version": "16-20260322-1ubuntu1",
      "name": "openmp",
      "homepage": "http://gcc.gnu.org/",
      "description": "GCC OpenMP (GOMP) support library"
    }
  ],
  "_score": 2.7781512503836434,
  "_indexed": false,
  "_nocasepkg": "spanner",
  "_universes": [
    "cran"
  ],
  "_indexurl": "https://bi0m3trics.r-universe.dev/spanner",
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.0.5",
      "date": "2026-10-18T11:19:42.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "97140116ac8664b4025f7ba45376fa0a1fdada2b",
      "fileid": "https://r2.ropensci.org/eca5185497a17ccc7f41750d8fe7420edef1400ba0b43da6b9042238d9326954",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/39122292600"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.0.5",
      "date": "2026-10-18T11:19:56.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "97140116ac8664b4025f7ba45376fa0a1fdada2b",
      "fileid": "https://r2.ropensci.org/246d8152ef4bb405a25f6563b553c429da6e4a8bd3d165e4685d04d4a7feffae",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/39122292600"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "1.0.5",
      "date": "2026-10-18T11:20:24.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "97140116ac8664b4025f7ba45376fa0a1fdada2b",
      "fileid": "https://r2.ropensci.org/730826cd8194116eb23ca71d9fbdb161ae705911111684f5003df169bd8ebc3f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/39122292600"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "1.0.5",
      "date": "2026-10-18T11:19:45.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "97140116ac8664b4025f7ba45376fa0a1fdada2b",
      "fileid": "https://r2.ropensci.org/0cef5d54060460b1052ddd20765717b1be0b165273d1fd72f9876b07b8101978",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/39122292600"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.0.5",
      "date": "2026-10-18T11:20:44.000Z",
      "arch": "emscripten",
      "commit": "97140116ac8664b4025f7ba45376fa0a1fdada2b",
      "fileid": "https://r2.ropensci.org/526166160b28d572f7dd5a70dd96dcca85c3b6373cedb9bd284819904278f894",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/39122292600"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.0.5",
      "date": "2026-10-18T11:21:07.000Z",
      "arch": "aarch64",
      "commit": "97140116ac8664b4025f7ba45376fa0a1fdada2b",
      "fileid": "https://r2.ropensci.org/58fe1f5431dfacc2548d2c8ff7017a3c4c9aabcbc3897bc92d40e521e0cf3eea",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/39122292600"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.0.5",
      "date": "2026-10-18T11:19:01.000Z",
      "arch": "x86_64",
      "commit": "97140116ac8664b4025f7ba45376fa0a1fdada2b",
      "fileid": "https://r2.ropensci.org/f79cc685d1e24cba977daedd13dc17c5c9d9f5862a31f466d57461e681ef15f8",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/39122292600"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "1.0.5",
      "date": "2026-10-18T11:21:02.000Z",
      "arch": "aarch64",
      "commit": "97140116ac8664b4025f7ba45376fa0a1fdada2b",
      "fileid": "https://r2.ropensci.org/e1d7b3941491099f2987e1302bc29c614a153008dd34fea68861fcb8ab61167f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/39122292600"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "1.0.5",
      "date": "2026-10-18T11:19:28.000Z",
      "arch": "x86_64",
      "commit": "97140116ac8664b4025f7ba45376fa0a1fdada2b",
      "fileid": "https://r2.ropensci.org/72403e6e563903d731bdac868525ae7e66ca902237d103d2fc3211ef64911445",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/39122292600"
    }
  ]
}