{
  "_id": "6a102eacacfb0bcc41c9464e",
  "Package": "terralink",
  "Title": "Connectivity Corridor Optimization for Raster and Vector Data",
  "Version": "1.8.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 habitat connectivity\ncorridor optimization for raster and vector workflows. Supports\nscenario-based planning with budget-constrained optimization,\noptional impassable areas, packaged parity fixtures, and\ncomparative before-and-after connectivity metrics. The package\nexposes structural, movement-oriented, and species-oriented\nstrategies in a reproducible workflow aligned with a companion\nGIS plugin while avoiding a desktop GIS dependency.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "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",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-12 21:39:44 UTC",
    "User": "root"
  },
  "Author": "Benjamin Bishop [aut, cre], SORUS Consulting LLC [fnd, cph]",
  "Maintainer": "Benjamin Bishop <benjamin.bishop@sorusconsultingllc.com>",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2026-05-12 20:13:51 UTC",
  "RemoteUrl": "https://github.com/cran/terralink",
  "RemoteRef": "HEAD",
  "RemoteSha": "69ff41b31924448175a7f023bade29265e6a2bd2",
  "MD5sum": "fd19baf9b40599773433d1e2fa0260fb",
  "_user": "cran",
  "_type": "src",
  "_file": "terralink_1.8.0.tar.gz",
  "_fileid": "a448eb43a8244cca42441c29d2864cf6541c7e95375b76014cb60d99e8bdf517",
  "_filesize": 327859,
  "_sha256": "a448eb43a8244cca42441c29d2864cf6541c7e95375b76014cb60d99e8bdf517",
  "_created": "2026-05-12T21:39:44.000Z",
  "_published": "2026-05-22T10:23:40.811Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 77360985228,
      "time": 196,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "6956559837"
    },
    {
      "job": 77360985377,
      "time": 178,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6956554646"
    },
    {
      "job": 77360984456,
      "time": 210,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6956498210"
    },
    {
      "job": 77360984555,
      "time": 141,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7158262608"
    }
  ],
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/25763226664",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/cran/terralink",
  "_commit": {
    "id": "69ff41b31924448175a7f023bade29265e6a2bd2",
    "author": "Benjamin Bishop <benjamin.bishop@sorusconsultingllc.com>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 1.8.0\n",
    "time": 1778616831
  },
  "_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": "stars",
      "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": "cran",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-20",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "1.8.0",
      "date": "2026-05-12"
    }
  ],
  "_stars": 0,
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_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"
  ],
  "_cranurl": false,
  "_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/cran/terralink/raw/HEAD/README.md",
  "_rundeps": [
    "abind",
    "class",
    "classInt",
    "cli",
    "cpp11",
    "DBI",
    "e1071",
    "glue",
    "igraph",
    "KernSmooth",
    "lattice",
    "lifecycle",
    "magrittr",
    "MASS",
    "Matrix",
    "pkgconfig",
    "proxy",
    "R6",
    "Rcpp",
    "rlang",
    "s2",
    "sf",
    "stars",
    "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-05-12 20:13:51",
      "modified": "2026-05-12 20:13:51",
      "commits": 1
    }
  ],
  "_score": 2.6989700043360187,
  "_indexed": true,
  "_nocasepkg": "terralink",
  "_universes": [
    "cran",
    "sorus-tools"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.8.0",
      "date": "2026-05-12T21:42:27.000Z",
      "distro": "noble",
      "commit": "69ff41b31924448175a7f023bade29265e6a2bd2",
      "fileid": "0f7c49ee7e4db63e6eef83c81dc9535744e1cca5a41537e3e6092899089b13de",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/25763226664"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.8.0",
      "date": "2026-05-12T21:42:10.000Z",
      "distro": "noble",
      "commit": "69ff41b31924448175a7f023bade29265e6a2bd2",
      "fileid": "f5b85bddf8da9a36ce71055fe428abbd2e27f526fc29ba67d8ff5c4c8cf3718f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/25763226664"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.8.0",
      "date": "2026-05-22T10:23:24.000Z",
      "commit": "69ff41b31924448175a7f023bade29265e6a2bd2",
      "fileid": "c629dcefc7fbfd86ec2f5ee1ec71f051094f4ca3a9358cf9860623cdf653ca10",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/25763226664"
    }
  ]
}