Published March 13, 2026 | Version v1

One-hundred seventy-one models of connectivity across Scotland

  • 1. ROR icon University of Southern Denmark
  • 2. EDMO icon University of Southern Denmark, Institute of Biology
  • 3. ROR icon Northern Arizona University
  • 4. EDMO icon University of Oxford Department of Zoology
  • 5. EDMO icon NatureScot (Edinburgh)

Description

 Scotland Landscape Connectivity: Stochastic Permeability Analysis
## Data and Code Archive — Ecological Informatics

**Title:** One-hundred seventy-one models of connectivity across Scotland: Influences of method, source points, dispersal threshold, and functional shape on connectivity predictions

**Authors:** Samuel A. Cushman, Zaneta Kaszta, Kerry Kilshaw, Roo Campbell, David W. Macdonald (Department of Biology, Southern Denmark University, Odense, Denmark; Wildlife Conservation Research Unit, University of Oxford, UK)

**Journal:** Ecological Informatics (2026)

**Data DOI (Zenodo):** https://doi.org/10.5281/zenodo.XXXXXXX

**Code repository (GitHub):** https://github.com/USERNAME/scotland_connect

**Data licence:** [Creative Commons Attribution 4.0 International (CC-BY 4.0)](https://creativecommons.org/licenses/by/4.0/)

**Code licence:** [MIT License](https://opensource.org/licenses/MIT)

---

## Study overview

This archive contains all data inputs, intermediate products, analysis scripts, and
outputs for the above manuscript. The study applies **stochastic permeability
analysis** to quantify landscape connectivity across Scotland using a resistance
surface derived from national habitat mapping. The central methodological question
is how strongly connectivity estimates depend on the spatial density of random
source points used to parameterise the stochastic random walks, tested across
**nine sample-density treatments** spanning more than two orders of magnitude
(1/1.56 km² to 400k points).

Stochastic permeability follows the framework of Cushman et al. (2010, 2013):
large numbers of random walks are launched from randomly placed source points
across the resistance surface; path density is accumulated cell-by-cell to
produce a permeability surface representing functional landscape connectivity
without requiring predefined source or destination patches.

---

## Archive structure

```
zenodo_deposit/
├── README.md                             This file
├── LICENSE_data.txt                      CC-BY 4.0
├── LICENSE_code.txt                      MIT
├── CITATION.cff                          Machine-readable citation
├── zenodo_metadata.json                  Zenodo deposit metadata (API / form)
├── manifest.csv                          Full file inventory with sizes and roles
│
├── data/
│   ├── 01_input/                         Resistance surface + sample point XY files
│   │   ├── resist1.rsg                     Landscape resistance surface (110 MB, RSG)
│   │   ├── pts100k.xy … pts1_56k.xy        Sample points at 7 standard densities
│   │   └── resist1_pts_390k.xy / _780k.xy  Additional subset point files
│   │
│   ├── 02_intermediate/                  Resistance values extracted at each point set
│   │   └── resist1_pts*.csv                One file per density treatment
│   │
│   ├── 03_outputs/                       Permeability rasters, path rasters, summary TIFs,
│   │   │                                   correlation matrices, statistical tables
│   │   ├── resist1_pts*.asc                Stochastic permeability surface per density (~165 MB each)
│   │   ├── paths_pts*.asc                  Path density surface per density (~91 MB each)
│   │   ├── meanR.tif / cvR.tif             Mean and CV of permeability across densities
│   │   ├── perm1_sum/7sum/17sum.tif        Cumulative permeability variants
│   │   ├── perm_meanR.tif / perm_cvR.tif   Replicate mean and CV permeability
│   │   ├── paths_meanR.tif / paths_cvR.tif Mean and CV of path density
│   │   ├── paths_meanRs.tif / paths_cvRs.tif Scaled path density surfaces
│   │   ├── paths6_25ps.tif / paths_390ps.tif / paths_50ps.tif  Selected density surfaces
│   │   ├── mean1.tif / mean2.tif / mean3.tif  Per-replicate-set means
│   │   ├── corr_matrix.csv                 Pairwise Pearson r between permeability surfaces
│   │   ├── corr_matrix_no_labels.csv       Numeric-only version
│   │   ├── corr_matrix_no_mean.csv         Excluding grand-mean surface
│   │   ├── corr_matrix_paths.csv           Pairwise Pearson r between path surfaces
│   │   ├── paths_corr_matrix.csv           Alternative path correlation layout
│   │   ├── dispd.csv                       Dispersal distance statistics per density
│   │   ├── shaped.csv                      Long-format data for modelling
│   │   ├── model_matrices.xlsx             Pearson / Kendall / RMSE comparison matrices
│   │   ├── time_tracking.xlsx              Computation time by step and density
│   │   ├── make_transformed_surface.xlsx   Resistance transformation workbook
│   │   ├── reclass1.csv … reclass5.csv     Habitat-to-resistance look-up tables
│   │   ├── resist1.rsg / .aux.xml          Resistance surface copy (for workflow provenance)
│   │   └── outputs.qgz                     QGIS 3.x project for visualisation
│   │
│   ├── 04_outputs_full/                  Full 400k-point analysis
│   │   ├── corr_matrix_full_no_labels.csv  Highest-density pairwise correlation matrix (346 kB)
│   │   ├── pcolor(corr_matrix_no_labels).txt  Pseudo-colour R script
│   │   └── pcolor_corr_matrix.jpg          Visualisation of full correlation matrix
│   │
│   └── 05_revision_working/              Large R workspace objects (peer review revision)
│       ├── stacked.RData                   Stacked permeability array, all densities (~8.0 GB)
│       └── mat.RData                       Pairwise matrix object (~3.8 GB)
│
└── code/                                 All analysis scripts (identical to GitHub repo)
    ├── 01_make_resistance_surface.R
    ├── 02_generate_random_sample_points.R
    ├── 03_run_stochastic_permeability.R
    ├── 04_process_permeability_outputs.R
    ├── 05_process_path_outputs.R
    ├── 06_make_full_stacked_correlation.R
    ├── 07_run_cluster_mantel.R
    ├── 08_make_stack_run_comparisons.R
    └── 09_statistics_on_stack.docx
```

---

## Reproducing the analysis

### Software

| Software | Version tested | Purpose |
|---|---|---|
| R | ≥ 4.2 | All statistical analyses and post-processing |
| UNICOR (or equivalent) | 2.x | Stochastic permeability path accumulation (Step 03) |
| QGIS | ≥ 3.22 | Visualisation (outputs.qgz) |

Required R packages: `terra`, `raster`, `vegan`, `ggplot2`, `data.table`, `dplyr`, `tidyr`, `corrplot`, `dendextend`.

```r
install.packages(c("terra","raster","vegan","ggplot2","data.table",
                   "dplyr","tidyr","corrplot","dendextend"))
```

### Workflow

| Step | Script | Inputs | Key outputs |
|---|---|---|---|
| 1 | 01_make_resistance_surface.R | Habitat raster, reclass*.csv | resist1.rsg |
| 2 | 02_generate_random_sample_points.R | resist1.rsg extent | pts*.xy |
| 3 | 03_run_stochastic_permeability.R | resist1.rsg, pts*.xy | resist1_pts*.asc, paths_pts*.asc |
| 4 | 04_process_permeability_outputs.R | resist1_pts*.asc | meanR.tif, cvR.tif, corr_matrix.csv |
| 5 | 05_process_path_outputs.R | paths_pts*.asc | paths_meanR.tif, paths_cvR.tif |
| 6 | 06_make_full_stacked_correlation.R | All *.asc | corr_matrix_full_no_labels.csv |
| 7 | 07_run_cluster_mantel.R | corr_matrix.csv | Cluster plots, Mantel r |
| 8 | 08_make_stack_run_comparisons.R | All *.asc | stacked.RData, mat.RData |
| 9 | 09_statistics_on_stack.docx | stacked.RData, mat.RData | Pearson/Kendall/RMSE tables |

Step 03 is computationally intensive: allow 2–12 hours per density treatment
depending on hardware. Steps 08–09 require ≥32 GB RAM to load stacked.RData.

---

## Spatial reference system

All spatial data use **British National Grid, EPSG:27700**.
No reprojection is needed to use files together.

---

## File format notes

| Extension | Format | Open with |
|---|---|---|
| `.rsg` | ESRI binary raster | ArcGIS, QGIS, `terra::rast()` |
| `.asc` | ESRI ASCII grid | Any GIS or `terra::rast()` |
| `.tif` | GeoTIFF | Any GIS or `terra::rast()` |
| `.xy` | Tab-delimited text (Easting, Northing) | R, Excel, any GIS |
| `.csv` | Comma-delimited | R, Excel |
| `.RData` | R binary workspace | `load("file.RData")` in R |
| `.qgz` | Compressed QGIS project | QGIS 3.x |
| `.xlsx` | Excel workbook | Excel, LibreOffice Calc |

---

## Large file notice

| File | Size | RAM required |
|---|---|---|
| stacked.RData | ~8.0 GB | ≥32 GB |
| mat.RData | ~3.8 GB | ≥16 GB |
| resist1_pts*.asc (each) | ~160–173 MB | — |
| paths_pts*.asc (each) | ~90–91 MB | — |

**Total archive: ~14.6 GB.** Zenodo supports files up to 50 GB per record.
If your account quota is exceeded, request an increase at
https://zenodo.org/help/faq before uploading.

---

## Citation

> Cushman S.A., Kaszta Z., Kilshaw K., Campbell R., Macdonald D.W. (2026). One-hundred seventy-one models of connectivity across Scotland: Influences of method, source points, dispersal threshold, and functional shape on connectivity predictions.
> *Ecological Informatics*. <https://doi.org/JOURNAL_DOI>
>
> Data archive: https://doi.org/10.5281/zenodo.XXXXXXX
> Code repository: https://github.com/USERNAME/scotland_connect

---

## Licences

**Data:** CC-BY 4.0. You are free to share and adapt the data for any purpose
provided you give appropriate credit. Full text: https://creativecommons.org/licenses/by/4.0/

**Code:** MIT License. See LICENSE_code.txt.

---

## Contact

Samuel A. Cushman, Zaneta Kaszta, Kerry Kilshaw, Roo Campbell, David W. Macdonald | cushman@biology.sdu.edu | Department of Biology, Southern Denmark University, Odense, Denmark; Wildlife Conservation Research Unit, University of Oxford, UK
ORCID: https://orcid.org/0000-0002-2742-065X

Files

code.zip

Files (22.7 GB)

Name Size
md5:276156cda29db2bb63b8227c5351acdb
2.2 kB Download
md5:4f082ccd7d1c6824b5293c8e7930eaf3
129.7 kB Preview Download
md5:ce928c740bcbd5e3f6e7761d27cfaac5
14.6 GB Preview Download
md5:9ef1fe20a602da49931c5bc0ec5d3bc4
1.0 kB Preview Download
md5:839ae9d137d585ab37e7dd3a39e401f5
1.2 kB Preview Download
md5:77e74b5979a59c87fa28b123377c509f
816 Bytes Preview Download
md5:53d884040c96766ba5f9fe78967c8ec9
24.7 kB Preview Download
md5:89f9dff1a387d074400e253642219fa8
10.2 kB Preview Download
md5:8614cf486bd2c7a06b509c1869e3ec59
110.4 MB Download
md5:ced8834ff234d0b495aeafb0ab997dc8
8.0 GB Download
md5:7c88d1e6f18f7f878f91512093fa5282
3.2 kB Preview Download

Additional details

Dates

Created
2026-03-13
archive