RS-eco / IslBirds

Identifying global island bird species & island geographic distances

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

IslBirds: Identifying global island bird species & island geographic distances

BirdLife data

BirdLife data was obtained from the Birdlife DataZone under: http://datazone.birdlife.org/species/requestdis

eBird data

eBird raw data was obtained from: https://ebird.org/science/use-ebird-data

Island data

Island polygon data was obtained from Weigelt et al. 2013 and can be accessed through the ggmap2 package: https://github.com/RS-eco/ggmap2

Small (<= 5 km2) and large islands (> 5 km2) data can be accessed using the following code:

# Load island data remotes::install_github('RS-eco/ggmap2', build_vignettes =
# TRUE)
library(ggmap2)
library(dplyr)
library(sf)
data(largeislands, package = "ggmap2")
data(smallislands, package = "ggmap2")
islands <- bind_rows(largeislands, smallislands)
rm(largeislands, smallislands)
gc()
colnames(islands)

# Select certain islands by ulm_ID
islands %>%
    filter(ulm_ID %in% c(5224, 53611, 9827, 374)) %>%
    select(-geometry)

# Select island by English Name
islands %>%
    filter(NAME_ENGLI == "Cyprus") %>%
    select(-geometry)

Island bird species numbers (BirdLife)

The code for extracting the BirdLife species that occur on the world’s islands can be found under: “data-raw/02_birdlife_list_islands.R”

The BirdLife species lists can be load into R, using:

load("data/island_birds.rda")

and data for individual islands can be accessed by:

# Check number of island species
length(unique(island_birds$SCINAME))

# Extract info for certain islands by ulm_id
island_birds %>%
    filter(ulm_id %in% c(81061, 52224, 5224, 53611, 9827, 374)) %>%
    summarise(n_distinct(SCINAME))
# Christmas Island, Cyprus, French Southern Territories, La Reunion, Hawaii,
# Isla Hermite - Chile

# Extract number of bird species for Christmas island that cover more than 25 %
# of the island
island_birds %>%
    filter(ulm_id == 81061) %>%
    filter(perc_cover >= 25) %>%
    summarise(n_distinct(SCINAME))

# Extract number of bird species for Cyprus for different percentage coverage
# values
island_birds %>%
    filter(ulm_id == "52224") %>%
    summarise(n_distinct(SCINAME))
island_birds %>%
    filter(ulm_id == "52224") %>%
    filter(perc_cover >= 25) %>%
    summarise(n_distinct(SCINAME))
island_birds %>%
    filter(ulm_id == "52224") %>%
    filter(perc_cover >= 50) %>%
    summarise(n_distinct(SCINAME))

Island bird species numbers (eBird)

The code for extracting the eBird species that occur on the world’s large islands (> 1 ha) can be found under: “data-raw/05_ebird_list_largeislands.R”

And the eBird species lists can be load into R, using:

load("data/ebd_largeislands.rda")

Island geographic distances

Explanation of island distance variables

ulm_ID = ulm_ID of island as provided by GADM_islands_join_names_area_gmmc_dist.dbf

d_orig = distance to island as provided by GADM_islands_join_names_area_gmmc_dist.dbf

d_centroid = distance of island centroid to mainland based on points underlying GADM_mainlands_tiles_simple_100m.rda

d_centroid_rough = rough estimate of distance of island centroid to mainland based on points of a simplified mainland version (fortify(GADM_mainlands_tiles_simple_100m.rda))

d_coast = distance of island coordinates to mainland based on points underlying GADM_mainlands_tiles_simple_100m.rda

d_coast_rough = rough estimate of distance of island based on points underlying GADM_islands_join_names_area_gmmc_dist.dbf to mainland based on points of a simplified mainland version (fortify(GADM_mainlands_tiles_simple_100m.rda))

d_main = distance of island to mainland based on actual shapes/polygons of GADM_mainlands_tiles_simple_100m.rda and GADM_islands_join_names_area_gmmc_dist.dbf

d_main_rough = same as d_coast_rought (can be deleted!)

d_main_1ht = distance of island to mainland & islands larger than 1 hectare based on actual shapes/polygons of GADM_mainlands_tiles_simple_100m.rda and GADM_islands_join_names_area_gmmc_dist.dbf

d_main_1ht_rough = rough estimate of distance of island to mainland & islands larger than 1 hectare based on points underlying GADM_islands_join_names_area_gmmc_dist.dbf to mainland based on points of a simplified mainland version (fortify(GADM_mainlands_tiles_simple_100m.rda))

Load and access distance data

Island geographic distances were calculated using the R-code, located under: “data-raw/06_island_isolation.R”

load("data/dist_islands_df.rda")
load("data/islands_df.rda")
islands_df %>%
    filter(Island %in% c("Antipodes Island", "New Caledonia", "East Siberian Sea Islands",
        "Sardinia", "Ostrov Sakhalin", "Bathurst Island", "Sri Lanka"))

# Check Anitpodes islands
dist_islands_df %>%
    filter(ulm_ID == 4946)

Marine regions and IHO world seas

Marine regions were extracted from marine realms obtained from marineregions.org. The R-code for processing the data can be found under: “data-raw/07_marineregions.R” and can be loaded into R, using:

load("data/marineregions.rda")

library(ggplot2)
ggplot() + geom_sf(data = marineregions, aes(fill = as.factor(Realm2)), colour = NA) +
    scale_fill_manual(values = (ggsci::pal_d3("category20"))(8), name = "Realm",
        guide = guide_legend(nrow = 4)) + labs(x = "", y = "") + theme_minimal() +
    coord_sf(xlim = c(-180, 180), ylim = c(-86, 90), expand = FALSE, ndiscr = FALSE) +
    theme(legend.position = "bottom", axis.title.y = element_text(angle = 0, hjust = 0))

Major oceans were extracted from IHO World Seas also obtained from marineregions.org. The R-code for processing the data can be found under: “data-raw/08_iho_worldseas.R” and can be loaded into R, using:

load("data/world_seas.rda")

ggplot() + geom_sf(data = world_seas, aes(fill = Ocean), colour = NA) + labs(x = "",
    y = "") + theme_minimal() + coord_sf(xlim = c(-180, 180), ylim = c(-86, 90),
    ndiscr = FALSE, expand = FALSE) + theme(legend.position = "bottom", axis.title.y = element_text(angle = 0,
    hjust = 0))

Reading bird species MS Access database into R

The code for accessing bird species records stored in a MS Access database, can be found under: “data-raw/09_read_accdb.R”. Note: This code only works under Windows and requires the MS Access is installed.

About

Identifying global island bird species & island geographic distances

License:GNU General Public License v3.0


Languages

Language:R 100.0%