{
  "_id": "6a10263aacfb0bcc41c8f4c2",
  "Package": "terralink",
  "Title": "Connectivity Corridor Optimization for Raster and Vector Data",
  "Version": "1.7.0",
  "Authors@R": "c(\nperson(\ngiven = \"Benjamin\",\nfamily = \"Bishop\",\nemail = \"benjamin.bishop@sorusconsultingllc.com\",\nrole = c(\"aut\", \"cre\")\n),\nperson(\ngiven = \"SORUS Consulting LLC\",\nrole = c(\"fnd\", \"cph\")\n)\n)",
  "Description": "Standalone R implementation of TerraLink 1.7 habitat\nconnectivity corridor optimization for raster and vector\nworkflows. Supports scenario-based corridor planning with\nbudget-constrained optimization, optional impassable areas,\npackaged parity fixtures, and comparative PRE/POST connectivity\nmetrics. The package exposes TerraLink's structural,\nmovement-oriented, and species-oriented strategy set in a\nscriptable R workflow that stays aligned with the QGIS plugin\nwhile avoiding a desktop GIS dependency. Methods and\ninterpretation are informed by Gustafson (1998)\n<https://research.fs.usda.gov/treesearch/12046> and Kupfer\n(2012) <doi:10.1177/0309133312439594>.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.2",
  "URL": "https://github.com/sorus-tools/terralink-r",
  "BugReports": "https://github.com/sorus-tools/terralink-r/issues",
  "Config/testthat/edition": "3",
  "VignetteBuilder": "knitr",
  "Config/pak/sysreqs": "libabsl-dev cmake libgdal-dev gdal-bin libgeos-dev\nlibglpk-dev libxml2-dev libssl-dev libproj-dev libsqlite3-dev\nlibudunits2-dev",
  "Repository": "https://sorus-tools.r-universe.dev",
  "Date/Publication": "2026-03-17 22:59:54 UTC",
  "RemoteUrl": "https://github.com/sorus-tools/terralink-r",
  "RemoteRef": "HEAD",
  "RemoteSha": "40150e6f99f2ea61cf303cab628f54d4e70a1156",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-13 09:08:10 UTC",
    "User": "root"
  },
  "Author": "Benjamin Bishop [aut, cre],\nSORUS Consulting LLC [fnd, cph]",
  "Maintainer": "Benjamin Bishop <benjamin.bishop@sorusconsultingllc.com>",
  "MD5sum": "37eb5c5245966c440491d9c8d8b3ca07",
  "_user": "sorus-tools",
  "_type": "src",
  "_file": "terralink_1.7.0.tar.gz",
  "_fileid": "9c933c90504f6ab1cbcc9a737e7a7c54631412828329b04746f9b136f15acbd2",
  "_filesize": 313241,
  "_sha256": "9c933c90504f6ab1cbcc9a737e7a7c54631412828329b04746f9b136f15acbd2",
  "_created": "2026-05-13T09:08:10.000Z",
  "_published": "2026-05-22T09:47:38.012Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 77355601139,
      "time": 178,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "6966033848"
    },
    {
      "job": 77355601639,
      "time": 212,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6966046958"
    },
    {
      "job": 77355601114,
      "time": 196,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "6966026220"
    },
    {
      "job": 77355601125,
      "time": 319,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6966062861"
    },
    {
      "job": 77355601160,
      "time": 197,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6965965397"
    },
    {
      "job": 77355600459,
      "time": 127,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7157615373"
    },
    {
      "job": 77355601166,
      "time": 128,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "6966015246"
    },
    {
      "job": 77355601326,
      "time": 137,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "6966018121"
    },
    {
      "job": 77355601217,
      "time": 140,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6966018539"
    }
  ],
  "_buildurl": "https://github.com/r-universe/sorus-tools/actions/runs/25789369451",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/sorus-tools/terralink-r",
  "_commit": {
    "id": "40150e6f99f2ea61cf303cab628f54d4e70a1156",
    "author": "Ben Bishop <benjamin.james.bishop@gmail.com>",
    "committer": "Ben Bishop <benjamin.james.bishop@gmail.com>",
    "message": "Ignore Python cache artifacts in scripts\n",
    "time": 1773788394
  },
  "_maintainer": {
    "name": "Benjamin Bishop",
    "email": "benjamin.bishop@sorusconsultingllc.com"
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "cli",
      "role": "Imports"
    },
    {
      "package": "igraph",
      "role": "Imports"
    },
    {
      "package": "R6",
      "role": "Imports"
    },
    {
      "package": "sf",
      "role": "Imports"
    },
    {
      "package": "terra",
      "role": "Imports"
    },
    {
      "package": "gdistance",
      "role": "Suggests"
    },
    {
      "package": "ggplot2",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "lwgeom",
      "role": "Suggests"
    },
    {
      "package": "raster",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "sp",
      "role": "Suggests"
    },
    {
      "package": "shiny",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "sorus-tools",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-07",
      "n": 1
    },
    {
      "week": "2026-08",
      "n": 1
    },
    {
      "week": "2026-12",
      "n": 2
    }
  ],
  "_tags": [
    {
      "name": "v1.5.0",
      "date": "2026-02-13"
    },
    {
      "name": "v1.5.1",
      "date": "2026-02-17"
    },
    {
      "name": "v1.7.0",
      "date": "2026-03-17"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "benjbishop",
      "count": 4,
      "uuid": 42654190
    }
  ],
  "_userbio": {
    "uuid": 242071393,
    "type": "user",
    "name": "SORUS",
    "description": "SORUS creates tools for the restoration of Earth"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/terralink"
  },
  "_devurl": "https://github.com/sorus-tools/terralink-r",
  "_searchresults": 0,
  "_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/terralink.html",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/sorus-tools/terralink-r",
  "_realowner": "sorus-tools",
  "_cranurl": true,
  "_releases": [
    {
      "version": "1.8.0",
      "date": "2026-05-12"
    }
  ],
  "_exports": [
    "build_corridor_raster",
    "build_graph_from_corridors",
    "build_patch_candidates",
    "calculate_disturbance_penalty",
    "calculate_failure_probability",
    "calculate_movement_entropy",
    "calculate_topology_penalty",
    "calculate_total_entropy",
    "calculate_two_edge_connectivity",
    "label_patches",
    "NetworkOptimizer",
    "new_candidate",
    "new_patch",
    "optimize_largest_network",
    "optimize_network",
    "optimize_strategy",
    "patch_summary_from_labels",
    "raster_mask_from_values",
    "run_raster_analysis",
    "run_vector_analysis",
    "score_edge_for_loops",
    "select_circuit_utility",
    "terralink_engine",
    "terralink_examples",
    "terralink_raster",
    "terralink_run",
    "terralink_sample_data",
    "terralink_vector",
    "UnionFind",
    "write_terralink_raster_outputs",
    "write_terralink_vector_outputs"
  ],
  "_help": [
    {
      "page": "terralink-package",
      "title": "terralink: Connectivity Corridor Optimization",
      "topics": [
        "terralink-package",
        "terralink"
      ]
    },
    {
      "page": "build_contiguous_raster",
      "title": "Build contiguous network raster (patches + corridors)",
      "topics": [
        "build_contiguous_raster"
      ]
    },
    {
      "page": "build_corridor_raster",
      "title": "Create corridor raster from selected edges",
      "topics": [
        "build_corridor_raster"
      ]
    },
    {
      "page": "build_graph_from_corridors",
      "title": "Build an igraph graph from patch ids and corridor edges",
      "topics": [
        "build_graph_from_corridors"
      ]
    },
    {
      "page": "build_patch_candidates",
      "title": "Build candidate edges between patches (centroid distance)",
      "topics": [
        "build_patch_candidates"
      ]
    },
    {
      "page": "build_raster_candidates",
      "title": "Build raster candidates using shortest paths",
      "topics": [
        "build_raster_candidates"
      ]
    },
    {
      "page": "calculate_disturbance_penalty",
      "title": "Calculate disturbance penalty (diameter normalized)",
      "topics": [
        "calculate_disturbance_penalty"
      ]
    },
    {
      "page": "calculate_failure_probability",
      "title": "Estimate failure probability via edge removal",
      "topics": [
        "calculate_failure_probability"
      ]
    },
    {
      "page": "calculate_movement_entropy",
      "title": "Calculate movement entropy for a graph",
      "topics": [
        "calculate_movement_entropy"
      ]
    },
    {
      "page": "calculate_topology_penalty",
      "title": "Calculate topology penalty (cycle count)",
      "topics": [
        "calculate_topology_penalty"
      ]
    },
    {
      "page": "calculate_total_entropy",
      "title": "Calculate total entropy summary",
      "topics": [
        "calculate_total_entropy"
      ]
    },
    {
      "page": "calculate_two_edge_connectivity",
      "title": "Calculate the fraction of node pairs with two edge-disjoint paths",
      "topics": [
        "calculate_two_edge_connectivity"
      ]
    },
    {
      "page": "label_patches",
      "title": "Label contiguous habitat patches",
      "topics": [
        "label_patches"
      ]
    },
    {
      "page": "NetworkOptimizer",
      "title": "Network optimizer for corridor selection",
      "topics": [
        "NetworkOptimizer"
      ]
    },
    {
      "page": "new_candidate",
      "title": "Create a candidate corridor descriptor",
      "topics": [
        "new_candidate"
      ]
    },
    {
      "page": "new_patch",
      "title": "Create a patch descriptor",
      "topics": [
        "new_patch"
      ]
    },
    {
      "page": "optimize_largest_network",
      "title": "Optimize for largest connected network (MST backbone + loops)",
      "topics": [
        "optimize_largest_network"
      ]
    },
    {
      "page": "optimize_network",
      "title": "Optimize a network given nodes and candidate edges",
      "topics": [
        "optimize_network"
      ]
    },
    {
      "page": "optimize_strategy",
      "title": "Choose optimization strategy",
      "topics": [
        "optimize_strategy"
      ]
    },
    {
      "page": "patch_summary_from_labels",
      "title": "Summarize patch labels into a data frame",
      "topics": [
        "patch_summary_from_labels"
      ]
    },
    {
      "page": "raster_mask_from_values",
      "title": "Create a logical mask from raster values",
      "topics": [
        "raster_mask_from_values"
      ]
    },
    {
      "page": "run_raster_analysis",
      "title": "Run TerraLink raster workflow",
      "topics": [
        "run_raster_analysis"
      ]
    },
    {
      "page": "run_vector_analysis",
      "title": "Run TerraLink vector workflow",
      "topics": [
        "run_vector_analysis"
      ]
    },
    {
      "page": "score_edge_for_loops",
      "title": "Score a loop edge for shortcut value",
      "topics": [
        "score_edge_for_loops"
      ]
    },
    {
      "page": "select_circuit_utility",
      "title": "Select corridors for the \"Most Connectivity\" strategy",
      "topics": [
        "select_circuit_utility"
      ]
    },
    {
      "page": "terralink_engine",
      "title": "Run TerraLink optimization on abstract nodes and edges",
      "topics": [
        "terralink_engine"
      ]
    },
    {
      "page": "terralink_examples",
      "title": "Locate packaged TerraLink example scripts",
      "topics": [
        "terralink_examples"
      ]
    },
    {
      "page": "terralink_raster",
      "title": "Run TerraLink corridor analysis on raster data",
      "topics": [
        "terralink_raster"
      ]
    },
    {
      "page": "terralink_run",
      "title": "Run TerraLink with a single entry point",
      "topics": [
        "terralink_run"
      ]
    },
    {
      "page": "terralink_sample_data",
      "title": "Locate packaged TerraLink sample data files",
      "topics": [
        "terralink_sample_data"
      ]
    },
    {
      "page": "terralink_vector",
      "title": "Run TerraLink corridor analysis on vector patches",
      "topics": [
        "terralink_vector"
      ]
    },
    {
      "page": "UnionFind",
      "title": "Union-Find data structure",
      "topics": [
        "UnionFind"
      ]
    },
    {
      "page": "write_terralink_raster_outputs",
      "title": "Write raster outputs to disk",
      "topics": [
        "write_terralink_raster_outputs"
      ]
    },
    {
      "page": "write_terralink_vector_outputs",
      "title": "Write vector outputs to disk",
      "topics": [
        "write_terralink_vector_outputs"
      ]
    }
  ],
  "_readme": "https://github.com/sorus-tools/terralink-r/raw/HEAD/README.md",
  "_rundeps": [
    "class",
    "classInt",
    "cli",
    "cpp11",
    "DBI",
    "e1071",
    "glue",
    "igraph",
    "KernSmooth",
    "lattice",
    "lifecycle",
    "magrittr",
    "MASS",
    "Matrix",
    "pkgconfig",
    "proxy",
    "R6",
    "Rcpp",
    "rlang",
    "s2",
    "sf",
    "terra",
    "units",
    "vctrs",
    "wk"
  ],
  "_vignettes": [
    {
      "source": "terralink-intro.Rmd",
      "filename": "terralink-intro.html",
      "title": "TerraLink in R: Quickstart",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Overview",
        "Choosing a strategy",
        "Built-in sample data",
        "Raster workflow",
        "Vector workflow",
        "Barbados-style examples",
        "Obstacle-aware routing (optional)",
        "Understanding the result object",
        "Interpreting metrics",
        "Metric reference",
        "Which metrics match which strategy?",
        "Practical interpretation rules",
        "Comparing scenarios",
        "Parameter selection guide",
        "Budget",
        "Minimum corridor width",
        "Maximum search distance",
        "Minimum patch size",
        "Species dispersal distance",
        "Troubleshooting",
        "No corridors generated",
        "Only one patch found",
        "gdistance / obstacle errors",
        "Very large rasters",
        "Unexpected metric values",
        "Glossary"
      ],
      "created": "2026-02-13 01:26:40",
      "modified": "2026-03-17 22:59:24",
      "commits": 2
    }
  ],
  "_score": 4.176091259055681,
  "_indexed": true,
  "_nocasepkg": "terralink",
  "_universes": [
    "sorus-tools"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.7.0",
      "date": "2026-05-13T09:10:42.000Z",
      "distro": "noble",
      "commit": "40150e6f99f2ea61cf303cab628f54d4e70a1156",
      "fileid": "94180ec54195f8b79cebabca14ceed7c36718bc0b5679666c359763d319933f5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/sorus-tools/actions/runs/25789369451"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.7.0",
      "date": "2026-05-13T09:11:20.000Z",
      "distro": "noble",
      "commit": "40150e6f99f2ea61cf303cab628f54d4e70a1156",
      "fileid": "493765d1e063cc58866eedfbb142c6d3b2c84471c2f356072c80ec1581387156",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/sorus-tools/actions/runs/25789369451"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.7.0",
      "date": "2026-05-13T09:10:28.000Z",
      "commit": "40150e6f99f2ea61cf303cab628f54d4e70a1156",
      "fileid": "5757f5c1c84d1d5187abf9c8ca5e0c01028d253bdc17dbc2144ad48979d8c8ad",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/sorus-tools/actions/runs/25789369451"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "1.7.0",
      "date": "2026-05-13T09:11:42.000Z",
      "commit": "40150e6f99f2ea61cf303cab628f54d4e70a1156",
      "fileid": "925b4f54b18510429bed54bfc71ca0591c165ae4ae97d8a392266f1d8c60eb19",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/sorus-tools/actions/runs/25789369451"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.7.0",
      "date": "2026-05-13T09:09:33.000Z",
      "commit": "40150e6f99f2ea61cf303cab628f54d4e70a1156",
      "fileid": "54aa8c90b855d9d047e73975a95918bf7f9c6a4df2d1609526f6c8fd767b5e2c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/sorus-tools/actions/runs/25789369451"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.7.0",
      "date": "2026-05-13T09:09:53.000Z",
      "commit": "40150e6f99f2ea61cf303cab628f54d4e70a1156",
      "fileid": "5861582a0b24ff967e4ccc6261343167a6250ed3a6b6f9fe9f302f913b7abe46",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/sorus-tools/actions/runs/25789369451"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "1.7.0",
      "date": "2026-05-13T09:09:42.000Z",
      "commit": "40150e6f99f2ea61cf303cab628f54d4e70a1156",
      "fileid": "a18fb68e5d8e1df2b4a4cbd43cedfaf5c127161ee6c67188d8c5191649a835fc",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/sorus-tools/actions/runs/25789369451"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.7.0",
      "date": "2026-05-22T09:47:22.000Z",
      "commit": "40150e6f99f2ea61cf303cab628f54d4e70a1156",
      "fileid": "2ea9f8d1ebb6d32adf27b715d85ec989c4e6a0ba45b5c2f29f96c37ca6574a55",
      "status": "success",
      "buildurl": "https://github.com/r-universe/sorus-tools/actions/runs/25789369451"
    }
  ]
}