Analyse and visualise habitat connectivity in urban landscapes, accounting for barriers and buffer distances. Includes Shiny app for interactive analysis and report generation. Based on methods develo
翻译准备中
数据RGitHub @urbio-ecology在线运营者未确认
试用过了吗? 点一下就好,无需登录。
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Analyse and visualise habitat connectivity in urban landscapes, accounting for barriers and buffer distances.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗urbioconnect provides tools to quantify ecological connectivity for
different urban wildlife species based on:
An example of this is raster grid data on blue tongued-lizard habitat, raster grid data on road and buildings (barriers), and how far their roaming range is (say, 100 metres).
urbioconnect computes metrics for assessing the connectedness of these
habitat patches:
Note you can use vector (shapefile) or raster data for habitat and barrier formats.
This method is described in:
Kirk, H., Soanes, K., Amati, M., Bekessy, S., Harrison, L., Parris, K., Ramalho, C., van de Ree, R., & Threlfall, C. (2023). Ecological connectivity as a planning tool for the conservation of wildlife in cities. MethodsX, 10, 101989. https://doi.org/10.1016/j.mex.2022.101989
See the getting started vignette for more details.
We include a Shiny app for interactive analysis and report generation. You can launch the interactive Shiny app with:
library(urbioconnect)
run_connectivity_app()
A hosted version is available at: https://njtierney-urbioconnect.share.connect.posit.cloud/
You do not need the shiny app to perform analyses. All functions have been designed to work together in a pipeline - see example usage below.
Install from R-universe:
install.packages(
"urbioconnect",
repos = c("https://urbio-ecology.r-universe.dev", "https://cloud.r-project.org")
)
Or from GitHub:
# install.packages("pak")
pak::pak("urbio-ecology/urbioconnect")
library(urbioconnect)
library(terra)
#> terra 1.9.50
# load example habitat and barrier rasters
habitat <- example_habitat()
barrier <- example_barrier()
plot(habitat, col = "seagreen", legend = FALSE, main = "Lizard Habitat")
plot(barrier, col = c("grey", "white"), legend = FALSE, main = "Lizard Barriers")
plot(barrier, col = c("grey", "white"), legend = FALSE, main = "Lizard Barriers and Habitat")
plot(habitat, col = "seagreen", legend = FALSE, add = TRUE)
# run the full raster pipeline at a 10m interpatch distance
areas <- habitat_connectivity(
habitat = habitat,
barrier = barrier,
species = "Blue-tongued Lizard",
interpatch_distance = 10
)
#> ℹ Creating barrier mask
#> ✔ Creating barrier mask [40ms]
#>
#> ℹ Removing habitat underneath barrier
#> ✔ Removing habitat underneath barrier [19ms]
#>
#> ℹ Buffering habitat for an interpatch distance of 10m
#> Warning: `interpatch_distance` doesn't align with the raster resolution.
#> ✖ 10 m isn't a multiple of 4 m.
#> ℹ It snaps to 8 m.
#> ℹ Connectivity may shift for patches near the cut-off.
#> ℹ See `vignette(urbioconnect::interpatch-distance-and-resolution)`.
#> ✔ Buffering habitat for an interpatch distance of 10m [76ms]
#>
#> ℹ Fragmenting habitat layer along barrier intersection
#> ✔ Fragmenting habitat layer along barrier intersection [15ms]
#>
#> ℹ Assigning patches ID to fragments
#> ✔ Assigning patches ID to fragments [1.1s]
#>
#> ℹ Summarising area in each patch
#> ✔ Summarising area in each patch [116ms]
#>
areas
#> # A tibble: 1 × 9
#> species interpatch_distance n_patches effective_mesh_ha prob_connectedness
#> <chr> <dbl> <int> <dbl> <dbl>
#> 1 Blue-tongu… 10 703 3.92 0.149
#> # ℹ 4 more variables: patch_area_mean <dbl>, patch_area_total_ha <dbl>,
#> # data_resolution <chr>, patch_size <list>
areas already contains the landscape-level summary (effective mesh
size, probability of connectedness, patch counts, and so on). The
per-patch areas that summary is built from are stored in a list-column,
and can be pulled out with patch_sizes():
patch_sizes(areas)[[1]]
#> # patch_size_tbl: data.frame
#> # Species: Blue-tongued Lizard
#> # Patches: 703
#> # Resolution: 2x2
#> # Interpatch Distance: 10 m
#> patch_id area
#> <dbl> <dbl>
#> 1 1 60.0
#> 2 2 1648.
#> 3 7 12.0
#> 4 8 1200.
#> 5 10 92034.
#> # ℹ 698 more rows
See the vignette, “raster-vs-vector” for a side-by-side comparison and guidance on when to use raster or vector. We mostly recommend using raster.
We have an example pipeline using targets and geotarget, which
includes generating reports as output at
https://github.com/urbio-ecology/urbio-eco-targets. See the vignette
“Using urbioconnect in a targets
pipeline”
for more detail.
This research was conducted on the unceded lands of the Wurundjeri Woi Wurrung and Bunurong Boon Wurrung peoples of the Eastern Kulin Nation, and the unceded lands of nipaluna, lutruwita of the muwinina people. We would like to thank Kylie Soanes, Marco Amati, Sarah Bekessy, Lee Harrison, Kirsten Parris, Cristina Ramalho, Rodney van de Ree, and Caragh Threlfall for their work on the original paper this work is based upon. We would also like to thank Hugh Stanford, Nadine Gaskell, Kerryn Kneebone, and Nicholas Golding for their comments and insight during the development of the methods and software.