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.